Ejemplo n.º 1
0
        public void Update(Input.InputState inputState)
        {
            selectedLevel = null;

            float fCol = (inputState.MousePos.X - levelBasePos.X) / levelSpacing.X;
            int Col = (int)fCol;
            if (Col < 0 || Col >= chapters.Count)
            {
                hovering = null;
                hoveringStar = false;
                return;
            }

            List<LevelState> levels = chapters[Col];
            float fRow = (inputState.MousePos.Y + levelSpacing.Y/3 - levelBasePos.Y) / levelSpacing.Y;
            int Row = (int)fRow;
            if (Row < 0 || Row >= levels.Count)
            {
                hovering = null;
                hoveringStar = false;
                return;
            }

            hovering = levels[Row];
            hoveringStar = (fCol - Col) > 0.1f;

            if (inputState.WasMouseLeftJustPressed())
            {
                selectedLevel = hovering;
            }
        }
Ejemplo n.º 2
0
 public void StartLevel(LevelState levelState)
 {
     currentLevel = levelState;
     showingWinScreen = null;
     if (levelState != null)
     {
         gameStates = new List<GameState>();
         GameState newState = new GameState(levelState.script);
         gameStateOnSkip = newState.GetGameStateOnSkip();
         gameStates.Add(newState);
         selectionState = new UISelectionState(newState);
     }
 }
Ejemplo n.º 3
0
 public LevelState GetNextLevel(LevelState currentLevel)
 {
     bool returnNext = false;
     foreach (List<LevelState> chapter in chapters)
     {
         foreach (LevelState level in chapter)
         {
             if (returnNext)
             {
                 return level;
             }
             else if (currentLevel == level)
             {
                 returnNext = true;
             }
         }
     }
     return null;
 }
Ejemplo n.º 4
0
        public void ReturnToMap(bool won)
        {
            gameStates = null;
            if (won && currentLevel != null)
            {
                currentLevel.done = true;

                if (currentLevel.script.unlocksCard != null)
                    currentLevel.script.unlocksCard.unlocked = true;

                showingWinScreen = currentLevel;
            }
            else
            {
                showingWinScreen = null;
            }
            currentLevel = null;
        }