Ejemplo n.º 1
0
        //////////////////////////////////////////////
        /// Events
        //////////////////////////////////////////////

        /// <summary> called by <c>EndTurnButton</c> </summary>
        public void TransToEvent()
        {
        #if GAME_DEBUG_MODE
            if (State == GameState.Event)
            {
                Debug.LogError($"State is already {GameState.Event}");
            }
        #endif
            State = GameState.Event;
            //OnTransToEvent?.Invoke();

            // collect prop from map here
            var propMgr = PropertyManager.Instance;
            propMgr.AddProperty(MapManager.Instance.CollectProducts());
            // bug: should set on building
            var deltaPopulation = new PropertyRepr(PropertyType.Population,
                                                   propMgr.GameProp[PropertyType.PopulationDelta]);
            var deltaFinance = new PropertyRepr(PropertyType.Finance,
                                                propMgr.GameProp[PropertyType.FinanceDelta]);
            propMgr.AddProperty(deltaPopulation);
            propMgr.AddProperty(deltaFinance);

            StartEventLoop();
        }
Ejemplo n.º 2
0
 private void InitTreeItemSobjs()
 {
     // ---- Tech ----
     // lv1
     TreeItemDict["sun_mao_jie_gou"].wrapper.onUnlocked = delegate {
         BuildingDict["zhu_fang_lv2"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.ZhuFang);
     };
     TreeItemDict["geng_li"].wrapper.onUnlocked    = delegate { BuildingDict["nong_tian_lv1"].TryUnlock(); };
     TreeItemDict["cha_yu_yan"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.PopulationDelta] * .2f;
         var prop  = new PropertyRepr(PropertyType.PopulationDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     TreeItemDict["ji_chu_ji_xie"].wrapper.onUnlocked = delegate { BuildingDict["kuang_jing_lv1"].TryUnlock(); };
     // lv2
     TreeItemDict["zhuan_hun_jie_gou"].wrapper.onUnlocked = delegate {
         BuildingDict["zhu_fang_lv3"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.ZhuFang);
     };
     TreeItemDict["cha_yang"].wrapper.onUnlocked = delegate {
         BuildingDict["nong_tian_lv2"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.NongTian);
     };
     // lv3
     TreeItemDict["gang_hun_jie_gou"].wrapper.onUnlocked = delegate {
         BuildingDict["zhu_fang_lv4"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.ZhuFang);
     };
     TreeItemDict["li_ti_nong_ye"].wrapper.onUnlocked = delegate {
         BuildingDict["nong_tian_lv3"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.NongTian);
     };
     // lv4
     TreeItemDict["gang_jie_gou"].wrapper.onUnlocked = delegate {
         BuildingDict["zhu_fang_lv5"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.ZhuFang);
     };
     TreeItemDict["da_xing_nong_yong_ji_xie"].wrapper.onUnlocked = delegate {
         BuildingDict["nong_tian_lv4"].TryUnlock();
         BuildingLevels.Instance.Upgrade(PlayerBuildingType.NongTian);
     };
     TreeItemDict["ci_li_xian_quan"].wrapper.onUnlocked = delegate { BuildingDict["fa_dian_zhan"].TryUnlock(); };
     // ---- Culture ----
     // lv1
     TreeItemDict["yin_you_ge_zhe"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.PopulationDelta] * .2f;
         var prop  = new PropertyRepr(PropertyType.PopulationDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     TreeItemDict["huo_bi"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.FinanceDelta] * .3f;
         var prop  = new PropertyRepr(PropertyType.FinanceDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     // lv2
     TreeItemDict["yun_dong_hui"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.PopulationDelta] * .1f;
         var prop  = new PropertyRepr(PropertyType.PopulationDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     TreeItemDict["xue_yuan"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.FinanceDelta] * .1f;
         var prop  = new PropertyRepr(PropertyType.FinanceDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     // lv3
     TreeItemDict["yin_yue_guang_chang"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.PopulationDelta] * .1f;
         var prop  = new PropertyRepr(PropertyType.PopulationDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     // lv4
     TreeItemDict["quan_min_kuang_huan"].wrapper.onUnlocked = delegate {
         var delta = PropertyManager.Instance.GameProp[PropertyType.PopulationDelta] * .1f;
         var prop  = new PropertyRepr(PropertyType.PopulationDelta, (int)delta);
         PropertyManager.Instance.AddProperty(prop);
     };
     // lv5
     TreeItemDict["li_xiang_she_hui"].wrapper.onUnlocked = delegate {
         SceneObjRef.Instance.MainMenuCanvas.gameObject.SetActive(true);
     };
 }