////////////////////////////////////////////// /// 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(); }
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); }; }