public void CreateSpell(Func <int, int, ISpell> spell) { var newX = 0; var newY = 0; Useful.XyPlusKeys(X, Y, this.GazeDirection, ref newX, ref newY); Model.Spells.AddLast(spell(newX, newY)); }
public bool IsInsideMap(int x, int y, Keys key) { var newX = 0; var newY = 0; Useful.XyPlusKeys(x, y, key, ref newX, ref newY); return (IsInsideMap(newX, newY)); }
private bool checkThree(int x, int y, Keys direction) { Useful.XyPlusKeys(x, y, direction, ref x, ref y); if (!Model.IsInsideMap(x, y)) { return(false); } return (Model.ItemsMap[x, y].Count > 0 && Model.ItemsMap[x, y].Peek() is ThreeItem); }
public override void ForMoveStart() { var newX = X; var newY = Y; Useful.XyPlusKeys(newX, newY, GazeDirection, ref newX, ref newY); var willDie = Model.MobMap[newX, newY].Where(mob => mob != this && !(mob is SporeMob)).ToArray(); for (var i = 0; i < willDie.Length; i++) { willDie[i].Destroy(); } }
private bool checkDirection(Keys key) { var x = X; var y = Y; for (int i = 0; i < 2; i++) { Useful.XyPlusKeys(x, y, key, ref x, ref y); if (!Model.IsInsideMap(x, y)) { return(false); } if (Model.MobMap[x, y].Count > 0) { return(true); } } return(false); }