public RemovableObjectLogicObject BuyRemovableObject(RemovableObjectType type, TilePosition position, int propsNo, ref bool isRewardProps) { RemovableObjectData data = new RemovableObjectData(); data.Position = position; data.RemovableObjectNo = ++this.m_RemovableObjectStartNo; data.RemovableObjectType = type; data.ConfigData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type); RemovableObjectLogicObject result = new RemovableObjectLogicObject(data); isRewardProps = result.GenerateRewardData(propsNo); this.m_ObjectDict.Add(data.RemovableObjectNo, result); result.RemoveTimeUp += ObjectRemoveTimeUp; BuyRemovableObjectRequestParameter request = new BuyRemovableObjectRequestParameter(); request.PositionColumn = data.Position.Column; request.PositionRow = data.Position.Row; request.RemovableObjectType = type; request.RewardExp = data.RewardExp; request.RewardGem = data.RewardGem; request.RewardPropsType = data.RewardPropsType; CommunicationUtility.Instance.BuyRemovableObject(request); return(result); }
public void OnRemoveObject(RemovableObjectType objectType) { foreach (Task task in this.m_TaskList) { if (task.Status == TaskStatus.Opened) { task.OnRemoveObject(objectType); } } }
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 RemovableObjectLogicData BuyRemovableObject(RemovableObjectType type, TilePosition position) { ProductRemovableObjectConfigData configData = ConfigInterface.Instance.ProductConfigHelper.GetProductRemovableObject(type); this.m_PlayerModule.Consume(0, 0, 0, configData.GemPrice); bool isReward = false; int propsNo = this.m_PropsModule.GetNextPropsNo(); RemovableObjectLogicData result = this.m_RemovableModule.BuyRemovableObject(type, position, propsNo, ref isReward).LogicData; if (!isReward) { this.m_PropsModule.ReversePropsNo(); } return(result); }
public virtual void OnRemoveObject(RemovableObjectType objectType) { bool isCompleted = true; foreach (Condition condition in m_ConditionList) { condition.OnRemoveObject(objectType); if (!condition.IsComplete) { isCompleted = false; } } if (isCompleted) { this.CompleteTask(); } }
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); }
public virtual void OnRemoveObject(RemovableObjectType objectType) { }
public override void OnRemoveObject(RemovableObjectType objectType) { this.CurrentValue++; this.IsComplete = (this.Progress >= this.m_Count); }