public void OnPushButtonRetire() { if (m_ScenePhase == ScenePhase.BATTILING) { BattleParam.endBattleScene(); m_ScenePhase = ScenePhase.INIT; } }
/// <summary> /// 中断復帰でバトルスタート /// </summary> public void OnPushButtonStartRestore() { if (m_ScenePhase == ScenePhase.PLAYER_SETUP_WAIT) { InGameUtil.SetLocalData(); m_ScenePhase = ScenePhase.INIT_PLAYER; } }
public ConfigNode Generate(ScenePhase phase, ConfigNode kerbalData) { ConfigNode perksNode = new ConfigNode(NodeName); float stupidity = DangIt.Parse <float>(kerbalData.GetValue("stupidity"), 0.5f); float intelligence = 1 - stupidity; // Generate a random perk for each perk type foreach (Specialty spec in Enum.GetValues(typeof(Specialty))) { SkillLevel level = (SkillLevel)((int)Math.Floor(UnityEngine.Random.Range(0f, intelligence) / 0.25f)); Perk perk = new Perk(spec, level); perksNode.AddNode(perk.ToNode()); } return(perksNode); }
// Update is called once per frame void Update() { switch (m_ScenePhase) { case ScenePhase.START: MasterDataEnemyGroup[] master_data_array = BattleParam.m_MasterDataCache.getAllEnemyGroup(); if (master_data_array != null) { m_IsEnableEnemyUI = true; } initPlayerParty1(); m_ScenePhase = ScenePhase.INIT; break; case ScenePhase.INIT: m_ScenePhase = ScenePhase.PLAYER_SETUP; break; case ScenePhase.PLAYER_SETUP: setup_for_screen(); m_ScenePhase = ScenePhase.PLAYER_SETUP_WAIT; break; case ScenePhase.PLAYER_SETUP_WAIT: // OnPushButtonStart() が呼ばれれば進む. update_setup_ui(); break; case ScenePhase.INIT_PLAYER: BattleParam.m_MasterDataCache.clearCachePlayerAll(); BattleParam.m_MasterDataCache.clearCacheEnemyAll(); setup_from_screen(); initPlayerParty2(); BattleParam.QuestInitialize(null); m_ScenePhase = ScenePhase.INIT_ENEMY; break; case ScenePhase.INIT_ENEMY: resetBattleRequest(); createBattleRequest(); m_ScenePhase = ScenePhase.INIT_BATTLE_MANAGER; break; case ScenePhase.INIT_BATTLE_MANAGER: { GameObject effect_prefab = Resources.Load <GameObject>("Prefab/BattleScene/InGameEffectPrefab"); GameObject effect_obj = Instantiate(effect_prefab); // effect_prefabのコンポーネントを書き換えると以前に書き換えた情報が残っているので別オブジェクトを一回生成 SceneObjReferGameMainEffect effect_assign = effect_obj.GetComponent <SceneObjReferGameMainEffect>(); SceneObjReferGameMain.Instance.setEffectAssignObj(effect_assign); } BattleParam.BattleInitialize(BattleParam.m_BattleRequest, null); BattleParam.setKensyoParam(m_SkillTurnCondition, m_KobetsuHP_EnemyAtkRate, m_KobetsuHPEnemyAttackAll, m_KobetsuHPEnemyTargetHate); BattleParam.BattleStart(); m_ScenePhase = ScenePhase.BATTILING; break; case ScenePhase.BATTILING: if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.NOT_BATTLE) { // クリアした bool is_next_battle = createBattleRequest(); if (is_next_battle) { // 次の戦闘がある m_ScenePhase = ScenePhase.INIT_BATTLE_MANAGER; } else { // 終了 BattleParam.endBattleScene(); m_ScenePhase = ScenePhase.INIT; } } if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.RETIRE) { // ゲームオーバー BattleParam.endBattleScene(); m_ScenePhase = ScenePhase.INIT; } break; default: break; } }
public bool MustRun(ScenePhase phase, ConfigNode kerbalData) { return(!kerbalData.HasNode(NodeName)); }