//---------------------------------------------------------------------------- /*! * @brief 主人公スキル発動タッチ処理: */ //---------------------------------------------------------------------------- public void OnHeroToutch() { // メニューオープンタイミングのチェック bool isOpen = InGameUtil.ChkInGameOpenWindowTiming(); if (isOpen == false) { return; } // チュートリアル中の発動禁止処理. if (BattleParam.IsTutorial()) { if (BattleSceneManager.Instance.isTutorialForbidLimitBreak(GlobalDefine.PartyCharaIndex.HERO)) { return; } } LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.ON) { // ヒーロースキル発動確認ウィンドウを開く if (InGameMenuManagerQuest2.Instance != null) { InGameMenuManagerQuest2.Instance.OpenSkillMenu(GlobalDefine.PartyCharaIndex.HERO, 0, m_HeroTotalSkillPrv); } } else { // ヒーロースキルを即時発動 BattleParam.RequestLBS(GlobalDefine.PartyCharaIndex.HERO); } }
//---------------------------------------------------------------------------- /*! * @brief 主人公情報長押しタッチ処理: */ //---------------------------------------------------------------------------- public void OnHeroLongToutch() { // メニューオープンタイミングのチェック bool isOpen = InGameUtil.ChkInGameOpenWindowTiming(); if (isOpen == false) { return; } if (InGameMenuManagerQuest2.Instance != null) { if (InGameMenuManagerQuest2.Instance.isSkillMenuActive == true) { return; } } // チュートリアル中の禁止処理 if (BattleParam.IsTutorial()) { if (BattleSceneManager.Instance.isTutorialEnableUnitInfoWindow() == false) { return; } } SceneModeContinuousBattle.Instance.HeroWindowOpen(); }
//------------------------------------------------------------------------ /*! * @brief 更新処理 */ //------------------------------------------------------------------------ void Update() { // メニューオープンタイミングのチェック bool isOpen = InGameUtil.ChkInGameOpenWindowTiming(); if (isOpen == false && m_CurrentMenu != InGameMenuID.GAMEMENU_NONE) { // メニューを閉じる CloseInGameMenu(); return; } // リタイアリクエストが来ていたら終了 if (InGameQuestData.Instance && InGameQuestData.Instance.m_InGameRetire) { m_CurrentMenu = InGameMenuID.GAMEMENU_NONE; return; } m_OpenFrame = false; if (BattleParam.IsTutorial()) { updateForTutorial(); } }
/// <summary> /// 中断データを保存 /// チュートリアル中はローカルセーブロードしない /// </summary> public static void SaveLocalData() { if (IsTutorial() == false) { InGameUtil.SaveLocalData(); } }
//---------------------------------------------------------------------------- /*! * @brief スキル発動NOボタンタッチ処理 */ //---------------------------------------------------------------------------- public void OnSkillNo() { if (BattleParam.IsTutorial()) { return; // チュートリアル中は押せなくする } if (InGameUtil.isQuest2() == true) { changePartyUnitParent(false); } if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO) { m_newSkill.setupHeroSkill(0); } else { m_newSkill.setupLimitBreakSkill(0, 0); } m_InGameMenuQuest2.Skill_menu_active = false; m_InGameMenuQuest2.Menu_bg_active = false; m_SkillMenuActive = false; SoundUtil.PlaySE(SEID.SE_MENU_RET); m_MenuButton.color = Color.white; UnityUtil.SetObjectEnabled(m_MenuButtonMask, false); }
internal SegmentLaneMarker(Bezier3 bezier) { this.Bezier = bezier; this.IsUnderground = InGameUtil.CheckIsUnderground(bezier.a) || InGameUtil.CheckIsUnderground(bezier.d); CalculateBounds(); }
//---------------------------------------------------------------------------- /*! * @brief スキル発動OKボタンタッチ処理 */ //---------------------------------------------------------------------------- public void OnSkillYes() { if (m_OkDisable == true) { SoundUtil.PlaySE(SEID.SE_MENU_NG); return; } if (InGameUtil.isQuest2() == true) { changePartyUnitParent(false); } if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO) { m_newSkill.setupHeroSkill(0); } else { m_newSkill.setupLimitBreakSkill(0, 0); } m_InGameMenuQuest2.Skill_menu_active = false; m_InGameMenuQuest2.Menu_bg_active = false; m_SkillMenuActive = false; SoundUtil.PlaySE(SEID.SE_MENU_OK); m_MenuButton.color = Color.white; UnityUtil.SetObjectEnabled(m_MenuButtonMask, false); BattleParam.RequestLBS(m_CharaIdx); }
/// <summary> /// 中断復帰でバトルスタート /// </summary> public void OnPushButtonStartRestore() { if (m_ScenePhase == ScenePhase.PLAYER_SETUP_WAIT) { InGameUtil.SetLocalData(); m_ScenePhase = ScenePhase.INIT_PLAYER; } }
/// <summary> /// 中断データを取得 /// チュートリアル中はローカルセーブロードしない /// </summary> /// <returns></returns> public static RestoreBattle getRestoreData() { RestoreBattle restore_battle = null; if (IsTutorial() == false) { restore_battle = InGameUtil.GetRestoreBattle(); } return(restore_battle); }
internal void Load() { try { Log.Info($"TMPELifecycle.Load() called. Mode={Mode}, UpdateMode={UpdateMode}, Scene={Scene}"); if (Scene == "ThemeEditor") { return; } IsGameLoaded = false; InGameUtil.Instantiate(); VersionUtil.CheckGameVersion(); IsGameLoaded = true; CustomPathManager.OnLevelLoaded(); ModUI.OnLevelLoaded(); if (PlayMode) { UIView uiView = UIView.GetAView(); uiView.AddUIComponent(typeof(UITransportDemand)); uiView.gameObject.AddComponent <RemoveVehicleButtonExtender>(); uiView.gameObject.AddComponent <RemoveCitizenInstanceButtonExtender>(); uiView.gameObject.AddComponent <RoadSelectionPanels>(); } Patcher.Install(); Log.Info("Notifying managers..."); foreach (ICustomManager manager in RegisteredManagers) { Log.Info($"OnLevelLoading: {manager.GetType().Name}"); manager.OnLevelLoading(); } // must be subscribed last to notify other mods about TMPE changes // after all TMPE rules are applied. GeometryNotifierDisposable = GeometryManager.Instance.Subscribe(new GeometryNotifier()); Notifier.Instance.OnLevelLoaded(); Log.Info("OnLevelLoaded complete."); } catch (Exception ex) { ex.LogException(true); } }
//---------------------------------------------------------------------------- /*! * @brief 情報開閉ボタンタッチ処理: */ //---------------------------------------------------------------------------- public void OnInfoTouch() { // メニューオープンタイミングのチェック bool isOpen = InGameUtil.ChkInGameOpenWindowTiming(); if (isOpen == false) { return; } if (BattleParam.isEnbaleOptionButton() == false) { return; } if (InGameMenuManagerQuest2.Instance != null) { InGameMenuManagerQuest2.Instance.OnOption(); } }
//---------------------------------------------------------------------------- /*! * @brief メニューボタンタッチ処理 */ //---------------------------------------------------------------------------- public void OnMenuButton() { if (BattleParam.IsTutorial() == true) { return; } if (IsOpenGameMenu()) { SoundUtil.PlaySE(SEID.SE_MENU_RET); CloseInGameMenu(); } else { if (InGameUtil.ChkInGameOpenWindowTiming()) { SoundUtil.PlaySE(SEID.SE_BATLE_UI_OPEN); } OpenInGameMenu(); } }
public override void OnCreated(ILoading loading) { Log._Debug("LoadingExtension.OnCreated() called"); // SelfDestruct.DestructOldInstances(this); base.OnCreated(loading); if (IsGameLoaded) { // When another mod is detected, OnCreated is called again for god - or CS team - knows what reason! Log._Debug("Hot reload of another mod detected. Skipping LoadingExtension.OnCreated() ..."); return; } InGameUtil.Instantiate(); RegisteredManagers = new List <ICustomManager>(); CustomPathManager = new CustomPathManager(); RegisterCustomManagers(); Instance = this; }
private bool createBattleRequest() { if (m_QuestBuild != null) { if (m_NextChainPartyIndex != 0) { //敵進化あり BattleParam.m_BattleRequest = new BattleReq(); ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, m_NextChainPartyIndex); BattleParam.m_BattleRequest.SetupBattleReq(0, false, m_NextChainTurnOffset, false, true, m_QuestBuild, battle_param); m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain; m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset; } else { m_QuestBuild = null; m_EnemyPartyIndex++; } } if (m_QuestBuild == null && m_EnemyPartyIndex < m_EnemyPartyIDs.Length) { TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle> acQuestBuildBattle = new TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle>(); TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop> acQuestBuildDrop = new TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop>(); acQuestBuildBattle.Alloc(64); MasterDataEnemyGroup enemy_group = BattleParam.m_MasterDataCache.useEnemyGroup((uint)m_EnemyPartyIDs[m_EnemyPartyIndex]); int battle_id = CreateQuestBuildBattle(0, ref acQuestBuildBattle, ref acQuestBuildDrop, enemy_group); // 敵情報. m_QuestBuild = new ServerDataDefine.PacketStructQuest2Build(); m_QuestBuild.list_drop = acQuestBuildDrop.ToArray(); m_QuestBuild.list_battle = acQuestBuildBattle.ToArray(); // ヘイト情報付加 for (int idx = 0; idx < m_QuestBuild.list_battle.Length; idx++) { ServerDataDefine.PacketStructQuest2BuildBattle battle_build = m_QuestBuild.list_battle[idx]; if (battle_build != null) { battle_build.hate = new ServerDataDefine.PacketStructQuest2Hate(); battle_build.hate.hate_initial = 1000; battle_build.hate.hate_given_damage1 = 1000; battle_build.hate.hate_given_damage2 = 800; battle_build.hate.hate_given_damage3 = 600; battle_build.hate.hate_given_damage4 = 400; battle_build.hate.hate_given_damage5 = 200; battle_build.hate.hate_heal1 = 500; battle_build.hate.hate_heal2 = 400; battle_build.hate.hate_heal3 = 300; battle_build.hate.hate_heal4 = 200; battle_build.hate.hate_heal5 = 100; battle_build.hate.hate_rate_fire = 100; battle_build.hate.hate_rate_water = 100; battle_build.hate.hate_rate_wind = 100; battle_build.hate.hate_rate_light = 100; battle_build.hate.hate_rate_dark = 100; battle_build.hate.hate_rate_naught = 100; battle_build.hate.hate_rate_race1 = 100; battle_build.hate.hate_rate_race2 = 100; battle_build.hate.hate_rate_race3 = 100; battle_build.hate.hate_rate_race4 = 100; battle_build.hate.hate_rate_race5 = 100; battle_build.hate.hate_rate_race6 = 100; battle_build.hate.hate_rate_race7 = 100; battle_build.hate.hate_rate_race8 = 100; battle_build.hate.hate_rate_race9 = 100; battle_build.hate.hate_rate_race10 = 100; } } ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, battle_id); BattleParam.m_BattleRequest = new BattleReq(); BattleParam.m_BattleRequest.SetupBattleReq(0, false, 0, false, false, m_QuestBuild, battle_param); m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain; m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset; } return(m_QuestBuild != null); }
void initPlayerParty2() { // マスターーデータ BattleParam.m_MasterDataCache = m_MasterDataCache; // ステージ情報 BattleParam.m_QuestAreaID = 0; BattleParam.m_QuestMissionID = 0; BattleParam.m_QuestFloor = 0; BattleParam.m_AcquireKey = false; // BattleParam.ClrLBS(); BattleParam.m_SkillRequestLimitBreak = new SkillRequestParam(BattleParam.SKILL_LIMIT_BREAK_ADD_MAX); #if UNITY_EDITOR BattleParam.m_IsDamageOutput = false; #endif // プレイヤーパーティメンバー if (m_BattleData.m_PlayerParty.m_PlayerCharas != null) { CharaOnce[] player_party_chara = new CharaOnce[m_BattleData.m_PlayerParty.m_PlayerCharas.Length]; for (int idx = 0; idx < m_BattleData.m_PlayerParty.m_PlayerCharas.Length; idx++) { PlayerCharaData player_chara_data = m_BattleData.m_PlayerParty.m_PlayerCharas[idx]; if (player_chara_data != null) { MasterDataParamChara master_data = m_MasterDataCache.useCharaParam((uint)player_chara_data.m_CharaID); if (master_data != null) { CharaOnce chara_once = new CharaOnce(); if (player_chara_data.m_CharaLevel < 1) { player_chara_data.m_CharaLevel = 1; } if (player_chara_data.m_CharaLevel > master_data.level_max) { player_chara_data.m_CharaLevel = master_data.level_max; } chara_once.CharaSetupFromID((uint)player_chara_data.m_CharaID, player_chara_data.m_CharaLevel, player_chara_data.m_SkillLevel, player_chara_data.m_LimitOverLevel, player_chara_data.m_PlusPower, player_chara_data.m_PlusHP, (uint)player_chara_data.m_LinkCharaID, player_chara_data.m_LinkCharaLevel, player_chara_data.m_LinkPlusPower, player_chara_data.m_LinkPlusHP, player_chara_data.m_LinkFriendry, player_chara_data.m_LinkLimitOverLevel ); player_party_chara[idx] = chara_once; } } } // プレイヤーパーティ BattleParam.m_PlayerParty = new CharaParty(); BattleParam.m_PlayerParty.setHero(m_HeroParam.m_Level, (uint)m_HeroParam.m_HeroSkillID); BattleParam.m_PlayerParty.PartySetup(player_party_chara, m_IsKobetsuHP); BattleParam.m_PlayerParty.m_PartyTotalSP = m_BattleData.m_PlayerParty.m_SP; // ステージ情報 BattleParam.m_QuestAreaID = (uint)m_BattleData.m_AreaData.m_AreaID; BattleParam.m_QuestMissionID = 0; BattleParam.m_QuestFloor = 0; BattleParam.m_AcquireKey = false; } if (InGameUtil.IsLocalData()) { SceneGoesParamToQuest2Restore restore = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Restore; RestorePlayerParty restore_player_party = restore.m_PlayerPartyRestore; if (restore_player_party != null) { CharaOnce[] player_party_chara = new CharaOnce[(int)GlobalDefine.PartyCharaIndex.MAX]; for (int idx = 0; idx < player_party_chara.Length; idx++) { CharaOnce chara_once = new CharaOnce(); chara_once.CharaSetupFromID(restore_player_party.m_PartyCharaID[idx], restore_player_party.m_PartyCharaLevel[idx], restore_player_party.m_PartyCharaLBSLv[idx], restore_player_party.m_PartyCharaLimitOver[idx], restore_player_party.m_PartyCharaPlusPow[idx], restore_player_party.m_PartyCharaPlusHP[idx], restore_player_party.m_PartyCharaLinkID[idx], restore_player_party.m_PartyCharaLinkLv[idx], restore_player_party.m_PartyCharaLinkPlusPow[idx], restore_player_party.m_PartyCharaLinkPlusHP[idx], restore_player_party.m_PartyCharaLinkPoint[idx], restore_player_party.m_PartyCharaLinkLimitOver[idx] ); //------------------------------ // リミットブレイクコスト復帰 //------------------------------ chara_once.m_CharaLimitBreak = restore.m_PlayerPartyRestore.m_PartyCharaLimitBreak[idx]; player_party_chara[idx] = chara_once; } // プレイヤーパーティ BattleParam.m_PlayerParty = new CharaParty(); BattleParam.m_PlayerParty.setHero(0 /*m_HeroParam.m_Level*/, 0 /*(uint)m_HeroParam.m_HeroSkillID*/); BattleParam.m_PlayerParty.PartySetup(player_party_chara, restore_player_party.m_IsKobetsuHP); //------------------------------ // パーティ状態異常復帰(CharaParty.PartySetup() より後に復帰) //------------------------------ BattleParam.m_PlayerParty.m_Ailments = restore_player_party.m_PartyAilments; BattleParam.m_PlayerParty.m_Ailments.restoreFromSaveData(); BattleParam.m_PlayerParty.m_HPCurrent.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHP); BattleParam.m_PlayerParty.m_PartyTotalSP = restore_player_party.m_QuestSP; BattleParam.m_PlayerParty.m_HPMax.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHPMax); BattleParam.m_PlayerParty.m_PartyTotalSPMax = restore_player_party.m_QuestSPMax; BattleParam.m_PlayerParty.m_Hate = restore_player_party.m_Hate; BattleParam.m_PlayerParty.m_Hate_ProvokeTurn = restore_player_party.m_Hate_ProvokeTurn; BattleParam.m_PlayerParty.m_Hate_ProvokeOrder = restore_player_party.m_Hate_ProvokeOrder; BattleParam.m_PlayerParty.m_BattleHero.restoreSkillTurn(restore_player_party.m_HeroSkillTurn); BattleParam.m_PlayerParty.m_BattleAchive = restore_player_party.m_BattleAchive; } } }
//---------------------------------------------------------------------------- /*! * @brief スキル発動ウィンドウOPEN * @param[in] GlobalDefine.PartyCharaIndex (charaIdx) キャラパーティインデックス * @param[in] uint (charaId) キャラID */ //---------------------------------------------------------------------------- public void OpenSkillMenu(GlobalDefine.PartyCharaIndex charaIdx, uint charaId, int turn, bool bSealed = false) { if (m_InGameMenuQuest2 == null) { return; } if (charaIdx == GlobalDefine.PartyCharaIndex.ERROR) { return; } // 既に開いてる場合 if (m_SkillMenuActive == true) { // 一旦初期化する if (InGameUtil.isQuest2() == true) { changePartyUnitParent(false); } if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO) { m_newSkill.setupHeroSkill(0); } else { m_newSkill.setupLimitBreakSkill(0, 0); } m_InGameMenuQuest2.Skill_menu_active = false; m_InGameMenuQuest2.Menu_bg_active = false; } m_SkillMenuActive = true; m_CharaIdx = charaIdx; uint skill_limitbreak = 0; uint limitbreak_lv = 0; if (charaIdx == GlobalDefine.PartyCharaIndex.HERO) { int unique_id = UserDataAdmin.Instance.m_StructPlayer.current_hero_id; for (int i = 0; i < UserDataAdmin.Instance.m_StructHeroList.Length; ++i) { if (UserDataAdmin.Instance.m_StructHeroList[i].unique_id == unique_id) { skill_limitbreak = (uint)UserDataAdmin.Instance.m_StructHeroList[i].current_skill_id; } } } else { MasterDataParamChara _master = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaMasterDataParam; skill_limitbreak = _master.skill_limitbreak; limitbreak_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLBSLv; } if (m_newSkill == null) { m_newSkill = new UnitSkillContext(); m_InGameMenuQuest2.SkillList.Add(m_newSkill); } if (charaIdx == GlobalDefine.PartyCharaIndex.HERO) { m_newSkill.setupHeroSkill(skill_limitbreak); } else { m_newSkill.setupLimitBreakSkill(skill_limitbreak, limitbreak_lv); } m_InGameMenuQuest2.Skill_menu_active = true; m_InGameMenuQuest2.Menu_bg_active = true; changePartyUnitParent(true); SoundUtil.PlaySE(SEID.SE_BATLE_UI_OPEN); m_MenuButton.color = m_MenuButtonGray; m_OkDisable = false; m_InGameMenuQuest2.SkillMenuOkColor = Color.white; if (turn == 0) { if (bSealed == true) { m_InGameMenuQuest2.Skill_title_text = GameTextUtil.GetText("unit_action_01"); m_InGameMenuQuest2.IsBack = true; } else { m_InGameMenuQuest2.Skill_title_text = GameTextUtil.GetText("battle_infotext6"); m_InGameMenuQuest2.IsBack = false; if (charaIdx != GlobalDefine.PartyCharaIndex.HERO) { if (BattleSceneUtil.checkLimitBreak(BattleParam.m_PlayerParty, m_CharaIdx, BattleParam.m_EnemyParam, BattleParam.m_TargetEnemyCurrent) == false) { m_OkDisable = true; m_InGameMenuQuest2.SkillMenuOkColor = Color.gray; } } } } else { if (charaIdx == GlobalDefine.PartyCharaIndex.HERO) { m_InGameMenuQuest2.Skill_title_text = string.Format(GameTextUtil.GetText("hero_skill_hands_battle"), turn); } else { m_InGameMenuQuest2.Skill_title_text = string.Format(GameTextUtil.GetText("unit_skill_turn_battle"), turn); } m_InGameMenuQuest2.IsBack = true; } UnityUtil.SetObjectEnabled(m_MenuButtonMask, true); }
//------------------------------------------------------------------------ /*! * @brief 更新処理 */ //------------------------------------------------------------------------ private void initPanel() { if (m_CharaIdx == GlobalDefine.PartyCharaIndex.ERROR) { return; } PacketStructUnit _unit = null; PacketStructUnit _linkunit = null; { _unit = new PacketStructUnit(); _unit.id = m_CharaId; _unit.level = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLevel; _unit.unique_id = 1; // ダミー _unit.add_pow = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusPow; _unit.add_def = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusDef; _unit.add_hp = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusHP; _unit.limitbreak_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLBSLv; _unit.limitover_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLimitOver; _unit.link_info = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_NONE; if (InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaID != 0) { _unit.link_info = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE; _linkunit = new PacketStructUnit(); _linkunit.id = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaID; _linkunit.level = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLv; _linkunit.add_pow = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaPlusPow; _linkunit.add_hp = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaPlusHP; _unit.link_point = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLinkPoint; _linkunit.limitover_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLOLevel; _linkunit.link_info = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_LINK; } } MasterDataParamChara _master = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaMasterDataParam; // 名前パネル設定 unitNamePanel.setup(_master); unitNamePanel.IsViewPremiumButton = false; // スキルパネル設定 unitSkillPanel.AllClear(); unitSkillPanel.AddLeaderSkill(_master.skill_leader); unitSkillPanel.AddLimitBreakSkill(_master.skill_limitbreak, (int)_unit.limitbreak_lv); unitSkillPanel.AddActiveSkill(_master.skill_active0); if (_master.skill_passive == 0) { unitSkillPanel.AddActiveSkill(_master.skill_active1); } if (_master.skill_passive != 0) { unitSkillPanel.AddPassiveSkill(_master.skill_passive); } // ステータスパネル設定 CharaParty party = BattleParam.m_PlayerParty; CharaOnce party_unit = party.getPartyMember(m_CharaIdx, CharaParty.CharaCondition.EXIST); int pow = (int)((float)party_unit.m_CharaPow * InGameUtil.getCharaAttakPowScale(party_unit, BattleParam.m_PlayerParty.m_Ailments.getAilment(m_CharaIdx))); unitParamPanel.setupUnit(_unit, _linkunit, false, party.m_HPCurrent.getValue(m_CharaIdx), party.m_HPMax.getValue(m_CharaIdx), pow); unitParamPanel.IsViewExp = false; if (_linkunit != null) { // リンクパネル設定 unitLinkPanel.setupUnit(_unit, _linkunit, UnitLinkPanel.LinkParamType.Link); skillWindowTag.Link_tag_active = true; } else { skillWindowTag.Link_tag_active = false; } // 状態異常パネル設定 unitAilmentPanel.AllClear(); unitAilmentPanel.setupCharaAilmentInfo(SceneModeContinuousBattle.Instance.m_PlayerParty.m_Ailments.getAilment(m_CharaIdx)); UnityUtil.SetObjectEnabledOnce(heroDetailPanel.gameObject, false); Label_text = GameTextUtil.GetText("battle_infotext3"); }
public static void IncrementTotalTurn() { InGameUtil.IncrementTotalTurn(); }
// Update is called once per frame void Update() { if (BattleParam.m_PlayerParty != null && BattleParam.isActiveBattle()) { BattleSceneUtil.MultiInt damage_value = BattleParam.m_PlayerParty.getDispDamageValue(); BattleSceneUtil.MultiInt heal_value = BattleParam.m_PlayerParty.getDispRecoveryValue(); if (BattleParam.m_PlayerParty.m_HPCurrent.getValue(GlobalDefine.PartyCharaIndex.MAX) != m_PartyHp || BattleParam.m_PlayerParty.m_HPMax.getValue(GlobalDefine.PartyCharaIndex.MAX) != m_PartyHpMax ) { m_PartyHp = BattleParam.m_PlayerParty.m_HPCurrent.getValue(GlobalDefine.PartyCharaIndex.MAX); m_PartyHpMax = BattleParam.m_PlayerParty.m_HPMax.getValue(GlobalDefine.PartyCharaIndex.MAX); if (m_PartyHpObject != null) { TextMesh text_mesh = m_PartyHpObject.GetComponent <TextMesh>(); if (text_mesh != null) { text_mesh.text = "HP:" + m_PartyHp.ToString() + "/" + m_PartyHpMax.ToString(); } } } if (damage_value != null) { int hp_delta = damage_value.getValue(GlobalDefine.PartyCharaIndex.MAX); if (hp_delta > 0) { DrawDamageManager.showDamage(m_PartyHpDamageLocale.transform, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_WEEK); } } if (heal_value != null) { int hp_delta = heal_value.getValue(GlobalDefine.PartyCharaIndex.MAX); if (hp_delta > 0) { DrawDamageManager.showDamage(m_PartyHpDamageLocale.transform, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_HEAL); EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_03, new Vector3(2.0f * 0.05f, -0.9609375f * 0.05f, 0.0f), Vector3.zero, m_PartyHpObject.transform, null, 0.15f); } } if (BattleParam.m_PlayerParty.m_PartyTotalSP != m_PartySp || BattleParam.m_PlayerParty.m_PartyTotalSPMax != m_PartySpMax ) { int old_sp = m_PartySp; m_PartySp = BattleParam.m_PlayerParty.m_PartyTotalSP; m_PartySpMax = BattleParam.m_PlayerParty.m_PartyTotalSPMax; if (m_PartySpObject != null) { TextMesh text_mesh = m_PartySpObject.GetComponent <TextMesh>(); if (text_mesh != null) { text_mesh.text = "SP:" + m_PartySp.ToString() + "/" + m_PartySpMax.ToString(); } if (m_PartySp > old_sp) { EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_SP, new Vector3(2.0f * 0.05f, -0.4f * 0.05f, 0.0f), Vector3.zero, m_PartySpObject.transform, null, 0.125f); } } } // パーティ状態異常 { Transform ailment_object = transform.Find("PartyAilment"); if (ailment_object != null) { InGameAilmentIcon ailment_icon = ailment_object.GetComponent <InGameAilmentIcon>(); if (ailment_icon != null) { StatusAilmentChara ailment_info = BattleParam.m_PlayerParty.m_Ailments.getAilment(GlobalDefine.PartyCharaIndex.MAX); ailment_icon.SetStatus(ailment_info); } } } bool is_control = false; if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.INPUT) { is_control = true; } // ヒーロースキル発動ボタン { Transform hero_skill_button_trans = transform.Find("Canvas/ButtonHeroSkill"); if (hero_skill_button_trans != null) { Button button = hero_skill_button_trans.GetComponent <Button>(); if (button != null) { bool is_button_enable = (is_control && BattleParam.m_PlayerParty.m_BattleHero.checkHeroSkillTurn()); button.interactable = is_button_enable; Transform btn_txt = hero_skill_button_trans.Find("Text"); if (btn_txt != null) { Text txt = btn_txt.GetComponent <Text>(); if (txt != null) { txt.text = BattleParam.m_PlayerParty.m_BattleHero.getSkillTurn().ToString() + "/HERO"; } } } } } GlobalDefine.PartyCharaIndex provoke_target = BattleParam.m_PlayerParty._getProvokeTarget(); for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++) { string chara_name = ""; int chara_id = 0; int link_chara_id = 0; string hp_text = ""; string skill_name = ""; bool is_active_skill_button = false; CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST); bool is_alive = false; if (chara_once != null) { MasterDataParamChara chara_master = chara_once.m_CharaMasterDataParam; int hp = BattleParam.m_PlayerParty.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx); float hp_rate = hp / (float)BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx); string hp_color = "white"; if (hp_rate >= 0.5f) { hp_color = "white"; is_alive = true; } else if (hp_rate >= 0.2f) { hp_color = "yellow"; is_alive = true; } else if (hp_rate > 0.0f) { hp_color = "red"; is_alive = true; } else { hp_color = "#808080"; } // キャラ名 chara_name = "<color=" + hp_color + ">" + chara_master.name + "</color>"; // キャライメージ chara_id = (int)chara_master.fix_id; // リンクキャライメージ if (chara_once.m_LinkParam != null) { link_chara_id = (int)chara_once.m_LinkParam.m_CharaID; } int atk_percent = (int)(InGameUtil.getCharaAttakPowScale(chara_once, BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx)) * 100.0f); int hp_percent = (int)(BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx) / (float)BattleParam.m_PlayerParty.m_HPBase.getValue((GlobalDefine.PartyCharaIndex)idx) * 100.0f); // キャラ個別HP hp_text = "<color=" + hp_color + ">" + BattleParam.m_PlayerParty.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx) + "/" + BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx) + "</color>"; if (BattleParam.IsKobetsuHP) { hp_text += " <color=#a0a0a0>HP" + hp_percent.ToString() + "%\n"; if (BattleParam.m_PlayerParty.m_Hate_ProvokeTurn.getValue((GlobalDefine.PartyCharaIndex)idx) > 0) { if (provoke_target == (GlobalDefine.PartyCharaIndex)idx) { hp_text += "[挑発]:"; } else { hp_text += "挑発:"; } hp_text += BattleParam.m_PlayerParty.m_Hate_ProvokeTurn.getValue((GlobalDefine.PartyCharaIndex)idx); } else { hp_text += "Hate:" + BattleParam.m_PlayerParty.m_Hate.getValue((GlobalDefine.PartyCharaIndex)idx); } hp_text += " ATK" + atk_percent.ToString() + "%</color>"; } // スキルターン int skill_turn = chara_once.GetTrunToLimitBreak(); MasterDataSkillLimitBreak skill_limit_break = BattleParam.m_MasterDataCache.useSkillLimitBreak(chara_master.skill_limitbreak); if (skill_limit_break != null) { skill_name = skill_turn.ToString() + "/" + skill_limit_break.name; } // ボタンのアクティブ・非アクティブ { is_active_skill_button = is_control && BattleParam.IsEnableLBS((GlobalDefine.PartyCharaIndex)idx); } } // 表示 { // キャラ名 { Transform chara_name_trans = m_MemberObject[idx].transform.Find("CharaName"); if (chara_name_trans != null) { Text text_component = chara_name_trans.GetComponent <Text>(); if (text_component != null) { text_component.text = chara_name; } } } } // スキル発動条件表示 { { MasterDataDefineLabel.ElementType[,] skill_costs = new MasterDataDefineLabel.ElementType[2, 5]; if (is_alive) { MasterDataParamChara chara_master = chara_once.m_CharaMasterDataParam; if (chara_master.skill_active0 != 0) { MasterDataSkillActive skill_active0 = BattleParam.m_MasterDataCache.useSkillActive(chara_master.skill_active0); if (skill_active0 != null) { skill_costs[0, 0] = skill_active0.cost1; skill_costs[0, 1] = skill_active0.cost2; skill_costs[0, 2] = skill_active0.cost3; skill_costs[0, 3] = skill_active0.cost4; skill_costs[0, 4] = skill_active0.cost5; } } if (chara_master.skill_active1 != 0) { MasterDataSkillActive skill_active1 = BattleParam.m_MasterDataCache.useSkillActive(chara_master.skill_active1); if (skill_active1 != null) { skill_costs[1, 0] = skill_active1.cost1; skill_costs[1, 1] = skill_active1.cost2; skill_costs[1, 2] = skill_active1.cost3; skill_costs[1, 3] = skill_active1.cost4; skill_costs[1, 4] = skill_active1.cost5; } } } for (int skill_idx = 0; skill_idx < 2; skill_idx++) { for (int cost_idx = 0; cost_idx < 5; cost_idx++) { Transform cost_trans = m_MemberObject[idx].transform.Find("SkillInfo/Skill" + skill_idx.ToString() + cost_idx.ToString()); if (cost_trans != null) { MasterDataDefineLabel.ElementType element_type = skill_costs[skill_idx, cost_idx]; if (element_type != MasterDataDefineLabel.ElementType.NONE) { Image img = cost_trans.GetComponent <Image>(); if (img != null) { img.sprite = m_SkillCostElements[(int)element_type]; cost_trans.gameObject.SetActive(true); } else { cost_trans.gameObject.SetActive(false); } } else { cost_trans.gameObject.SetActive(false); } } } } } // キャライメージ { Transform chara_image_trans = m_MemberObject[idx].transform.Find("Image"); if (chara_image_trans != null) { BattleCharaImageViewControl chara_view_control = chara_image_trans.GetComponent <BattleCharaImageViewControl>(); if (chara_view_control != null) { chara_view_control.setCharaID(chara_id, BattleCharaImageViewControl.ImageType.FACE); } } } // リンクキャライメージ { Transform chara_image_trans = m_MemberObject[idx].transform.Find("ImageLink"); if (chara_image_trans != null) { BattleCharaImageViewControl chara_view_control = chara_image_trans.GetComponent <BattleCharaImageViewControl>(); if (chara_view_control != null) { chara_view_control.setCharaID(link_chara_id, BattleCharaImageViewControl.ImageType.FACE); } } } // キャラ個別HP { Transform chara_hp_trans = m_MemberObject[idx].transform.Find("HP"); if (chara_hp_trans != null) { Text text_component = chara_hp_trans.GetComponent <Text>(); if (text_component != null) { text_component.text = hp_text; } } if (damage_value != null) { int hp_delta = damage_value.getValue((GlobalDefine.PartyCharaIndex)idx); if (hp_delta > 0) { DrawDamageManager.showDamage(chara_hp_trans, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_WEEK, 50.0f); } } if (heal_value != null) { int hp_delta = heal_value.getValue((GlobalDefine.PartyCharaIndex)idx); if (hp_delta > 0) { DrawDamageManager.showDamage(chara_hp_trans, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_HEAL, 50.0f); EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_03, new Vector3(0.01975f, -0.0246875f, 0.0f), Vector3.zero, chara_hp_trans, null, 50.0f * 3.0f); } } } // スキルターン Transform skill_turn_trans = m_MemberObject[idx].transform.Find("SkillButton"); if (skill_turn_trans != null) { Text text_component = skill_turn_trans.GetChild(0).GetComponent <Text>(); if (text_component != null) { text_component.text = skill_name; } // ボタンのアクティブ・非アクティブ { Button button = skill_turn_trans.GetComponent <Button>(); button.interactable = is_active_skill_button; } } } // 敵にターゲットされているかどうかの表示 { Transform lock_on_object = m_MemberObject[idx].transform.Find("ImageLockOn"); if (lock_on_object != null) { lock_on_object.gameObject.SetActive(BattleParam.m_EnemyToPlayerTarget == (GlobalDefine.PartyCharaIndex)idx); } } // 状態異常 if (chara_once != null) { Transform ailment_object = m_MemberObject[idx].transform.Find("Ailment"); if (ailment_object != null) { InGameAilmentIcon ailment_icon = ailment_object.GetComponent <InGameAilmentIcon>(); if (ailment_icon != null) { StatusAilmentChara ailment_info = BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx); ailment_icon.SetStatus(ailment_info); //毎フレーム設定する必要はないがとりあえず設定しておく } } } } } }
public override void OnInspectorGUI() { GUILayoutOption option = GUILayout.Width(300f); DrawDefaultInspector(); TutorialDebugOption instance = target as TutorialDebugOption; if (GUILayout.Button("Carousel_Edit", option)) { TutorialManager.Instance.OnShowCarousel_UnitEdit(); } if (GUILayout.Button("Carousel_BuildUp", option)) { TutorialManager.Instance.OnShowCarousel_UnitBuildUp(); } if (GUILayout.Button("Carousel_Normal02", option)) { TutorialManager.Instance.OnShowCarousel_Scratch(); } if (GUILayout.Button("GoNextMainMenu", option)) { MainMenuManagerFSM.Instance.SendFsmNextEvent(); } if (GUILayout.Button("FinishStory", option)) { TutorialFSM.Instance.SendEvent_FinishStory(); } if (GUILayout.Button("FinishBattle", option)) { TutorialFSM.Instance.SendEvent_FinishBattle(); } if (GUILayout.Button("FinishQuestResult", option)) { TutorialFSM.Instance.SendEvent_FinishQuestResult(); } if (GUILayout.Button("GoOutBattle", option)) { // 中断復帰データの削除 InGameUtil.RemoveLocalData(); } if (GUILayout.Button("SendEventName", option)) { TutorialFSM.Instance.SendFsmEvent(instance.eventName); } if (GUILayout.Button("Next", option)) { TutorialFSM.Instance.SendFsmNextEvent(); } if (GUILayout.Button("GetMaster", option)) { MasterDataHero[] master = MasterFinder <MasterDataHero> .Instance.GetAll(); Debug.LogError("COUNT:" + master.Length); foreach (MasterDataHero h in master) { Debug.LogError("COUNT:" + h); } } if (GUILayout.Button("HeroDecide", option)) { MasterDataHero[] master = MasterFinder <MasterDataHero> .Instance.GetAll(); GameObject.FindObjectOfType <TutorialHeroSelect>().Decision(master.FirstOrDefault()); } if (GUILayout.Button("Skip", option)) { TutorialManager.Instance.Skip(); } }
public static bool ChkNoContinueQuest(uint missionID) { return(InGameUtil.ChkNoContinueQuest(missionID)); }