/// <summary> /// 復活スキル情報を取得 /// </summary> /// <returns></returns> public ResurrectInfo getResurrectInfo() { ResurrectInfo ret_val = null; if (skill_type == MasterDataDefineLabel.SkillType.RESURRECT) { ret_val = new ResurrectInfo(); ret_val.m_FixCount = skill_param_00; ret_val.m_AddCount = skill_param_01; ret_val.m_AddChancePercent = skill_param_02; ret_val.m_HpPercent = skill_param_03; ret_val.m_AddSpUse = skill_param_04; ret_val.m_FixSpUse = ret_val.m_AddSpUse; } return(ret_val); }
/// <summary> /// 復活スキル情報を取得 /// </summary> /// <returns></returns> public ResurrectInfo getResurrectInfo() { ResurrectInfo ret_val = null; if (skill_type == MasterDataDefineLabel.SkillType.RESURRECT) { ret_val = new ResurrectInfo(); ret_val.m_FixCount = value0; ret_val.m_AddCount = value1; ret_val.m_AddChancePercent = value2; ret_val.m_HpPercent = value3; ret_val.m_AddSpUse = value4; ret_val.m_FixSpUse = 0; // リミットブレイクスキルは固定復活ではSP消費しない } return(ret_val); }
/// <summary> /// 復活スキル情報を取得 /// </summary> /// <returns></returns> public ResurrectInfo getResurrectInfo() { if (m_ResurrectInfo == null) { if (skill_type == MasterDataDefineLabel.SkillType.RESURRECT) { m_ResurrectInfo = new ResurrectInfo(); m_ResurrectInfo.m_FixCount = param_00; m_ResurrectInfo.m_AddCount = param_01; m_ResurrectInfo.m_AddChancePercent = param_02; m_ResurrectInfo.m_HpPercent = param_03; m_ResurrectInfo.m_AddSpUse = param_04; m_ResurrectInfo.m_FixSpUse = m_ResurrectInfo.m_AddSpUse; } } return(m_ResurrectInfo); }
// Update is called once per frame void Update() { if (m_IconObjects != null) { for (int field_idx = 0; field_idx < m_FieldAreaCount; field_idx++) { for (int skill_idx = 0; skill_idx < m_SkillCounts[field_idx]; skill_idx++) { Sprite sprite = null; MasterDataSkillActive master_data_skill_active = BattleParam.m_MasterDataCache.useSkillActive((uint)m_SkillIDs[field_idx, skill_idx]); if (master_data_skill_active != null) { Sprite[] element_sprite = null; switch (master_data_skill_active.skill_element) { case MasterDataDefineLabel.ElementType.NAUGHT: element_sprite = m_SpritesNaught; break; case MasterDataDefineLabel.ElementType.FIRE: element_sprite = m_SpritesFire; break; case MasterDataDefineLabel.ElementType.WATER: element_sprite = m_SpritesWater; break; case MasterDataDefineLabel.ElementType.LIGHT: element_sprite = m_SpritesLight; break; case MasterDataDefineLabel.ElementType.DARK: element_sprite = m_SpritesDark; break; case MasterDataDefineLabel.ElementType.WIND: element_sprite = m_SpritesWind; break; case MasterDataDefineLabel.ElementType.HEAL: element_sprite = m_SpritesHeal; break; } if (element_sprite != null) { switch (master_data_skill_active.skill_type) { case MasterDataDefineLabel.SkillType.ATK_ONCE: sprite = element_sprite[0]; break; case MasterDataDefineLabel.SkillType.ATK_ALL: sprite = element_sprite[1]; break; case MasterDataDefineLabel.SkillType.HEAL: sprite = m_SpritesHeal[1]; // 属性に関係なく回復アイコンを出す. break; case MasterDataDefineLabel.SkillType.SUPPORT: sprite = element_sprite[1]; break; } } ResurrectInfo resurrent_info = master_data_skill_active.getResurrectInfo(); if (resurrent_info != null) { int recov_count = resurrent_info.m_FixCount + resurrent_info.m_AddCount; if (recov_count >= 2) { sprite = m_SpritesResurr[1]; } else { sprite = m_SpritesResurr[0]; } } } if (sprite != null) { mSpriteRenderers[field_idx, skill_idx].sprite = sprite; if (m_IconObjects[field_idx, skill_idx].IsActive() == false) { m_IconObjects[field_idx, skill_idx].SetActive(true); } } else { if (m_IconObjects[field_idx, skill_idx].IsActive()) { m_IconObjects[field_idx, skill_idx].SetActive(false); } } } for (int skill_idx = m_SkillCounts[field_idx]; skill_idx < m_SkillCountMax; skill_idx++) { if (m_IconObjects[field_idx, skill_idx].IsActive()) { m_IconObjects[field_idx, skill_idx].SetActive(false); } } } } }