SPChangeFromCaster.cs 911 B

12345678910111213141516171819202122232425262728293031
  1. using UnityEngine;
  2. using System.Collections;
  3. public class SPChangeFromCaster : TickFunctionEvent
  4. {
  5. public static SPChangeFromCaster Creator(BuffFunctionData data)
  6. {
  7. return new SPChangeFromCaster(data);
  8. }
  9. public SPChangeFromCaster(BuffFunctionData data):base(data)
  10. {
  11. }
  12. public override void Enter(Fighter fighter)
  13. {
  14. base.Enter(fighter);
  15. if (mCaster != null && fighter.IsAlive)
  16. {
  17. float addSp = (mCaster.GetAttrByType(Data.fromAttr) * fighter.GetBuffPercentValue(Buff_Function_Type.Add_SP_From_Caster));
  18. fighter.Sp += addSp;
  19. if(mCaster.Statistics != null)
  20. mCaster.Statistics.StatSPInfo(mCaster, (int)addSp);
  21. fighter.RefreshSp();
  22. EventMgr.DispatchEvent<Fighter,int>(new CoreEvent<Fighter,int>(ECoreEventType.EID_Fighter_AddSp, fighter,(int)addSp));
  23. }
  24. }
  25. }