/// <summary> /// 種族ボーナス設定 /// </summary> /// <param name="skill_id"></param> public void setupRaceBonus(MasterDataParamChara cCharaMasterData) { BaseHeight = BASE_DEFAULT_HEIGHT; TitleHeight = TITLE_DEFAULT_HEIGHT; TitleWidth = RACE_BONUS_TITLE_WIDTH; MessageBgH = MESSAGE_BG_HEIGHT; setLinkTitleImage("skill_name_bg0", "RACE BONUS"); IsSkillItem = false; IsViewStatus = false; IsViewIcon = false; if (cCharaMasterData != null) { // 種族 LinkTitleText = GameTextUtil.GetKindToText(cCharaMasterData.kind, cCharaMasterData.sub_kind); // 説明文 SkillDetailText = CharaLinkUtil.GetLinkBonusRaceText(cCharaMasterData); } else { // 説明文 SkillDetailText = EmptyStr; } MessageBgResize(); }
void Update() { //---------------------------------------- // インスタンスのチェック //---------------------------------------- if (SceneObjReferGameMain.Instance == null) { return; } if (m_Window == null || m_WindowPos == null || m_CharaIcon == null // || m_Collision == null // || m_Caption == null // || m_Race == null // || m_Type == null // || m_Week == null // || m_Rare == null // || m_LabelTarget == null ) { return; } //---------------------------------------- // ターゲットマークがついている敵なのかチェック //---------------------------------------- bool isTarget = false; if (BattleParam.m_TargetEnemyWindow == BattleParam.m_TargetEnemyCurrent) { isTarget = true; } //---------------------------------------- // ターゲットウィンドウに表示する対象が設定されているかチェック //---------------------------------------- if (m_TargetID == InGameDefine.SELECT_NONE) { //---------------------------------------- // ターゲットウィンドウを閉じている時の処理 //---------------------------------------- m_TargetID = BattleParam.m_TargetEnemyWindow; if (m_TargetID != InGameDefine.SELECT_NONE && m_SetUpInfo == false) { BattleEnemy enemy = BattleParam.m_EnemyParam[m_TargetID]; if (enemy != null) { MasterDataParamChara charaParam = enemy.getMasterDataParamChara(); if (charaParam != null) { // 名前 Caption = charaParam.name; // 種族 Item_race_title = GameTextUtil.GetText("WORD_UNIT_KIND"); Item_race = GameTextUtil.GetKindToText(enemy.getKind(), enemy.getKindSub()); // 属性 Item_type_title = GameTextUtil.GetText("WORD_UNIT_ELEMENT"); Item_type = GameTextUtil.GetText(GameTextUtil.GetElemToTextKey(charaParam.element)); // 弱点 Item_week_title = GameTextUtil.GetText("WORD_UNIT_WEEK"); MasterDataDefineLabel.ElementType week = InGameUtilBattle.GetElementAffinity(charaParam.element); Item_week = GameTextUtil.GetText(GameTextUtil.GetElemToTextKey(week)); // レア Item_rare_title = GameTextUtil.GetText("WORD_RARE_JP"); Item_rare = GameTextUtil.GetText(GameTextUtil.GetRareToTextKey(charaParam.rare)); // 状態異常アイコンの設定 SetAilmentIcon(enemy); // キャラアイコンの設定 UnitIconImageProvider.Instance.Get( charaParam.fix_id, sprite => { Chara_icon = sprite; }); } // 特性情報の設定 SetAbilityInformation(enemy); // ターゲットボタンの状態を設定 SetTargetButton(isTarget); // ウィンドウの有効化 UnityUtil.SetObjectEnabledOnce(m_WindowPos, true); m_SetUpInfo = true; // 表示位置へ移動 gameObject.transform.localPosition = m_DispPos; m_bTouchReleaseAfterWindowOpen = false; //----------------------------------------------------- // 初期状態:基本情報から開始。 //----------------------------------------------------- ChangeState(ESTATE.eSTATE_PAGE_BASIC); return; } } } else { //---------------------------------------- // ターゲットウィンドウを開いている時の処理 //---------------------------------------- //------------------------------------------------------------- // 閉じるボタン押下によるウィンドウ閉じる処理。 //------------------------------------------------------------- bool dispChange = false; // 閉じる。 if (dispChange == true) { //--------------------------------------------------------- // ページ情報クリアのため、状態解除。 //--------------------------------------------------------- ChangeState(ESTATE.eSTATE_NULL); UnityUtil.SetUILabelValue(m_AbilityDetailObj[ABILITY_LABEL], ""); // ここでクリアしておかないと、別の敵でスクロールバーの表示判定がうまく機能しない m_SetUpInfo = false; m_TargetID = InGameDefine.SELECT_NONE; UnityUtil.SetObjectEnabledOnce(m_WindowPos, false); UnityUtil.SetObjectEnabledOnce(m_Collision, false); UnityUtil.SetObjectEnabledOnce(this.gameObject, false); return; } //------------------------------------------------------------- // 状態更新。 //------------------------------------------------------------- switch (m_eState) { case ESTATE.eSTATE_PAGE_BASIC: State_PageBasicUpdate(); break; case ESTATE.eSTATE_PAGE_STATUS: State_PageStatusAilmentUpdate(); break; case ESTATE.eSTATE_PAGE_ABILITY: State_PageAbilityUpdate(); break; } } }
private void SetLinkEffectInfo(CharaOnce cCharaOnce, MasterDataParamChara cCharaMasterData, bool bLink) { //---------------------------------------- // リンク効果設定 //---------------------------------------- //int nUnitId = (int)cCharaMasterData.fix_id; int nLv = cCharaOnce.m_CharaLevel; int nPlusHp = cCharaOnce.m_CharaPlusHP; int nPlusPow = cCharaOnce.m_CharaPlusPow; int nCost = cCharaMasterData.party_cost; uint unID = cCharaMasterData.fix_id; double nCharm = 0; //------------------------------------------------------------ // LINK BONUS //------------------------------------------------------------ //レベル Lv = nLv; //HP int nHp = (CharaLinkUtil.GetLinkUnitBonusElement(unID, nLv, 0, CharaUtil.VALUE.HP) + CharaLinkUtil.GetLinkUnitBonusPlus(nPlusHp, CharaUtil.VALUE.HP)); // ATK int nPow = (CharaLinkUtil.GetLinkUnitBonusElement(unID, nLv, 0, CharaUtil.VALUE.POW) + CharaLinkUtil.GetLinkUnitBonusPlus(nPlusPow, CharaUtil.VALUE.POW)); //COST Cost = nCost; uint nLinkPoint = 0; //リンクポイント if (bLink) { //リンク子の場合はリンクポイントを反映 nLinkPoint = (uint)cCharaOnce.m_LinkParam.m_CharaLinkPoint; float fLinkPoint = nLinkPoint * 0.01f; Link = string.Format(GameTextUtil.GetText("unit_linkstatus4"), fLinkPoint); } else { //ハイフン表示 Link = EmptyStr; } uint nLimitOverLevel = (uint)cCharaOnce.m_CharaLimitOver; if (nLimitOverLevel > 0) { // 限界突破タイプ int nLimitOverType = cCharaMasterData.limit_over_type; // 限界突破後のコスト //Cost = (int)CharaLimitOver.GetParam(nLimitOverLevel, nLimitOverType, (int)CharaLimitOver.EGET.ePARAM_COST); // 限界突破後のHp nHp = CharaLinkUtil.GetLinkUnitBonusElement(unID, nLv, nLimitOverLevel, CharaUtil.VALUE.HP) + CharaLinkUtil.GetLinkUnitBonusPlus(nPlusHp, CharaUtil.VALUE.HP); // 限界突破後のPow nPow = CharaLinkUtil.GetLinkUnitBonusElement(unID, nLv, nLimitOverLevel, CharaUtil.VALUE.POW) + CharaLinkUtil.GetLinkUnitBonusPlus(nPlusPow, CharaUtil.VALUE.POW); // CHARM nCharm = CharaLimitOver.GetParamCharm(nLimitOverLevel, nLimitOverType); } if (nPlusHp > 0) { Hp = string.Format(GameTextUtil.GetText("unit_linkstatus1"), nHp, nPlusHp); } else { Hp = nHp.ToString(); } if (nPlusPow > 0) { Atk = string.Format(GameTextUtil.GetText("unit_linkstatus1"), nPow, nPlusPow); } else { Atk = nPow.ToString(); } Charm = nCharm.ToString("F1"); //------------------------------------------------------------ // RACE BONUS //------------------------------------------------------------ // 種族 //RaceName = GameTextUtil.GetKindToText(cCharaOnce.kind, cCharaOnce.kind_sub); RaceName = GameTextUtil.GetKindToText(cCharaMasterData.kind, cCharaMasterData.sub_kind); // 説明文 RaceBonusMessage = CharaLinkUtil.GetLinkBonusRaceText(cCharaMasterData); SetLinkEffectSkill(cCharaMasterData, nLinkPoint); }