private void CollectGameObject(GameObjectBase gameObject, MovementDirection kidher) { if (gameObject is NextBoard) { LevelStatus = LevelStatus.BoardCompleted; return; } Thakur.Move(kidher); if (gameObject == null) return; if (gameObject is ArrowBase) { Thakur.Move(kidher); return; } if (gameObject is Taaqat) Thakur.Taaqat += Taaqat.Steps; if (gameObject is SabzChaabi) Thakur.HasSabzChaabi = true; if (gameObject is LaalChaabi) Thakur.HasLaalChaabi = true; if (gameObject is Paisa) PaisaCollected++; if (gameObject is SabzTaala && Thakur.HasSabzChaabi) { foreach (var sabzDirwaaza in _dirwaazay.OfType<SabzDirwaaza>()) EmptyGameObject(sabzDirwaaza); Thakur.HasSabzChaabi = false; } if (gameObject is LaalTaala && Thakur.HasLaalChaabi) { foreach (var laalDirwaaza in _dirwaazay.OfType<LaalDirwaaza>()) EmptyGameObject(laalDirwaaza); Thakur.HasLaalChaabi = false; } if (gameObject is Victory) LevelStatus = LevelStatus.Completed; EmptyGameObject(gameObject); }
public Level(Thakur thakur, IList<string> lines) { Thakur = thakur; LevelStatus = LevelStatus.InProgress; LoadGameObjects(lines); }