Example #1
0
    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);
    }
Example #2
0
    void LoadData()
    {
        rewardData          = null;
        selectedRewardIndex = -1;

        EditorHelpers.LoadItemConfigs();
        EditorHelpers.LoadCollectibleConfigs();
        allRewards = EditorHelpers.gameDB.LoadConfig <RewardConfigData>() as List <RewardConfigData>;
        InitDataConfigNames();
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }
Example #5
0
    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);
    }