Пример #1
0
        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);
        }
Пример #2
0
 public Level(Thakur thakur, IList<string> lines)
 {
     Thakur = thakur;
     LevelStatus = LevelStatus.InProgress;
     LoadGameObjects(lines);
 }