/// <summary> /// Charge un sprite d'interface /// </summary> /// <param name="sprite">Sprite</param> /// <param name="url">Url de la ressource system</param> /// <param name="x">X</param> /// <param name="y">Y</param> private static VO_Sprite LoadGUISprite(VO_Sprite oldSprite, string url, int x, int y) { Guid id = Guid.NewGuid(); if (oldSprite != null) { DeletePermanentSprite(oldSprite.Id); } CreatePermanentSprite(id, url, new Vector2(0, 0), new Rectangle(x, y, 16, 16)); return(GetPermanentSprite(id)); }
/// <summary> /// Créer un sprite /// </summary> /// <param name="id">Id du sprite</param> /// <param name="url">Url de l'image</param> /// <param name="location">Location</param> /// <param name="color">Couleur</param> public static void CreateScreenSprite(Guid id, string url, Vector2 location, Rectangle source, VO_ColorTransformation color) { //Dictionnaire d'image if (_ScreenSprites == null) { _ScreenSprites = new Dictionary <Guid, VO_Sprite>(); } //Pas d'image envoyée if (id == new Guid()) { return; } //Ajout de l'image if (!_ScreenSprites.ContainsKey(id)) { try { VO_Sprite newSprite = new VO_Sprite(id); newSprite.ResourceUrl = url; newSprite.Scale = new Vector2(1.0f, 1.0f); newSprite.Image = ImageManager.CurrentStage.GetScreenImage(url); newSprite.Position = new Vector2(location.X, location.Y); newSprite.Source = source; _ScreenSprites.Add(id, newSprite); LogTools.WriteDebug(string.Format(Logs.MANAGER_SPRITE_CREATED, id, Logs.MANAGER_SCREEN)); } catch (Exception e) { LogTools.WriteInfo(string.Format(Logs.MANAGER_SPRITE_NOT_FOUND, url)); LogTools.WriteDebug(e.Message); _ScreenSprites.Add(id, null); } } }
public virtual void Draw(VO_Sprite sprite) { _SpriteBatch.Draw(sprite.Image, sprite.Position, sprite.Source, Color.White, 0f, Vector2.Zero, sprite.Scale, SpriteEffects.None, 0f); }
public Interface(SpriteBatch spriteBatch, Game game) { _SpriteBatch = spriteBatch; //Inventaire Inventory = new Inventory(spriteBatch, game); LifeBarVisible = true; //Background //Charger console background RenderTarget2D texture = new RenderTarget2D(game.GraphicsDevice, game.GraphicsDevice.PresentationParameters.BackBufferWidth, game.GraphicsDevice.PresentationParameters.BackBufferHeight); game.GraphicsDevice.SetRenderTarget(texture); game.GraphicsDevice.Clear(Color.Black); game.GraphicsDevice.SetRenderTarget(null); _EscapeMenuBackground = (Texture2D)texture; //Escape Menu List <string> menu = new List <string>(); if (GameCore.Instance.Game.Menu.ActivateSaveMenu) { menu.Add(GameCore.Instance.Game.Terminology.SaveGame); SaveActive = true; } if (GameCore.Instance.Game.Menu.ActivateLoadingMenu) { menu.Add(GameCore.Instance.Game.Terminology.LoadGame); LoadActive = true; } if (GameCore.Instance.Game.Menu.ActivateMainMenu) { menu.Add(GameCore.Instance.Game.Terminology.ReturnTitle); } //menu.Add(GameCore.Instance.Game.Terminology.Options); menu.Add(GameCore.Instance.Game.Terminology.LeaveGame); _EscapeMenu = new VO_SelectableMenu(spriteBatch, game, menu, 10); _EscapeMenu.FontSize = 20; _EscapeMenu.Position = new Vector2(GameCore.Instance.Game.Project.Resolution.Width / 2 - _EscapeMenu.Width / 2, GameCore.Instance.Game.Project.Resolution.Height / 2 - _EscapeMenu.Height / 2); _EscapeMenu.OnClick += new VO_SelectableMenu.OnClickEventHandler(_EscapeMenu_OnClick); _EscapeMenu.SelectedValueChanged += new VO_SelectableMenu.SelectedValueChangedEventHandler(Menu_SelectedValueChanged); //Save/Load menu if (GameCore.Instance.Game.Menu.ActivateSaveMenu || GameCore.Instance.Game.Menu.ActivateLoadingMenu) { List <string> saveMenu = new List <string>(); for (int i = 1; i <= 9; i++) { saveMenu.Add(GameCore.Instance.Game.Terminology.SaveState + i); } _GameStatesMenu = new VO_SelectableMenu(spriteBatch, game, saveMenu, 10); _GameStatesMenu.FontSize = 16; _GameStatesMenu.Position = new Vector2(GameCore.Instance.Game.Project.Resolution.Width / 2 - _GameStatesMenu.Width / 2, GameCore.Instance.Game.Project.Resolution.Height / 2 - _GameStatesMenu.Height / 2); _GameStatesMenu.OnClick += new VO_SelectableMenu.OnClickEventHandler(_GameStatesMenu_OnClick); _GameStatesMenu.SelectedValueChanged += new VO_SelectableMenu.SelectedValueChangedEventHandler(Menu_SelectedValueChanged); } //LifeBar if (!string.IsNullOrEmpty(GameCore.Instance.Game.Project.LifeBarBackground) && File.Exists(PathTools.GetProjectPath(Enums.ProjectPath.LifeBar) + GameCore.Instance.Game.Project.LifeBarBackground)) { _LifeBarBackground = new VO_Sprite(ImageManager.GetPermanentImage(PathTools.GetProjectPath(Enums.ProjectPath.LifeBar) + GameCore.Instance.Game.Project.LifeBarBackground)); _LifeBarBackground.Position = new Vector2(GameCore.Instance.Game.Project.LifeBarCoords.X, GameCore.Instance.Game.Project.LifeBarCoords.Y); } if (!string.IsNullOrEmpty(GameCore.Instance.Game.Project.LifeBarResource) && File.Exists(PathTools.GetProjectPath(Enums.ProjectPath.LifeBar) + GameCore.Instance.Game.Project.LifeBarResource)) { _LifeBar = new VO_Sprite(ImageManager.GetPermanentImage(PathTools.GetProjectPath(Enums.ProjectPath.LifeBar) + GameCore.Instance.Game.Project.LifeBarResource)); _LifeBar.Position = new Vector2(GameCore.Instance.Game.Project.LifeBarCoords.X, GameCore.Instance.Game.Project.LifeBarCoords.Y); _LifeBarFull = (int)_LifeBar.Width; } }