Exemplo n.º 1
0
        /// <summary>
        /// Calculates theme for the particular room number
        /// </summary>
        /// <param name="roomNo">Room number</param>
        /// <returns>Theme for the specified room number</returns>
        RoomThemes CalculateRoomTheme(int roomNo)
        {
            // Calculating theme value by using right shift across ENUM values
            // Roomoffset will determine how randomly room themes will be calculated
            RoomThemes roomTheme = (RoomThemes)Mathf.Abs(((totalRoomThemes + (roomOffset * roomNo))) % totalRoomThemes);

            return(roomTheme);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Experimental portal system. Can be used in future
 /// </summary>
 /// <param name="roomNo">Room number to be teleported to</param>
 public void JumpToRoom(int roomNo)
 {
     currentRoomNo    = roomNo;
     prevRoomThem     = CalculateRoomTheme(currentRoomNo - 1);
     currentRoomTheme = CalculateRoomTheme(currentRoomNo);
     nextRoomTheme    = CalculateRoomTheme(currentRoomNo + 1);
     UpdateUI();
     RefurbishRoom();
     playerManager.ResetPlayerPosition();
 }
Exemplo n.º 3
0
 /// <summary>
 /// Loads next room onto the scene
 /// </summary>
 public void NextRoom()
 {
     currentRoomNo++;
     prevRoomThem     = currentRoomTheme;
     currentRoomTheme = CalculateRoomTheme(currentRoomNo);
     nextRoomTheme    = CalculateRoomTheme(currentRoomNo + 1);
     UpdateUI();
     RefurbishRoom();
     playerManager.ResetPlayerPosition();                                              // Resets player position
 }
Exemplo n.º 4
0
        private readonly int totalRoomThemes = 7;                   // Total number of available room themes


        // Start is called before the first frame update
        void Start()
        {
            RandomizeRoomOffset();
            currentRoomTheme = CalculateRoomTheme(currentRoomNo);           // Calculate current room theme
            prevRoomThem     = currentRoomTheme;                            // Assign current room theme to previous room theme as a default value
            nextRoomTheme    = CalculateRoomTheme(currentRoomNo + 1);       // Calculate next room theme for UI purpose
            UpdateUI();                                                     // Update game UI
            RefurbishRoom();                                                // Populate room with elements according to room theme
            PlayerPrefs.SetInt("RoomOffset", roomOffset);
            PlayerPrefs.Save();
        }