public Character(string name, EnumCharacterModel model) { Id = Guid.NewGuid(); Name = name; Model = model; _builds = new CharacterBuild[3]; Direction = EnumDirection.SOUTH; }
public void Initialize(GraphicsDeviceManager graphics) { _modelTextures = new Dictionary <EnumCharacterModel, UIImage>(); _btn_left = new UIButton(new Point(Position.X, Position.Y + (int)(Height * 0.5)), 50, 40, "<"); _btn_left.OnGainFocus += (sender, e) => { if ((DateTime.Now - _lastInput).TotalMilliseconds > 500) { foreach (var item in _modelTextures) { item.Value.Visible = false; } var values = ((EnumCharacterModel[])Enum.GetValues(typeof(EnumCharacterModel))).ToList(); var index = values.IndexOf(Model); index--; if (index < 0) { index = values.Count - 1; } Model = values.ElementAt(index); _modelTextures[Model].Visible = true; _lastInput = DateTime.Now; } }; _btn_right = new UIButton(new Point(Position.X + Width - 50, Position.Y + (int)(Height * 0.5)), 50, 40, ">"); _btn_right.OnGainFocus += (sender, e) => { if ((DateTime.Now - _lastInput).TotalMilliseconds > 500) { foreach (var item in _modelTextures) { item.Value.Visible = false; } var values = ((EnumCharacterModel[])Enum.GetValues(typeof(EnumCharacterModel))).ToList(); var index = values.IndexOf(Model); index++; if (index >= values.Count) { index = 0; } Model = values.ElementAt(index); _modelTextures[Model].Visible = true; _lastInput = DateTime.Now; } }; _lastInput = DateTime.Now; AddChild(_btn_left); AddChild(_btn_right); _modelTextures.Add(EnumCharacterModel.MODEL_1, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/AerisA")); _modelTextures.Add(EnumCharacterModel.MODEL_2, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/BarretA")); _modelTextures.Add(EnumCharacterModel.MODEL_3, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/CaitSithA")); _modelTextures.Add(EnumCharacterModel.MODEL_4, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/CidA")); _modelTextures.Add(EnumCharacterModel.MODEL_5, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/CloudA")); _modelTextures.Add(EnumCharacterModel.MODEL_6, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/NanakiA")); _modelTextures.Add(EnumCharacterModel.MODEL_7, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/TifaA")); _modelTextures.Add(EnumCharacterModel.MODEL_8, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/VincentA")); _modelTextures.Add(EnumCharacterModel.MODEL_9, new UIImage(new Point(Position.X + 50, Position.Y + 50), 400, 400, "Characters/YoufieA")); foreach (var item in _modelTextures) { item.Value.Visible = false; AddChild(item.Value); } _modelTextures[0].Visible = true; }