/// <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); } }