格子扩展
This commit is contained in:
@@ -120,7 +120,7 @@ public class GridSelector : MonoBehaviour
|
||||
inputbuffer.Release();
|
||||
}
|
||||
}
|
||||
private int GetIndexByXY(int x, int y) {
|
||||
public int GetIndexByXY(int x, int y) {
|
||||
int index = x + y * horizontalNumber;
|
||||
return index;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.VFX;
|
||||
using static GridSelector;
|
||||
|
||||
///<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>
|
||||
@@ -87,11 +88,35 @@ public class UICellInfo : MonoBehaviour
|
||||
/// </summary>
|
||||
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 height = int.Parse(txtCellCols.text);
|
||||
float cellW = int.Parse(txtCellWidth.text) / 100.0f;
|
||||
float cellH = int.Parse(txtCellHeight.text) / 100.0f;
|
||||
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();
|
||||
}
|
||||
public void Update()
|
||||
|
||||
Reference in New Issue
Block a user