BattleSpell.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using CommonAI.Zone;
  2. using CommonAI.ZoneClient;
  3. using CommonLang.Geometry;
  4. using ET;
  5. using ET.Client;
  6. using ET.EventType;
  7. using Sirenix.Utilities;
  8. using System;
  9. using System.Security.Claims;
  10. public class BattleSpell : BattleObject
  11. {
  12. public Vector3 OriginPos;
  13. public ZoneSpell ZoneSpell { get { return ZoneObject as ZoneSpell; } }
  14. public override void OnAwake(ZoneObject zo)
  15. {
  16. base.OnAwake(zo);
  17. var zs = zo as ZoneSpell;
  18. OriginPos = new Vector3(zs.X, zs.Y, zs.LaunchHeight);
  19. if(!zs.Info.FileNameSpawn.IsNullOrWhitespace())
  20. {
  21. //出生特效
  22. var spawnEffect = new LaunchEffect()
  23. {
  24. Name = zs.Info.FileNameSpawn,
  25. SoundName = zs.Info.AudioName,
  26. IsLoop = zs.Info.IsAudioLoop
  27. };
  28. EventSystem.Instance.Publish<PlayEffectEvent>(PlayEffectEvent.Static.Clone(spawnEffect, zs.ObjectID, CommonLang.Geometry.Vector3.Zero));
  29. }
  30. }
  31. public override void OnSleep()
  32. {
  33. base.OnSleep();
  34. if(!ZoneSpell.Info.FileNameDestory.IsNullOrWhitespace())
  35. {
  36. //TODO:支持法术destroy特效
  37. }
  38. }
  39. }