up,\r
down\r
};\r
+ const int moveCoolDown = 12;\r
+ const int shootCoolDown = 10;\r
//Member Variables\r
State state;\r
String CharName;\r
int pixelY;\r
bool visible;\r
int movementCoolDown;\r
+ Display theDisplay;\r
+ int projectileSpeed;\r
+ int projectileCoolDown;\r
\r
- public Human(Map _theMap, String Name, Texture2D model)\r
+ public Human(Map _theMap, String Name, Texture2D model, Texture2D projectile, Display mDisplay)\r
{\r
theMap = _theMap;\r
CharName = Name;\r
+ theDisplay = mDisplay;\r
\r
movementSpeed = 12; // randomly set now\r
health = 100;\r
//default state\r
state = State.up;\r
charModel = model;\r
- movementCoolDown = movementSpeed;\r
+ projectileModel = projectile;\r
+ projectileSpeed = 30;\r
+ \r
}\r
\r
public void LoadContent(ContentManager contentManager)\r
{\r
gridX -= 1;\r
gridY -= 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move upright\r
else if (keysPressed.Contains<Keys>(Keys.Up) && keysPressed.Contains<Keys>(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY - 1))\r
{\r
gridX += 1;\r
gridY -= 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move downleft\r
else if (keysPressed.Contains<Keys>(Keys.Down) && keysPressed.Contains<Keys>(Keys.Left) && theMap.IsCellOpen(gridX - 1, gridY + 1))\r
{\r
gridX -= 1;\r
gridY += 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move downright\r
else if (keysPressed.Contains<Keys>(Keys.Down) && keysPressed.Contains<Keys>(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY + 1))\r
{\r
gridX += 1;\r
gridY += 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move up\r
else if (keysPressed.Contains<Keys>(Keys.Up) && theMap.IsCellOpen(gridX, gridY - 1))\r
{\r
+ state = State.up;\r
gridY -= 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move down\r
else if (keysPressed.Contains<Keys>(Keys.Down) && theMap.IsCellOpen(gridX, gridY + 1))\r
{\r
+ state = State.down;\r
gridY += 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move left\r
else if (keysPressed.Contains<Keys>(Keys.Left) && theMap.IsCellOpen(gridX - 1, gridY))\r
{\r
+ state = State.left;\r
gridX -= 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
// move right\r
else if (keysPressed.Contains<Keys>(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY))\r
{\r
+ state = State.right;\r
gridX += 1;\r
- movementCoolDown = movementSpeed;\r
+ movementCoolDown = moveCoolDown;\r
}\r
}\r
- if (keysPressed.Contains<Keys>(Keys.Space))\r
+ if (projectileCoolDown > 0)\r
+ projectileCoolDown--;\r
+ else if (projectileCoolDown == 0)\r
{\r
- //TODO spawn projectile... needs to be added to display though\r
- if (state == State.up)\r
+ if (keysPressed.Contains<Keys>(Keys.Space))\r
{\r
- \r
+ //TODO spawn projectile... needs to be added to display though\r
+ if (state == State.up)\r
+ {\r
+ projectileCoolDown = shootCoolDown;\r
+ theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, -projectileSpeed), GridX, GridY - 1));\r
+ }\r
+ if (state == State.down)\r
+ {\r
+ projectileCoolDown = shootCoolDown;\r
+ theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, projectileSpeed), GridX, GridY + 1));\r
+ }\r
+ if (state == State.right)\r
+ {\r
+ projectileCoolDown = shootCoolDown;\r
+ theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(projectileSpeed, 0), GridX + 1, GridY));\r
+ }\r
+ if (state == State.left)\r
+ {\r
+ projectileCoolDown = shootCoolDown;\r
+ theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(-projectileSpeed, 0), GridX - 1, GridY));\r
+ }\r
}\r
}\r
}\r