//------------------------------------------------------------------------ /*! * @brief 特性情報を表示 */ //------------------------------------------------------------------------ private void SetAbilityInformation(BattleEnemy enemy) { MasterDataEnemyAbility abilityMaster = null; string abilityLabel = ""; // 特性を配列化 uint[] enemyAbility = enemy.getEnemyAbilitys(); //-------------------------------- // ラベルをクリア(正常動作の場合、上書きされるのでクリアしなくてもいいが念のため) //-------------------------------- UnityUtil.SetUILabelValue(m_AbilityDetailObj[ABILITY_LABEL], ""); //-------------------------------- // 所持特性を全チェック //-------------------------------- int nLineCnt = 0; for (int num = 0; num < enemyAbility.Length; ++num) { if (enemyAbility[num] == 0) { continue; } // 特性マスターを取得 abilityMaster = MasterDataUtil.GetEnemyAbilityParamFromID((int)enemyAbility[num]); if (abilityMaster == null) { continue; } // 表示文を取得 if (abilityMaster.name != "") { abilityLabel += abilityMaster.name + "\r\n"; ++nLineCnt; } if (abilityMaster.detail != "") { abilityLabel += abilityMaster.detail + "\r\n"; ++nLineCnt; if (abilityMaster.detail.Contains("\r\n")) { ++nLineCnt; } } } // 特性情報ボタンの有効無効チェック if (abilityLabel != "") { // 末尾の改行コードを削除 abilityLabel = abilityLabel.Substring(0, (abilityLabel.Length - 2)); // ラベルを設定 UnityUtil.SetUILabelValue(m_AbilityDetailObj[ABILITY_LABEL], abilityLabel); // EMPTY文言非表示 UnityUtil.SetObjectEnabledOnce(m_AbilityDetailObj[AILMENT_LABEL_EMPTY], false); #if false // ボタンを有効化 UnityUtil.SetObjectEnabledOnce(m_ButtonAbilityInfo, true); #endif //#if true // // 一定行数以上であれば、スクロールバーの表示をON。 // UIDraggablePanel cUIDraggablePanel = m_DragNGUIDragPanelObj.GetComponent( typeof(UIDraggablePanel) ) as UIDraggablePanel; // if( null != cUIDraggablePanel ) // { // cUIDraggablePanel.enabled = ( nLineCnt > ABILITY_DRAGGABLEPANEL_ENABLE_LINE ); // }; //#else // // スクロールロック判定(250は、MsgListのUIPanelサイズ) // UnityUtil.SetDraggablePanelAutoLockUILabelHeight( m_DragNGUIDragPanelObj, m_AbilityDetailObj[ ABILITY_LABEL ], 250 ); //#endif //スクロール設定 // UnityUtil.SetDraggablePanelAutoLockUILabelHeight(m_DragNGUIDragPanelObj, m_AbilityDetailObj[ABILITY_LABEL], 250, false); } else { // EMPTY文言表示 UnityUtil.SetObjectEnabledOnce(m_AbilityDetailObj[AILMENT_LABEL_EMPTY], true); }
public void setupEnemyAbilityInfo(BattleEnemy enemy) { //-------------------------------- // エネミーマスターを取得 //-------------------------------- MasterDataParamEnemy enemyMaster = enemy.getMasterDataParamEnemy(); if (enemyMaster == null) { return; } AddAbilityInfo(GameTextUtil.GetText("battle_infotext2"), -1); // 特性を配列化 uint[] enemyAbility = enemy.getEnemyAbilitys(); int[] enemy_ability_turns = enemy.getEnemyAbilityTurns(); //-------------------------------- // 所持特性を全チェック //-------------------------------- bool is_write = false; for (int num = 0; num < enemyAbility.Length; ++num) { if (enemyAbility[num] == 0) { continue; } // 特性マスターを取得 MasterDataEnemyAbility abilityMaster = MasterDataUtil.GetEnemyAbilityParamFromID((int)enemyAbility[num]); if (abilityMaster == null) { continue; } // 表示文を取得 int enemy_ability_turn = enemy_ability_turns[num]; if (abilityMaster.name != "") { AddAbilityInfo(abilityMaster.name, enemy_ability_turn); enemy_ability_turn = 0; } if (abilityMaster.detail != "") { AddAbilityInfo(abilityMaster.detail, enemy_ability_turn); } is_write = true; } if (is_write) { // 何か敵特性があるときは、状態異常表示の前に空行がある AddAbilityInfo("", -1); } else { AddAbilityInfo("-", -1); } }