public override int GetHashCode()
        {
            int hashCode = -1966952206;

            hashCode = hashCode * -1521134295 + StageIndex.GetHashCode();
            hashCode = hashCode * -1521134295 + LogIndex.GetHashCode();
            return(hashCode);
        }
 public StageManager(Game game, StageIndex firstStage = StageIndex.Null)
     : base(game)
 {
     nowStage = StageIndex.Null;
     if (firstStage == StageIndex.Null)
         nextStage = StageIndex.Blank;  // Default value of the first stage
     else
         nextStage = firstStage;
 }
        /// <summary>
        /// Returns hash code of the stage object.
        /// </summary>
        public override int GetHashCode()
        {
            var hashCode = -1406906831;

            hashCode = hashCode * -1521134295 + StageIndex.GetHashCode();
            hashCode = hashCode * -1521134295 + Started.GetHashCode();
            hashCode = hashCode * -1521134295 + Won.GetHashCode();
            hashCode = hashCode * -1521134295 + AlmostWon.GetHashCode();
            return(hashCode);
        }
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            // Remove old stage and add new stage
            if (nowStage != nextStage)
            {
                if (Game.Components.Count >= 2)
                    Game.Components.RemoveAt(1);
                switch (nextStage)  // Instantiate stage according to the index
                {
                    case StageIndex.Blank:
                        Game.Components.Insert(1, new Stage_Blank(Game, 60f));
                        break;
                }
                nowStage = nextStage;
            }

            // Ready to change stage
            Stage temp = (Stage)Game.Components[1];
            if (temp.isFinished == true)
                nextStage = temp.NextStage;
        }
Exemple #5
0
 protected void ChangeStage(StageIndex nextStage)
 {
     SprMgrClct.Clear();
     isFinished = true;
     this.NextStage = nextStage;
 }