Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class EnemyAnimation : ZilchComponent
- {
- [Property]
- var MenacingStand : SpriteSource;
- [Property]
- var MenacingWalk : SpriteSource;
- [Property]
- var MenacingUp : SpriteSource;
- [Property]
- var MenacingDown : SpriteSource;
- [Property]
- var MaxDistance : Real;
- [Property]
- var YToXDistance : Real;
- var OldPosition : Real3;
- var FirstRun : Boolean = true;
- function Initialize(init : CogInitializer)
- {
- Zero.Connect(this.Space, Events.LogicUpdate, this.OnLogicUpdate);
- }
- function OnLogicUpdate(event : UpdateEvent)
- {
- if(this.FirstRun)
- {
- this.OldPosition = this.Owner.Transform.Translation;
- this.FirstRun = false;
- }
- if(this.Owner.Sprite.SpriteSource == this.MenacingStand)
- {
- if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > this.OldPosition.X)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingWalk;
- }
- if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y > this.OldPosition.Y &&
- this.Owner.Sprite.SpriteSource != this.MenacingWalk)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingUp;
- }
- if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y < this.OldPosition.Y &&
- this.Owner.Sprite.SpriteSource != this.MenacingWalk)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingDown;
- }
- }
- if(this.Owner.Sprite.SpriteSource == this.MenacingWalk)
- {
- if(this.Owner.Transform.Translation.X - this.OldPosition.X < this.MaxDistance &&
- this.Owner.Transform.Translation.Y - this.OldPosition.Y < this.MaxDistance)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingStand;
- }
- }
- if(this.Owner.Sprite.SpriteSource == this.MenacingUp)
- {
- var additiveOldPosition = Real3((this.OldPosition.X + this.YToXDistance) , this.OldPosition.Y , 0);
- if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y < this.OldPosition.Y)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingDown;
- }
- if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > additiveOldPosition.X)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingWalk;
- }
- }
- if(this.Owner.Sprite.SpriteSource == this.MenacingDown)
- {
- var additiveOldPosition = Real3((this.OldPosition.X + this.YToXDistance) , this.OldPosition.Y , 0);
- if(this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance && this.Owner.Transform.Translation.Y > this.OldPosition.Y &&
- this.Owner.Sprite.SpriteSource != this.MenacingWalk)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingUp;
- }
- if(this.Owner.Transform.Translation.X - this.OldPosition.X >= this.MaxDistance && this.Owner.Transform.Translation.X > additiveOldPosition.X)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingWalk;
- }
- }
- if(this.Owner.Transform.Translation.X - this.OldPosition.X <= this.MaxDistance &&
- this.Owner.Transform.Translation.Y - this.OldPosition.Y <= this.MaxDistance)
- {
- this.Owner.Sprite.SpriteSource = this.MenacingStand;
- }
- if(this.Owner.Sprite.SpriteSource == this.MenacingWalk && this.Owner.Transform.Translation.Y - this.OldPosition.Y >= this.MaxDistance &&
- this.Owner.Transform.Translation.X < this.OldPosition.X)
- {
- this.Owner.Sprite.FlipX;
- }
- this.OldPosition = this.Owner.Transform.Translation;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement