/// <summary> /// 清除cell資料 /// </summary> /// <param name="x"></param> /// <param name="z"></param> public void EraseCellData(int x, int z) { int id = MapUtility.CoordinateToId(x, z, MapDataCollection.MapSizeX); MapObject mapObject = MapObjectDataCollection.GetMapObjectById(id); if (mapObject != null) { MapObjectDataCollection.RemoveMapObject(id); } MapDataCollection.WriteCellData(id, UnitType.NONE, Vector3.one); }
/// <summary> /// 清除cell資料 /// </summary> /// <param name="assetCellData"></param> public void EraseCellData(AssetCellData assetCellData) { MapObject mapObject = assetCellData.MapObj; if (mapObject != null) { int xIndex = -1; int zIndex = -1; MapUtility.IdToCoordinate(mapObject.Id, MapSizeX, ref xIndex, ref zIndex); MapDataCollection.WriteCellData(xIndex, zIndex, assetCellData.Size, UnitType.NONE, assetCellData.ObjData.Height); MapObjectDataCollection.RemoveObjectData(mapObject.Id, assetCellData.ObjData); } }
/// <summary> /// 更新cell資料 /// </summary> /// <param name="prefabName"></param> /// <param name="x"></param> /// <param name="z"></param> /// <param name="height"></param> /// <param name="assetSize"></param> /// <param name="rotation"></param> /// <param name="unitType"></param> public void UpdateCellData(string prefabName, int x, int z, float height, Vector3 assetSize, Quaternion rotation, UnitType unitType) { if (MapDataCollection.CanBuildOnTheMap(x, z, height, assetSize)) { int id = MapUtility.CoordinateToId(x, z, MapDataCollection.MapSizeX); MapObject mapObject = MapObjectDataCollection.GetMapObjectById(id); if (mapObject == null) { mapObject = MapObjectDataCollection.AddMapObject(id); } MapObject.ObjectData o = MapObjectDataCollection.AddObjectData(id); o.PrefabName = prefabName; o.Height = height; o.Rotation = rotation; MapDataCollection.WriteCellData(x, z, assetSize, unitType, height); GameObject obj = DrawingMap.DrawMapObjectData(mapObject, o, CenterPosition, MapSizeX, MapSizeZ, x, z, mapObjectParent.transform); onCreateMapObject(obj); MapObjectDataCollection.RaiseFinishAddObjectData(o); } }