SPChangePercent.cs 880 B

1234567891011121314151617181920212223242526272829303132
  1. using UnityEngine;
  2. using System.Collections;
  3. public class SPChangePercent : TickFunctionEvent
  4. {
  5. public static SPChangePercent Creator(BuffFunctionData data)
  6. {
  7. return new SPChangePercent(data);
  8. }
  9. public SPChangePercent(BuffFunctionData data) : base(data)
  10. {
  11. }
  12. public override void Enter(Fighter fighter)
  13. {
  14. base.Enter(fighter);
  15. if (fighter.IsAlive)
  16. {
  17. float addSp = (fighter.GetAttrByType(Data.fromAttr) * fighter.GetBuffPercentValue(Buff_Function_Type.SP_Change_Percent));
  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. }