MagicWeaponPingDouState.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Core.State;
  2. using Fort23.Core;
  3. using Fort23.UTool;
  4. using GameLogic.Combat.CombatTool;
  5. using UnityEngine;
  6. namespace GameLogic.Combat.Hero.State
  7. {
  8. public class MagicWeaponPingDouState : CombatHeroStateBasic
  9. {
  10. public class MagicWeaponPingDouData : CObject, IStateEnterData
  11. {
  12. public CombatMagicWeaponEntity target;
  13. public override void ActiveObj()
  14. {
  15. }
  16. public override void DormancyObj()
  17. {
  18. }
  19. }
  20. private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
  21. private Vector3 startPos;
  22. private Vector3 endPos;
  23. private float _addTime;
  24. private float _currTime;
  25. private MagicWeaponPingDouData _magicWeaponPingDouData;
  26. private ParticleSystemPool _particleSystemPool1;
  27. private ParticleSystemPool _particleSystemPool2;
  28. public MagicWeaponPingDouState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  29. {
  30. myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
  31. }
  32. protected override void ProEnter()
  33. {
  34. CombatController.currActiveCombat.GameTimeLineParticleFactory.CreateParticle("fx_对拼气罩_loop",
  35. myCombatMagicWeaponEntity.dotPos, null, false, null, delegate(ParticleSystemPool particleSystemPool)
  36. {
  37. particleSystemPool.transform.rotation =
  38. myCombatMagicWeaponEntity.GameObject.transform.rotation;
  39. _particleSystemPool1= particleSystemPool;
  40. });
  41. CombatController.currActiveCombat.GameTimeLineParticleFactory.CreateParticle("fx_对拼点",
  42. myCombatMagicWeaponEntity.dotPos, null, false, null, delegate(ParticleSystemPool particleSystemPool)
  43. {
  44. particleSystemPool.transform.rotation =
  45. myCombatMagicWeaponEntity.GameObject.transform.rotation;
  46. _particleSystemPool2= particleSystemPool;
  47. });
  48. }
  49. protected override void ProUpdate(float t)
  50. {
  51. }
  52. protected override void ProExit()
  53. {
  54. GObjectPool.Instance.Recycle(_particleSystemPool1);
  55. GObjectPool.Instance.Recycle(_particleSystemPool2);
  56. _particleSystemPool1 = null;
  57. _particleSystemPool2 = null;
  58. }
  59. public override bool IsUpdateLockTarget()
  60. {
  61. return false;
  62. }
  63. protected override void ProDispose()
  64. {
  65. }
  66. }
  67. }