using System.Collections.Generic;
public static void Main()
Entity ent1 = new Entity();
Console.WriteLine("ent1 direction:"+ent1.direction);
for(int i = 0; i< ent1.entityStance.Length;i++)
Console.WriteLine("ent1 direction:"+ Enum.GetName(typeof(Direction), i)+" stanceState:"+ent1.entityStance[i]);
public Vector2(int x, int y)
public Vector2(Vector2 v2)
public EntityStanceState[] entityStance = new EntityStanceState[4];
public Direction direction;
entityStance[(int)Direction.Down] = EntityStanceState.Normal;
entityStance[(int)Direction.Left] = EntityStanceState.Flank;
entityStance[(int)Direction.Up] = EntityStanceState.Vulnerable;
entityStance[(int)Direction.Right] = EntityStanceState.Flank;
direction = Direction.Down;
public void ChangeDirection(Direction dir)
public void UpdateEntityStance(Direction newDirection)
entityStance[2] = EntityStanceState.Vulnerable;
entityStance[1] = EntityStanceState.Flank; entityStance[3] = EntityStanceState.Flank;
entityStance[0] = EntityStanceState.Normal;
EntityStanceState tempDown;
EntityStanceState tempUp;
EntityStanceState tempLeft;
EntityStanceState tempRight;
tempDown = entityStance[(int)Direction.Down];
tempUp = entityStance[(int)Direction.Up];
tempLeft = entityStance[(int)Direction.Left];
tempRight = entityStance[(int)Direction.Right];
tempDown = entityStance[(int)Direction.Down];
tempUp = entityStance[(int)Direction.Up];
tempLeft = entityStance[(int)Direction.Left];
tempRight = entityStance[(int)Direction.Right];
EntityStanceState tempDown = entityStance[(int)Direction.Down];
EntityStanceState tempUp = entityStance[(int)Direction.Right];
EntityStanceState tempLeft = entityStance[(int)Direction.Up];
EntityStanceState tempRight = entityStance[(int)Direction.Right];
entityStance[(int)Direction.Down] = tempUp;
entityStance[(int)Direction.Up] = tempDown;
entityStance[(int)Direction.Right] = tempLeft;
entityStance[(int)Direction.Left] = tempRight;
EntityStanceState tempDown = entityStance[(int)Direction.Down];
EntityStanceState tempUp = entityStance[2];
EntityStanceState tempLeft = entityStance[1];
EntityStanceState tempRight = entityStance[3];
entityStance[0] = tempUp;
entityStance[1] = tempRight;
entityStance[2] = tempDown;
entityStance[3] = tempLeft;
public enum EntityStanceState
Normal, Vulnerable, Block, Flank