public static void MovePlayer(this LevelGrid level, Point oldPos, Point newPos) { ElementType type = level.GetElement(oldPos); switch (type) { case ElementType.Man: level.SetElement(oldPos, ElementType.Floor); break; case ElementType.ManOnGoal: level.SetElement(oldPos, ElementType.Goal); break; default: return; } ElementType type2 = level.GetElement(newPos); switch (type2) { case ElementType.Floor: level.SetElement(newPos, ElementType.Man); break; case ElementType.Goal: level.SetElement(newPos, ElementType.ManOnGoal); break; default: return; } }
public static void MoveBox(this LevelGrid level, Point oldPos, Point newPos) { var type = level.GetElement(oldPos); switch (type) { case ElementType.Box: level.SetElement(oldPos, ElementType.Floor); break; case ElementType.BoxOnGoal: level.SetElement(oldPos, ElementType.Goal); break; default: return; } var type2 = level.GetElement(newPos); switch (type2) { case ElementType.Floor: level.SetElement(newPos, ElementType.Box); break; case ElementType.Goal: level.SetElement(newPos, ElementType.BoxOnGoal); break; default: return; } }