Пример #1
0
    /// <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);
    }
Пример #2
0
    /// <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);
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
    // 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);
                    }
                }
            }
        }
    }