public void ConstructRemovableObject(RemovableObjectType type) { RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type); TilePosition centerPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position); TilePosition position = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList); if (position != null) { this.ConstructRemovableObject(type, position); } }
public void ConstructRemovableObject(RemovableObjectType type, TilePosition position) { RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type); string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME, ClientStringConstants.REMOVABLE_OBJECT_PREFAB_PREFIX_NAME, configData.PrefabName); GameObject objectPrefab = Resources.Load(prefabName) as GameObject; GameObject newObject = GameObject.Instantiate(objectPrefab) as GameObject; EditorRemovableObjectBehavior objectBehavior = newObject.AddComponent <EditorRemovableObjectBehavior>(); objectBehavior.Position = position; objectBehavior.RemovableObjectType = type; newObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position); newObject.transform.parent = this.m_SceneParent; this.PopulateMapData(position, configData.BuildingObstacleList, newObject); }
private void ConstructRemovableObject(BattleRemovableObjectParameter param) { RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(param.ObjectType); GameObject objectPrefab = Resources.Load(ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME + ClientStringConstants.REMOVABLE_OBJECT_PREFAB_PREFIX_NAME + configData.PrefabName) as GameObject; GameObject removableObject = GameObject.Instantiate(objectPrefab) as GameObject; removableObject.transform.position = PositionConvertor.GetWorldPositionFromBuildingTileIndex (new TilePosition(param.PositionColumn, param.PositionRow)); RemovableObjectPropertyBehavior property = removableObject.GetComponent <RemovableObjectPropertyBehavior>(); property.BuildingPosition = new TilePosition(param.PositionColumn, param.PositionRow); property.ObjectType = param.ObjectType; property.ActorObstacleList = new List <TilePosition>(); property.BuildingObstacleList = new List <TilePosition>(); foreach (TilePoint point in configData.ActorObstacleList) { property.ActorObstacleList.Add(point.ConvertToTilePosition()); } foreach (TilePoint point in configData.BuildingObstacleList) { property.BuildingObstacleList.Add(point.ConvertToTilePosition()); } removableObject.transform.parent = this.m_ParentNode; if (param.BuilderLevel.HasValue) { BattleObstacleUpgradingInfo info = new BattleObstacleUpgradingInfo() { AttachedBuilderLevel = param.BuilderLevel.Value, ObstacleProperty = property }; this.m_SceneHelper.AddUpgradingObstacle(info); } this.m_SceneHelper.ConstructRemovableObject(removableObject); }
private RemovableObjectData GenerateRemovableData(RemovableObjectParameter param) { RemovableObjectData removableData = new RemovableObjectData(); RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(param.RemovableObjectTypeID); if (param.PositionColumn.HasValue && param.PositionRow.HasValue) { removableData.Position = new TilePosition(param.PositionColumn.Value, param.PositionRow.Value); } removableData.ConfigData = configData; removableData.BuilderBuildingNO = param.BuilderBuildingNO; removableData.RemainingWorkload = param.RemainWorkload; removableData.RemovableObjectNo = param.RemovableObjectNo; removableData.RemovableObjectType = param.RemovableObjectTypeID; if (param.RewardExp.HasValue) { removableData.RewardExp = param.RewardExp.Value; removableData.RewardGem = param.RewardGem.Value; removableData.RewardProps = param.RewardProps; removableData.RewardPropsType = param.RewardPropsType; } return(removableData); }
public void DestroyRemovableObject(TilePosition position, RemovableObjectConfigData configData) { this.PopulateMapData(position, configData.BuildingObstacleList, null); }