BattleSpell.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. private LaunchEffect spawnEffect;
  15. public override void OnAwake(ZoneObject zo)
  16. {
  17. base.OnAwake(zo);
  18. var zs = zo as ZoneSpell;
  19. OriginPos = new Vector3(zs.X, zs.Y, zs.LaunchHeight);
  20. if(!zs.Info.FileNameSpawn.IsNullOrWhitespace())
  21. {
  22. if(spawnEffect == null)
  23. {
  24. spawnEffect = new LaunchEffect()
  25. {
  26. Name = zs.Info.FileNameSpawn,
  27. SoundName = zs.Info.AudioName,
  28. IsLoop = zs.Info.IsAudioLoop
  29. };
  30. }
  31. EventSystem.Instance.Publish<PlayEffectEvent>(PlayEffectEvent.Static.Clone(spawnEffect, zs.ObjectID, CommonLang.Geometry.Vector3.Zero));
  32. }
  33. }
  34. }