public static void outputPlayerParty(CharaParty chara_party) { for (int idx = 0; idx < chara_party.getPartyMemberMaxCount(); idx++) { CharaOnce chara_once = chara_party.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST); if (chara_once != null) { DebugBattleLog.writeText(DebugBattleLog.StrOpe + "プレイヤー情報(" + ((GlobalDefine.PartyCharaIndex)idx).ToString() + ")" + " FixID:" + chara_once.m_CharaMasterDataParam.fix_id.ToString() + " DrawID:" + chara_once.m_CharaMasterDataParam.draw_id.ToString() + " LV:" + chara_once.m_CharaLevel.ToString() + " 属性:" + chara_once.m_CharaMasterDataParam.element.ToString() + " 種族1:" + chara_once.m_CharaMasterDataParam.kind.ToString() + " 種族2:" + chara_once.m_CharaMasterDataParam.sub_kind.ToString() + " [" + chara_once.m_CharaMasterDataParam.name.ToString() + "]" ); DebugBattleLog.writeText(DebugBattleLog.StrOpe + " " + " HP:" + chara_party.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx).ToString() + "/" + chara_party.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx).ToString() + " SkillTurn:" + chara_once.GetTrunToLimitBreak().ToString() + "/" + chara_once.GetMaxTurn().ToString() + " Hate:" + chara_party.m_Hate.getValue((GlobalDefine.PartyCharaIndex)idx).ToString() ); // 状態変化 StatusAilmentChara ailment = chara_party.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx); outputAilment(ailment); } } }
//------------------------------------------------------------------------ /*! * @brief 状態異常のパラメータの設定 * @param[in] StatusAilmentChara (charaAilmentChara) キャラ状態異常管理 */ //------------------------------------------------------------------------ public void SetStatus(StatusAilmentChara charaAilmentChara) { if (charaAilmentChara == null) { return; } m_AilmentChara = charaAilmentChara; }
public void setupCharaAilmentInfo(StatusAilmentChara ailmentChara) { AddAilmentInfo(GameTextUtil.GetText("battle_infotext1"), -1); int count = 1; for (int num = 0; num < (int)MasterDataDefineLabel.AilmentType.MAX; ++num) { if (ailmentChara.IsHavingAilment((MasterDataDefineLabel.AilmentType)num) == false) { continue; } int turn = 0; string detail = ""; // 残りターン数を取得 for (int n = 0; n < ailmentChara.GetAilmentCount(); ++n) { StatusAilment status_ailment = ailmentChara.GetAilment(n); if (status_ailment == null) { continue; } MasterDataDefineLabel.AilmentType type = status_ailment.nType; if (type != (MasterDataDefineLabel.AilmentType)num) { continue; } turn = status_ailment.nLife; MasterDataStatusAilmentParam master = MasterDataUtil.GetMasterDataStatusAilmentParam(status_ailment.nMasterDataStatusAilmentID); detail = master.detail; if (detail == "") { detail = master.name; } break; } AddAilmentInfo(detail, turn); ++count; } if (count == 1) { AddAilmentInfo("-", -1); } }
public static void outputAilmentChara(StatusAilmentChara chara_ailment, string text) { if (chara_ailment == null) { return; } string owner_chara_name = null; if (BattleParam.m_PlayerParty != null) { for (int idx = 0; idx < BattleParam.m_PlayerParty.getPartyMemberMaxCount(); idx++) { StatusAilmentChara work_ailment = BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx); if (work_ailment == chara_ailment) { owner_chara_name = ((GlobalDefine.PartyCharaIndex)idx).ToString(); break; } } } if (owner_chara_name == null && BattleParam.m_EnemyParam != null ) { for (int idx = 0; idx < BattleParam.m_EnemyParam.Length; idx++) { if (BattleParam.m_EnemyParam[idx].m_StatusAilmentChara == chara_ailment) { owner_chara_name = "敵" + idx.ToString(); break; } } } if (owner_chara_name == null) { owner_chara_name = ""; } DebugBattleLog.writeText(DebugBattleLog.StrOpe + owner_chara_name + text); }
public static void outputEnemyParty(BattleEnemy[] enemy_party) { for (int idx_enemy = 0; idx_enemy < enemy_party.Length; idx_enemy++) { BattleEnemy battle_enemy = enemy_party[idx_enemy]; DebugBattleLog.writeText(DebugBattleLog.StrOpe + "敵情報(" + idx_enemy.ToString() + ")" + " EnemyFixID:" + battle_enemy.getMasterDataParamEnemy().fix_id.ToString() + " CharaFixID:" + battle_enemy.getMasterDataParamChara().fix_id.ToString() + " 属性:" + battle_enemy.getMasterDataParamChara().element.ToString() + " 種族1:" + battle_enemy.getMasterDataParamChara().kind.ToString() + " 種族2:" + battle_enemy.getMasterDataParamChara().sub_kind.ToString() + " [" + battle_enemy.getMasterDataParamChara().name + "]" ); uint[] enemy_abilitys = battle_enemy.getEnemyAbilitys(); for (int idx_ability = 0; idx_ability < enemy_abilitys.Length; idx_ability++) { uint ability_fix_id = enemy_abilitys[idx_ability]; if (ability_fix_id != 0) { string ability_name = ""; MasterDataEnemyAbility ability_master = BattleParam.m_MasterDataCache.useEnemyAbility(ability_fix_id); if (ability_master != null) { ability_name = ability_master.name; } DebugBattleLog.writeText(DebugBattleLog.StrOpe + " 特性" + (idx_ability + 1).ToString() + "(FixId:" + ability_fix_id.ToString() + "):" + ability_name ); } } DebugBattleLog.writeText(DebugBattleLog.StrOpe + " " + " HP:" + battle_enemy.m_EnemyHP.ToString() + "/" + battle_enemy.m_EnemyHPMax.ToString() + " SkillTurn:" + battle_enemy.m_EnemyTurn.ToString() + "/" + battle_enemy.m_EnemyTurnMax.ToString() ); // 状態変化 StatusAilmentChara ailment = battle_enemy.m_StatusAilmentChara; outputAilment(ailment); } }
//---------------------------------------------------------------------------- /*! * @brief デフォルトコンストラクタ */ //---------------------------------------------------------------------------- public BattleEnemy() { m_EnemyID = 0; m_MasterDataParamEnemy = null; // 敵情報:敵マスターデータ m_MasterDataParamChara = null; // 敵情報:敵マスターデータ m_EnemyTurn = 0; // 敵情報:敵ターン m_EnemyHP = 10; // 敵情報:HP m_EnemyHPMax = 10; // 敵情報:HP最大 m_EnemyAttack = 10; // 敵情報:攻撃力 m_EnemyDefense = 10; // 敵情報:防御力 m_EnemyDrop = 0; // 敵情報:撃破時ドロップ m_StatusAilmentChara = null; // 敵情報:状態異常管理番号 m_Attack = true; // ターン遅延がかかってから攻撃を行ったかどうか m_EnemyActionTableControl = new EnemyActionTableControl(); m_EnemyActionTableControl.m_BattleEnemy = this; m_AdditionalEnemyAbilityIDs = new uint[EnemyAbility.ENEMY_ABILITY_ADD_MAX]; m_AdditionalEnemyAbilityTurns = new int[EnemyAbility.ENEMY_ABILITY_ADD_MAX]; }
public static void outputAilment(StatusAilmentChara chara_ailment) { for (int idx = 0; idx < chara_ailment.cAilment.Length; idx++) { StatusAilment ailment = chara_ailment.cAilment[idx]; if (ailment != null && ailment.bUsed ) { MasterDataStatusAilmentParam ailment_master = BattleParam.m_MasterDataCache.useAilmentParam((uint)ailment.nMasterDataStatusAilmentID); DebugBattleLog.writeText(DebugBattleLog.StrOpe + " 状態変化" + " FixID:" + ailment.nMasterDataStatusAilmentID.ToString() + " 効果種類:" + ailment.nType.ToString() + " 残ターン数:" + ailment.nLife + " 発動者ATK:" + ailment.nBaseAtk + " 受動者HP:" + ailment.nBaseHPMax + ((ailment_master != null) ? " 効果値(割合):" + ailment_master.Get_VALUE_RATE() : "") + ((ailment_master != null) ? " 効果値(固定):" + ailment_master.Get_VALUE_FIX() : "") + " [" + ((ailment_master != null) ? ailment_master.name : "") + "]" ); } } }
/// <summary> /// 敵に状態異常表示を設定 /// </summary> /// <param name="ailment_chara"></param> public void setAilment(StatusAilmentChara ailment_chara) { m_AilmentObject.GetComponent <InGameAilmentIcon>().SetStatus(ailment_chara); }
//------------------------------------------------------------------------ /*! * @brief 状態異常アイコンの設定 * @param[in] BattleEnemy (enemy) 対象の敵 */ //------------------------------------------------------------------------ private void SetAilmentIcon(BattleEnemy enemy) { // 初めに全てクリア m_AilmentChara = null; for (int num = 0; num < m_AilmentButtonSet.Length; ++num) { m_AilmentStatusID[num] = 0; UnityUtil.SetObjectEnabledOnce(m_AilmentButtonSet[num], false); } // 状態異常管理を取得 m_AilmentChara = enemy.m_StatusAilmentChara; //---------------------------------------- // エラーチェック //---------------------------------------- if (m_AilmentChara == null) { return; } string spriteName = ""; int count = 0; int turn = 0; bool empty = true; for (int num = 0; num < (int)MasterDataDefineLabel.AilmentType.MAX; ++num) { if (m_AilmentButtonSet[count] == null || m_AilmentIcon[count] == null || m_AilmentBalloon[count] == null || m_AilmentBalloonText[count] == null || m_AilmentChara.GetStatus()[num] == false) { continue; } // Sprite名を取得 spriteName = StatusAilmentIconUtil.GetResourceName((MasterDataDefineLabel.AilmentType)Enum.ToObject(typeof(MasterDataDefineLabel.AilmentType), num)); if (spriteName == "") { continue; } // Sprite切替 //UnityUtil.SetUIAtlasSprite( m_AilmentIcon[ count ], spriteName ); // 残りターン数を取得 for (int n = 0; n < m_AilmentChara.GetAilmentCount(); ++n) { if (m_AilmentChara.GetAilment(n) == null || m_AilmentChara.GetAilment(n).bUsed == false) { continue; } int type = (int)m_AilmentChara.GetAilment(n).nType; if (type != num) { continue; } // 状態異常IDを取得 m_AilmentStatusID[count] = n; // 残りターン数を取得 turn = m_AilmentChara.GetAilment(m_AilmentStatusID[count]).nLife; // 残りターン数が、0でない場合 if (turn > 0) { // 表示 UnityUtil.SetUILabelValue(m_AilmentBalloonText[count], turn.ToString("00")); UnityUtil.SetObjectEnabledOnce(m_AilmentBalloon[count], true); // バルーン UnityUtil.SetObjectEnabledOnce(m_AilmentBalloonText[count], true); // バルーンテキスト } else { // 非表示 UnityUtil.SetObjectEnabledOnce(m_AilmentBalloon[count], false); // バルーン UnityUtil.SetObjectEnabledOnce(m_AilmentBalloonText[count], false); // バルーンテキスト } } // EMPTYフラグOFF empty = false; // 表示ON UnityUtil.SetObjectEnabledOnce(m_AilmentButtonSet[count], true); ++count; // 表示限界チェック if (count >= m_AilmentButtonSet.Length) { break; } } // EMPTY文言表示有無 if (empty == true) { Empty_label = true; } else { Empty_label = false; } }
private void setSkillInfo() { int panel_put_count_base = PANEL_PUT_COUNT_BASE; #if BUILD_TYPE_DEBUG // パネル配置数をデバッグメニューの値で上書き { int debug_panel_put_count = BattleDebugMenu.getAutoPlayPanelPutCount(); if (debug_panel_put_count > 0) { panel_put_count_base = debug_panel_put_count; } } #endif //BUILD_TYPE_DEBUG m_SkillWorksInfo.init(panel_put_count_base); // オートプレイスキルの効果を集約 bool is_applied_ailment = false; for (int member_idx = 0; member_idx < MEMBER_ORDER.Length; member_idx++) { GlobalDefine.PartyCharaIndex member_type = MEMBER_ORDER[member_idx]; CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(member_type, CharaParty.CharaCondition.SKILL_PASSIVE); if (chara_once != null) { #if BUILD_TYPE_DEBUG // デバッグメニューで設定されたスキルを適用 { MasterDataDefineLabel.AutoPlaySkillType[] debug_skills = BattleDebugMenu.getAutoPlaySkill(member_type); if (debug_skills.IsNullOrEmpty() == false) { for (int debug_skill_idx = 0; debug_skill_idx < debug_skills.Length; debug_skill_idx++) { MasterDataDefineLabel.AutoPlaySkillType debug_skill_type = debug_skills[debug_skill_idx]; m_SkillWorksInfo.applySkill(debug_skill_type, member_type, false); } } } #endif //BUILD_TYPE_DEBUG // メインユニットのパッシブスキル { MasterDataSkillPassive passive_skill_master = BattleParam.m_MasterDataCache.useSkillPassive(chara_once.m_CharaMasterDataParam.skill_passive); if (passive_skill_master != null) { m_SkillWorksInfo.applySkill(passive_skill_master, member_type, false); } } // リンクユニットのパッシブスキル if (chara_once.m_LinkParam != null && chara_once.m_LinkParam.m_CharaID != 0 ) { MasterDataParamChara link_chara_master = BattleParam.m_MasterDataCache.useCharaParam(chara_once.m_LinkParam.m_CharaID); if (link_chara_master != null) { MasterDataSkillPassive link_passive_skill_master = BattleParam.m_MasterDataCache.useSkillPassive(link_chara_master.link_skill_passive); if (link_passive_skill_master != null) { m_SkillWorksInfo.applySkill(link_passive_skill_master, member_type, true); } } } // 状態異常にあるオートプレイ用スキルを反映 if (is_applied_ailment == false) { is_applied_ailment = true; StatusAilmentChara status_ailment_chara = BattleParam.m_PlayerParty.m_Ailments.getAilment(member_type); if (status_ailment_chara != null) { for (int ailment_idx = 0; ailment_idx < status_ailment_chara.GetAilmentCount(); ailment_idx++) { StatusAilment status_ailment = status_ailment_chara.GetAilment(ailment_idx); if (status_ailment != null) { if (status_ailment.nType == MasterDataDefineLabel.AilmentType.AUTO_PLAY_SKILL) { MasterDataStatusAilmentParam ailment_param = BattleParam.m_MasterDataCache.useAilmentParam((uint)status_ailment.nMasterDataStatusAilmentID); if (ailment_param != null) { MasterDataDefineLabel.AutoPlaySkillType auto_play_skill_type = ailment_param.Get_AUTO_PLAY_SKILL_TYPE(); m_SkillWorksInfo.applySkill(auto_play_skill_type, member_type, false); } } } } } } } } m_SkillWorksInfo.fix(); }
// 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); //毎フレーム設定する必要はないがとりあえず設定しておく } } } } } }