bool ReadyForRemove() { if (this.RemovableObjectLogicData.EditorState == RemovableObjectEditorState.ReadyForComplete) { if (LogicController.Instance.AllProps.Count + (this.RemovableObjectLogicData.RewardProps.HasValue ? 1 : 0) > LogicController.Instance.PlayerData.PropsMaxCapacity) { UIErrorMessage.Instance.ErrorMessage(26); return(true); } RewardConfigData rewardConfigData = LogicController.Instance.FinishRemove(this.RemovableObjectLogicData.RemovableObjectNo); UIManager.Instance.HidePopuBtnByCurrentSelect(true); this.UnBuildObstacle(); if (SceneManager.Instance.PickableObjectCurrentSelect != null) { SceneManager.Instance.PickableObjectCurrentSelect.OnUnSelect(false); } SceneManager.Instance.PickableObjectCurrentSelect = null; Destroy(this.gameObject); this.CreateRemovedFX(rewardConfigData.RewardGold, rewardConfigData.RewardFood, rewardConfigData.RewardOil, rewardConfigData.RewardGem, rewardConfigData.RewardExp); if (this.RemovableObjectLogicData.RewardPropsType.HasValue) { this.CreatePropFX(ConfigInterface.Instance.PropsConfigHelper.GetPropsData(this.RemovableObjectLogicData.RewardPropsType.Value)); } SceneManager.Instance.CreateObstacleUpgradeFX(this); return(true); } return(false); }
void LoadData() { rewardData = null; selectedRewardIndex = -1; EditorHelpers.LoadItemConfigs(); EditorHelpers.LoadCollectibleConfigs(); allRewards = EditorHelpers.gameDB.LoadConfig <RewardConfigData>() as List <RewardConfigData>; InitDataConfigNames(); }
public void BuyUpgradeWall(int wallNO) { BuildingIdentity id = new BuildingIdentity(BuildingType.Wall, wallNO); BuildingLogicData buildingData = this.GetBuildingObject(id); RewardConfigData rewardData = new RewardConfigData() { RewardGold = buildingData.UpgradeRewardGold, RewardFood = buildingData.UpgradeRewardFood, RewardOil = buildingData.UpgradeRewardOil, RewardGem = buildingData.UpgradeRewardGem, RewardExp = buildingData.UpgradeRewardExp }; this.ConsumeResource(buildingData.UpgradeGold, buildingData.UpgradeFood, buildingData.UpgradeOil, buildingData.UpgradeGem); this.m_BuildingModule.BuyWallUpgrade(wallNO); this.m_ShopModule.BuyWallUpgrade(wallNO); this.RewardResource(rewardData.RewardGold, rewardData.RewardFood, rewardData.RewardOil, rewardData.RewardGem, rewardData.RewardExp); this.m_TaskModule.OnUpgradeBuilding(BuildingType.Wall, buildingData.Level); }
bool DrawLoadService() { contentColor = GUI.contentColor; backgroundColor = GUI.backgroundColor; EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = EditorHelpers.orangeColor; if (GUILayout.Button("Load", GUILayout.Width(60))) { LoadData(); } GUI.backgroundColor = EditorHelpers.yellowColor; if (GUILayout.Button("New", GUILayout.Width(60))) { RewardConfigData newData = new RewardConfigData(); newData.id = "New Reward " + newRewardNameSufix.ToString(); ++newRewardNameSufix; allRewards.Insert(0, newData); InitDataConfigNames(); selectedRewardIndex = 0; rewardData = newData; ShowNotification(new GUIContent("New Reward added.")); dirty = true; } GUI.backgroundColor = EditorHelpers.greenColor; if (GUILayout.Button("Save", GUILayout.Width(60))) { Save(); } GUI.backgroundColor = backgroundColor; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); if (allRewards == null) { EditorGUILayout.HelpBox("It seems that there is no data... try reopening the editor.", MessageType.Error); return(false); } if (allRewards.Count > 0) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Rewards:", GUILayout.Width(100)); int oldIntValue = selectedRewardIndex; selectedRewardIndex = EditorGUILayout.Popup(oldIntValue, rewardNames, GUILayout.Width(250)); if (oldIntValue != selectedRewardIndex) { rewardData = allRewards[selectedRewardIndex]; } if (rewardData != null) { GUI.backgroundColor = EditorHelpers.redColor; if (GUILayout.Button("Delete", GUILayout.Width(70))) { if (EditorUtility.DisplayDialog("Deleting Reward!", "Are you sure you want to delete reward '" + rewardData.id + "'?", "Yes, Delete it.", "No!")) { EditorHelpers.gameDB.DeleteConfig(rewardData.GetTableName(), rewardData.id); allRewards.Remove(rewardData); InitDataConfigNames(); selectedRewardIndex = -1; rewardData = null; ShowNotification(new GUIContent("Reward deleted.")); return(false); } } GUI.backgroundColor = EditorHelpers.blueColor; if (GUILayout.Button("Duplicate", GUILayout.Width(100))) { RewardConfigData newData = rewardData.Clone() as RewardConfigData; newData.id = rewardData.id + "(Clone)"; allRewards.Insert(0, newData); InitDataConfigNames(); selectedRewardIndex = 0; rewardData = newData; ShowNotification(new GUIContent("Reward duplicated.")); dirty = true; } GUI.backgroundColor = backgroundColor; } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); } return(rewardData != null); }
private void RewardBuildingConstructResource(BuildingType type) { RewardConfigData rewardData = ConfigInterface.Instance.BuildingConfigHelper.GetUpgradeRewardData(type, 0); this.RewardResource(rewardData.RewardGold, rewardData.RewardFood, rewardData.RewardOil, rewardData.RewardGem, rewardData.RewardExp); }