Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. class EnemyAnimation : ZilchComponent
  2. {
  3. [Property]
  4. var MenacingStand : SpriteSource;
  5.  
  6. [Property]
  7. var MenacingWalk : SpriteSource;
  8.  
  9. [Property]
  10. var MenacingUp : SpriteSource;
  11.  
  12. [Property]
  13. var MenacingDown : SpriteSource;
  14.  
  15. [Property]
  16. var MaxDistance : Real;
  17.  
  18. [Property]
  19. var YToXDistance : Real;
  20.  
  21. var OldPosition : Real3;
  22.  
  23. var FirstRun : Boolean = true;
  24.  
  25. function Initialize(init : CogInitializer)
  26. {
  27. Zero.Connect(this.Space, Events.LogicUpdate, this.OnLogicUpdate);
  28. }
  29.  
  30. function OnLogicUpdate(event : UpdateEvent)
  31. {
  32. if(this.FirstRun)
  33. {
  34. this.OldPosition = this.Owner.Transform.Translation;
  35. this.FirstRun = false;
  36. }
  37.  
  38. if(this.Owner.Sprite.SpriteSource == this.MenacingStand)
  39. {
  40. if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > this.OldPosition.X)
  41. {
  42. this.Owner.Sprite.SpriteSource = this.MenacingWalk;
  43. }
  44.  
  45. if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y > this.OldPosition.Y &&
  46. this.Owner.Sprite.SpriteSource != this.MenacingWalk)
  47. {
  48. this.Owner.Sprite.SpriteSource = this.MenacingUp;
  49. }
  50.  
  51. if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y < this.OldPosition.Y &&
  52. this.Owner.Sprite.SpriteSource != this.MenacingWalk)
  53. {
  54. this.Owner.Sprite.SpriteSource = this.MenacingDown;
  55. }
  56. }
  57.  
  58. if(this.Owner.Sprite.SpriteSource == this.MenacingWalk)
  59. {
  60. if(this.Owner.Transform.Translation.X - this.OldPosition.X < this.MaxDistance &&
  61. this.Owner.Transform.Translation.Y - this.OldPosition.Y < this.MaxDistance)
  62. {
  63. this.Owner.Sprite.SpriteSource = this.MenacingStand;
  64. }
  65. }
  66.  
  67. if(this.Owner.Sprite.SpriteSource == this.MenacingUp)
  68. {
  69. var additiveOldPosition = Real3((this.OldPosition.X + this.YToXDistance) , this.OldPosition.Y , 0);
  70.  
  71. if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y < this.OldPosition.Y)
  72. {
  73. this.Owner.Sprite.SpriteSource = this.MenacingDown;
  74. }
  75.  
  76. if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > additiveOldPosition.X)
  77. {
  78. this.Owner.Sprite.SpriteSource = this.MenacingWalk;
  79. }
  80. }
  81.  
  82. if(this.Owner.Sprite.SpriteSource == this.MenacingDown)
  83. {
  84. var additiveOldPosition = Real3((this.OldPosition.X + this.YToXDistance) , this.OldPosition.Y , 0);
  85.  
  86. if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y > this.OldPosition.Y &&
  87. this.Owner.Sprite.SpriteSource != this.MenacingWalk)
  88. {
  89. this.Owner.Sprite.SpriteSource = this.MenacingUp;
  90. }
  91.  
  92. if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > additiveOldPosition.X)
  93. {
  94. this.Owner.Sprite.SpriteSource = this.MenacingWalk;
  95. }
  96. }
  97.  
  98. if(this.Owner.Transform.Translation.X - this.OldPosition.X <= this.MaxDistance &&
  99. this.Owner.Transform.Translation.Y - this.OldPosition.Y <= this.MaxDistance)
  100. {
  101. this.Owner.Sprite.SpriteSource = this.MenacingStand;
  102. }
  103.  
  104. if(this.Owner.Sprite.SpriteSource == this.MenacingWalk && this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance &&
  105. this.Owner.Transform.Translation.X < this.OldPosition.X)
  106. {
  107. this.Owner.Sprite.FlipX;
  108. }
  109.  
  110. this.OldPosition = this.Owner.Transform.Translation;
  111.  
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement