} //Police de debug #endregion //Constructor public MainMenu() { //Initialisation des différents menus affichables depuis le Main Menu optionsMenu = new OptionsMenu("OptionsMenu"); playMenu = new PlayMenu("PlayMenu"); loadMenu = new LoadMenu("LoadMenu"); listeMenus.Add(optionsMenu); listeMenus.Add(playMenu); listeMenus.Add(loadMenu); this.MainMenuThemeVolume = 0.45f; //Initialisation ici car auto-property (non possible en tête de classe) this.MainMenuThemeLooping = true; //Initialisation ici car auto-property }
//Les propriétés du bouton sont définies dans le constructeur et non pas dans une //LoadContent() contrairement à GUIMenu par exemple, car les boutons seront très souvent //différents les uns des autres, alors que les GUIMenu auront toujours le même background, //même son d'ouverture / slide / fermeture, etc. public Button(string name, Vector2 btnPos, Texture2D normal, Texture2D pressed, SoundEffect clickSound, GUIMenu menuToOpen) { //Attribution des paramètres aux propriétés this.ButtonName = name; this.Position = btnPos; this.TextureNormal = normal; this.TexturePressed = pressed; //Displayed texture is normal by default this.TextureDisplayed = this.TextureNormal; //Indique au bouton quel est le menu à ouvrir lorsqu'il est cliqué this.menuToOpen = menuToOpen; //L'initialisation du rectangle se fait une fois (pas dans le Update) //car la position du bouton est fixe. Elle ne bouge pas. BtnRectangle = new Rectangle((int)Position.X, (int)Position.Y, TextureDisplayed.Width, TextureDisplayed.Height); //Définie l'instance du BtnClickSound. ClickSound = clickSound; ClickSoundInstance = ClickSound.CreateInstance(); }
public MainMenuButtons(string name, Vector2 btnPos, Texture2D normal, Texture2D pressed, SoundEffect clickSound, GUIMenu menuToOpen) : base(name, btnPos, normal, pressed, clickSound, menuToOpen) { mainMenuButtonsList.Add(this); //Ajout du bouton instancié à la liste (menus Play, Load et Options) }