コード例 #1
0
 public void AddEffect(StatEffectData effectData)
 {
     if (!m_effectsDictionary.ContainsKey(effectData.EffectType))
     {
         m_effectsDictionary.Add(effectData.EffectType, new List <StatEffectData>());
     }
     m_effectsDictionary[effectData.EffectType].Add(effectData);
     if (m_statusEffectPanel != null)
     {
         m_statusEffectPanel.UpdatePanel(effectData, 1 /*TODO: Get the stacked value*/);
     }
 }
コード例 #2
0
 public override void Init(EffectData effectData)
 {
     base.Init(effectData);
     if (effectData is StatEffectData)
     {
         m_statEffectData = (StatEffectData)effectData;
     }
     else
     {
         Debug.LogError("An AOE Effect Trigger does not have a Stat Effect type");
     }
 }
コード例 #3
0
 public void RemoveEffect(StatEffectData effectData)
 {
     if (!m_effectsDictionary.ContainsKey(effectData.EffectType))
     {
         return;
     }
     for (var i = 0; i < m_effectsDictionary[effectData.EffectType].Count; i++)
     {
         if (m_effectsDictionary[effectData.EffectType][i] == effectData)
         {
             m_effectsDictionary[effectData.EffectType].RemoveAt(i);
             i--;
         }
     }
     if (m_effectsDictionary[effectData.EffectType].Count == 0)
     {
         m_effectsDictionary.Remove(effectData.EffectType);
         if (m_statusEffectPanel != null)
         {
             m_statusEffectPanel.UpdatePanel(effectData, 0 /*TODO: Get the stacked value*/);
         }
     }
 }
コード例 #4
0
    public void UpdatePanel(StatEffectData data, int amount)
    {
        if (m_statEffectDictionnary.ContainsKey(data.EffectType))
        {
            m_statEffectDictionnary[data.EffectType].SetStackAmount(amount);

            if (m_statEffectDictionnary[data.EffectType].StackAmount <= 0)
            {
                m_statEffectDictionnary.Remove(data.EffectType);
            }
        }
        else
        {
            foreach (var effectUi in m_effectUis)
            {
                if (!effectUi.gameObject.activeSelf)
                {
                    effectUi.Init(data.EffectSprite, amount);
                    m_statEffectDictionnary.Add(data.EffectType, effectUi);
                    break;
                }
            }
        }
    }
コード例 #5
0
 protected void SufferEffect(StatEffectData effectData, int amount)
 {
 }