格子扩展
This commit is contained in:
@@ -120,7 +120,7 @@ public class GridSelector : MonoBehaviour
|
|||||||
inputbuffer.Release();
|
inputbuffer.Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private int GetIndexByXY(int x, int y) {
|
public int GetIndexByXY(int x, int y) {
|
||||||
int index = x + y * horizontalNumber;
|
int index = x + y * horizontalNumber;
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using UnityEngine.VFX;
|
using UnityEngine.VFX;
|
||||||
|
using static GridSelector;
|
||||||
|
|
||||||
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ - <20><>ɫ<EFBFBD><C9AB>
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ - <20><>ɫ<EFBFBD><C9AB>
|
||||||
///<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
|
///<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
|
||||||
@@ -87,11 +88,35 @@ public class UICellInfo : MonoBehaviour
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void ReCalculateCell()
|
public void ReCalculateCell()
|
||||||
{
|
{
|
||||||
|
int oldhorizontalNumber = MapManager.Instance.map?.selector?.horizontalNumber ?? 0;
|
||||||
|
int oldverticalNumber = MapManager.Instance.map?.selector?.verticalNumber ?? 0;
|
||||||
|
var oldRendData = MapManager.Instance.map?.selector?.GetGridData();
|
||||||
int width = int.Parse(txtCellRows.text);
|
int width = int.Parse(txtCellRows.text);
|
||||||
int height = int.Parse(txtCellCols.text);
|
int height = int.Parse(txtCellCols.text);
|
||||||
float cellW = int.Parse(txtCellWidth.text) / 100.0f;
|
float cellW = int.Parse(txtCellWidth.text) / 100.0f;
|
||||||
float cellH = int.Parse(txtCellHeight.text) / 100.0f;
|
float cellH = int.Parse(txtCellHeight.text) / 100.0f;
|
||||||
MapManager.Instance.GenerateMap(MapManager.Instance._curOpenMapId,width * cellW, height * cellH, cellW, cellH);
|
MapManager.Instance.GenerateMap(MapManager.Instance._curOpenMapId,width * cellW, height * cellH, cellW, cellH);
|
||||||
|
var newRendData = MapManager.Instance.map?.selector?.GetGridData();
|
||||||
|
for (int i = 0; i < MapManager.Instance.map?.selector.horizontalNumber; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < MapManager.Instance.map?.selector.verticalNumber; j++)
|
||||||
|
{
|
||||||
|
if (i < oldhorizontalNumber && j < oldverticalNumber)
|
||||||
|
{
|
||||||
|
int oldindex = i + j * oldhorizontalNumber;
|
||||||
|
//ȡ<><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
int index = MapManager.Instance.map.selector.GetIndexByXY(i, j);
|
||||||
|
newRendData[index] = oldRendData[oldindex];
|
||||||
|
}
|
||||||
|
else {//<2F>¸<EFBFBD><C2B8><EFBFBD>
|
||||||
|
int index = MapManager.Instance.map.selector.GetIndexByXY(i, j);
|
||||||
|
newRendData[index] = new RenderData();
|
||||||
|
newRendData[index].barrier = (int)CellType.Obstacle;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MapManager.Instance.map.selector.RefreshPlaneRender();
|
||||||
ShowMapCellInfo();
|
ShowMapCellInfo();
|
||||||
}
|
}
|
||||||
public void Update()
|
public void Update()
|
||||||
|
|||||||
Reference in New Issue
Block a user