void CustomDrawer(ref Boost pBoost, int pIndex) { Boost.Effect tEffect = pBoost.Effects[pIndex]; BaseEffect tBaseEffect = null; if (tEffect.EffectToRun == null) { tBaseEffect = BaseEffect.GetEffectObject(tEffect.Type); } else { tBaseEffect = tEffect.EffectToRun; } EffectDrawer.DrawTypeList(ref tBaseEffect, tEffect.Type); }
void DrawAddEffect(ref Boost pBoost) { EditorGUILayout.BeginHorizontal(); m_CurrentEffectType = (BaseEffect.EFFECT_TYPE)EditorGUILayout.EnumPopup(m_CurrentEffectType); if (GUILayout.Button("Add Effect")) { if (pBoost.Effects == null) { pBoost.Effects = new List <Boost.Effect>(); } Boost.Effect tEffect = new Boost.Effect(); tEffect.Type = m_CurrentEffectType; tEffect.m_Effect = BaseEffect.GetEffectObject(tEffect.Type); pBoost.Effects.Add(tEffect); } EditorGUILayout.EndHorizontal(); }
public void ApplyEffects() { for (int i = 0; i < m_Boosts.Count; i++) { if (m_Boosts[i].IsInEffect) { if (m_Boosts[i].Effects != null) { List <Boost.Effect> tBoardEffects = m_Boosts[i].Effects; if (tBoardEffects != null) { for (int k = 0; k < tBoardEffects.Count; k++) { BaseEffect tBaseEffect = BaseEffect.GetEffectObject(tBoardEffects[k].Type, tBoardEffects[k].EffectToRun); tBaseEffect.Effect(m_pBoard); } } } } } }