//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {Contact : darkwynter.com for licensing information //--------------------------------------------------------------------------------------------------------------------------------------------------- namespace ElementalGame.GraphicUserInterface { #region Using Statements using System; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; #endregion using DarkWynterEngine.Globals; using DarkWynterEngine.ObjectLib; using DarkWynterEngine.Menus; /// /// Player customization screen /// public class PlayerSetup : GameScreen { GameMenu diagnosisMenu; /// /// Currently selected character. /// public int playerNumber = 0; /// /// Player Setup Menu constructor /// public PlayerSetup() { float scaleX = (Statics.SystemSettings.GAME_WINDOW_WIDTH / 1280.0f); float scaleY = (Statics.SystemSettings.GAME_WINDOW_HEIGHT / 1024.0f); menu = new GameMenu("Player 1", 60 * scaleX, 48 * scaleY); menu.AddImageScroller("", 1); diagnosisMenu = new GameMenu("Diagnosis", 60 * scaleX, 500 * scaleY); diagnosisMenu.AddRandomImageDisplay(""); //scale up the images menu.GetMenuElement(0).SetScale(1.6f, 1.7f); diagnosisMenu.GetMenuElement(0).SetScale(1.6f, 1.7f); } /// /// Get the Player Selection scroller. /// /// Player Selection scroller. public GameMenuImageScroller GetPlayerSelection() { return ((GameMenuImageScroller)menu.GetMenuElement(0)); } /// /// Get the character information display element. /// /// Information display element. public GameMenuRandomImageDisplay GetDiagnosisDisplay() { return ((GameMenuRandomImageDisplay)diagnosisMenu.GetMenuElement(0)); } /// /// Draw the player demo menu. /// /// SpriteBatch used to draw used to draw. public new void Draw(SpriteBatch spriteBatch) { base.Draw(spriteBatch); diagnosisMenu.Draw(spriteBatch); } /// /// Commit changes to Player Setup Menu /// /// Object Library that player belongs to. public void Commit(ObjectLibrary objectLibrary) { switch (playerNumber) { case 0: { // Player 1 Color Select objectLibrary.humans[0].SetDiffuseRed(255); objectLibrary.humans[0].SetDiffuseGreen(255); objectLibrary.humans[0].SetDiffuseBlue(255); objectLibrary.humans[0].SetDiffuseAlpha(255); GetMenu().SetTitle("Player 2"); break; } case 1: { // Player 2 Color Select objectLibrary.humans[1].SetDiffuseRed(255); objectLibrary.humans[1].SetDiffuseGreen(255); objectLibrary.humans[1].SetDiffuseBlue(255); objectLibrary.humans[1].SetDiffuseAlpha(255); GetMenu().SetTitle("Player 3"); break; } case 2: { // Player 3 Color Select objectLibrary.humans[2].SetDiffuseRed(255); objectLibrary.humans[2].SetDiffuseGreen(255); objectLibrary.humans[2].SetDiffuseBlue(255); objectLibrary.humans[2].SetDiffuseAlpha(255); GetMenu().SetTitle("Player 4"); break; } case 3: { // Player 4 Color Select objectLibrary.humans[3].SetDiffuseRed(255); objectLibrary.humans[3].SetDiffuseGreen(255); objectLibrary.humans[3].SetDiffuseBlue(255); objectLibrary.humans[3].SetDiffuseAlpha(255); break; } } // Player Character Select if (playerNumber < Statics.SystemSettings.TOTAL_PLAYERS - 1) { playerNumber++; Statics.currentPlayerIndex = playerNumber; GetPlayerSelection().SetCurrentIndex(0); } else { playerNumber = 0; Statics.currentPlayerIndex = playerNumber; GetMenu().SetTitle("Player 1"); } } } }