private void characterList_DrawItem(ObjectListControl sender, DrawItemEventArgs e) { Character thisCharacter = (Character)characterList.Items[e.Index]; Rectangle characterFrame; if (characterList.Selected[e.Index]) { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds); characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front); } else { characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front); } e.SpriteBatch.Draw(screenHandler.CharacterSpriteTexture, new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height), characterFrame, Color.White); e.SpriteBatch.DrawString(characterList.Font, thisCharacter.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + 4), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); }
private void partList_ItemSelected(ObjectListControl sender, ItemSelctedEventArgs e) { Console.WriteLine("Selected " + e.Index); BodyPart thisPart = (BodyPart)partList.SelectedItem; if (thisPart.canHold) { holdingList.Clear(); if (thisPart.Holding != null) { holdingList.AddItem(thisPart.Holding, true); } foreach (var itemPair in Party.Items.Where(x => x.Value > 0 && x.Key is Equipment && ((Equipment)x.Key).HeldBy == thisPart.Type && ((Equipment)x.Key) != thisPart.Holding)) { Equipment equipment = (Equipment)itemPair.Key; holdingList.AddItem(equipment, false); } } if (thisPart.canWear) { wearingList.Clear(); if (thisPart.Wearing != null) { wearingList.AddItem(thisPart.Wearing, true); } foreach (var itemPair in Party.Items.Where(x => x.Value > 0 && x.Key is Equipment && ((Equipment)x.Key).WornOn == thisPart.Type && ((Equipment)x.Key) != thisPart.Wearing)) { Equipment equipment = (Equipment)itemPair.Key; wearingList.AddItem(equipment, false); } } }
private void itemList_DrawItem(ObjectListControl sender, DrawItemEventArgs e) { Item thisItem = (Item)itemList.Items[e.Index]; //Rectangle characterFrame; if (itemList.Selected[e.Index]) { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds); //characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front); } else { //characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front); } //e.SpriteBatch.Draw(Game.World.CharacterSpriteTexture, // new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height), // characterFrame, Color.White); e.SpriteBatch.DrawString(itemList.Font, thisItem.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + 4), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); e.SpriteBatch.DrawString(itemList.Font, Game.World.Player.Items[thisItem].ToString().PadLeft(3), new Vector2(e.Bounds.Right - 50, e.Bounds.Top + 4), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); }
public override void MouseMoved(float x, float y) { base.MouseMoved(x, y); foreach (var component in Components) { if (component is ObjectListControl) { ObjectListControl list = ((ObjectListControl)component); if (list.Bounds.Contains(new Point((int)MouseLoc.X, (int)MouseLoc.Y))) { //If just entered the list if (!list.Bounds.Contains(new Point((int)OldMouseLoc.X, (int)OldMouseLoc.Y))) { list.MouseEntered(MouseLoc); } list.MouseMoved(MouseLoc); } else if (list.Bounds.Contains(new Point((int)OldMouseLoc.X, (int)OldMouseLoc.Y))) { list.MouseLeft(MouseLoc); } } } }
private void itemList_ItemSelected(ObjectListControl sender, ItemSelctedEventArgs e) { Console.WriteLine("Selected " + e.Index); Item thisItem = (Item)itemList.Items[e.Index]; switch (thisItem.Usage) { case ItemUse.Wearable: //DrawEquipableItem(SpriteBatch, gameTime, thisItem); break; case ItemUse.Usable: if (characterList != null) { characterList.Select(0); } break; case ItemUse.BattleUsable: break; default: break; } }
private void wearingList_ItemSelected(ObjectListControl sender, ItemSelctedEventArgs e) { Equipment thisEquipment = (Equipment)wearingList.SelectedItem; BodyPart thisPart = (BodyPart)partList.SelectedItem; Character thisCharacter = (Character)characterList.SelectedItem; if (!Party.ChangeEquipmentWorn(thisCharacter, thisPart, thisEquipment)) { wearingList.Selected[e.Index] = false; } }
private void createControls() { // Character List characterList = new ObjectListControl(Game, this); characterList.ItemHeight = 40; characterList.Bounds = new Rectangle(50, 100, 400, 750); foreach (Character character in Party.Characters) { characterList.AddItem(character, false); } this.Components.Add(characterList); characterList.DrawItem += new DrawItemEventHandler(characterList_DrawItem); characterList.ItemSelected += new ItemSelectedEventHandler(characterList_ItemSelected); // BodyPart List partList = new ObjectListControl(Game, this); partList.Bounds = new Rectangle(910, 140, 200, 300); partList.Font = screenHandler.Fonts["myFontSmaller"]; this.Components.Add(partList); partList.DrawItem += new DrawItemEventHandler(partList_DrawItem); partList.ItemSelected += new ItemSelectedEventHandler(partList_ItemSelected); // Wearing Equipment List wearingList = new ObjectListControl(Game, this); wearingList.Bounds = new Rectangle(1120, 140, 200, 300); wearingList.Font = screenHandler.Fonts["myFontSmaller"]; wearingList.canUnselect = true; this.Components.Add(wearingList); wearingList.DrawItem += new DrawItemEventHandler(wearingList_DrawItem); wearingList.ItemSelected += new ItemSelectedEventHandler(wearingList_ItemSelected); // Holding Equipment List holdingList = new ObjectListControl(Game, this); holdingList.Bounds = new Rectangle(1330, 140, 200, 300); holdingList.Font = screenHandler.Fonts["myFontSmaller"]; holdingList.canUnselect = true; this.Components.Add(holdingList); holdingList.DrawItem += new DrawItemEventHandler(holdingList_DrawItem); holdingList.ItemSelected += new ItemSelectedEventHandler(holdingList_ItemSelected); characterList.Select(0); }
private void partList_DrawItem(ObjectListControl sender, DrawItemEventArgs e) { BodyPart thisPart = (BodyPart)partList.Items[e.Index]; if (partList.Selected[e.Index]) { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds); } e.SpriteBatch.DrawString(partList.Font, thisPart.Name, new Vector2(e.Bounds.Left + 20, e.Bounds.Top + (e.Bounds.Height - partList.Font.MeasureString(thisPart.Name).Y) / 2), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); }
private void createControls() { useButton = new ButtonControl(); useButton.Text = "Use"; useButton.Bounds = new UniRectangle( new UniScalar(0.0f, 1470.0f), new UniScalar(0.0f, 770.0f), 80, 80 ); useButton.Pressed += delegate(object sender, EventArgs arguments) { useButtonClicked(); }; useButton.Enabled = false; this.Desktop.Children.Add(useButton); // Item List itemList = new ObjectListControl(Game, this); itemList.ItemHeight = 40; itemList.Bounds = new Rectangle(50, 100, 400, 650); PopulateItems(); this.Components.Add(itemList); itemList.DrawItem += new DrawItemEventHandler(itemList_DrawItem); itemList.ItemSelected += new ItemSelectedEventHandler(itemList_ItemSelected); itemList.Select(0); // Character List characterList = new ObjectListControl(Game, this); characterList.ItemHeight = 40; characterList.Bounds = new Rectangle(470, 100, 1080, 650); foreach (Character character in Party.Characters) { characterList.AddItem(character, false); } characterList.Visible = false; this.Components.Add(characterList); characterList.DrawItem += new DrawItemEventHandler(characterList_DrawItem); characterList.ItemSelected += new ItemSelectedEventHandler(characterList_ItemSelected); }
private void createControls() { // Character List characterList = new ObjectListControl(Game, this); characterList.ItemHeight = 40; characterList.Bounds = new Rectangle(50, 100, 400, 750); foreach (Character character in Party.Characters) { characterList.AddItem(character, false); } this.Components.Add(characterList); characterList.DrawItem += new DrawItemEventHandler(characterList_DrawItem); characterList.ItemSelected += new ItemSelectedEventHandler(characterList_ItemSelected); characterList.Select(0); }
private void characterList_DrawItem(ObjectListControl sender, DrawItemEventArgs e) { Character thisCharacter = (Character)characterList.Items[e.Index]; Rectangle characterFrame; if (characterList.Selected[e.Index]) { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds); characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front); } else { characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front); } e.SpriteBatch.Draw(screenHandler.CharacterSpriteTexture, new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height), characterFrame, Color.White); e.SpriteBatch.DrawString(characterList.Font, thisCharacter.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + e.Bounds.Height / 2 - 16), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); e.SpriteBatch.DrawString(characterList.Font, "HP:" + thisCharacter.HP + " / " + thisCharacter.MaxHP, new Vector2(e.Bounds.Left + 200, e.Bounds.Top + 4), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); thisCharacter.HP = thisCharacter.MaxHP / 2; sender.DrawRect(Color.DarkRed, new Rectangle(e.Bounds.Left + 200, e.Bounds.Top + 4 + 30, 200, 20), Color.Black); sender.DrawRect(Color.Red, new Rectangle(e.Bounds.Left + 201, e.Bounds.Top + 4 + 30 + 1, (int)(198.0f * ((float)thisCharacter.HP / thisCharacter.MaxHP)), 19)); e.SpriteBatch.DrawString(characterList.Font, "Level:" + thisCharacter.Level, new Vector2(e.Bounds.Left + 200, e.Bounds.Top + 4 + 50), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); thisCharacter.Experience = thisCharacter.ExpToNextLevel / 3; sender.DrawRect(Color.DarkGreen, new Rectangle(e.Bounds.Left + 200, e.Bounds.Top + 4 + 80, 200, 20), Color.Black); sender.DrawRect(Color.Green, new Rectangle(e.Bounds.Left + 201, e.Bounds.Top + 4 + 80 + 1, (int)(198.0f * ((float)thisCharacter.Experience / thisCharacter.ExpToNextLevel)), 19)); }
public override void MouseButtonReleased(Nuclex.Input.MouseButtons buttons) { base.MouseButtonReleased(buttons); if (buttons == Nuclex.Input.MouseButtons.Left) { foreach (var component in Components) { if (component is ObjectListControl) { ObjectListControl list = ((ObjectListControl)component); if (list.Bounds.Contains(new Point((int)MouseLoc.X, (int)MouseLoc.Y))) { list.MouseClicked(MouseLoc); break; } } } buttons = 0; } }
private void characterList_ItemSelected(ObjectListControl sender, ItemSelctedEventArgs e) { Console.WriteLine("Selected " + e.Index); if (partList != null) { partList.Clear(); foreach (BodyPart part in ((Character)characterList.SelectedItem).BodyParts) { if (part.canHold || part.canWear) { partList.AddItem(part, false); } if (part.BodyParts == null) { continue; } foreach (BodyPart innerpart in part.BodyParts) { if (innerpart.canHold || innerpart.canWear) { partList.AddItem(innerpart, false); } if (innerpart.BodyParts == null) { continue; } foreach (BodyPart inmostpart in innerpart.BodyParts) { if (inmostpart.canHold || inmostpart.canWear) { partList.AddItem(inmostpart, false); } } } } } partList.Select(0); }
private void wearingList_DrawItem(ObjectListControl sender, DrawItemEventArgs e) { Equipment thisEquipment = (Equipment)wearingList.Items[e.Index]; if (wearingList.Selected[e.Index]) { if (wearingList.HoverIndex == e.Index && wearingList.MouseInside) { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds, Color.Red); } else { sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds); } } else if (wearingList.HoverIndex == e.Index && wearingList.MouseInside) { sender.DrawLineItemHighlight(Color.Transparent, e.Bounds, Color.Red); } e.SpriteBatch.DrawString(partList.Font, thisEquipment.Name, new Vector2(e.Bounds.Left + 20, e.Bounds.Top + (e.Bounds.Height - partList.Font.MeasureString(thisEquipment.Name).Y) / 2), Color.Black, 0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); }
private void ShowEntityTab(Entity entity) { if (!Objectbase.IsNullOrEmpty(entity)) { Type listType = Type.GetType(entity.ListTypeName, false); if (listType != null && listType.IsSubclassOf(typeof(ObjectListControl))) { string entityKey = entity.ObjectGuid.ToString(); EntityTabPage entityPage = null; if (this.tabMain.TabPages.ContainsKey(entityKey)) { entityPage = this.tabMain.TabPages[entityKey] as EntityTabPage; } else { try { ObjectListControl listControl = Activator.CreateInstance(listType) as ObjectListControl; if (listControl != null) { entityPage = new EntityTabPage(listControl, entity.ListCaption); entityPage.Name = entityKey; this.tabMain.TabPages.Add(entityPage); entityPage.Text = entity.ListCaption; } } catch (Exception) { } } if (null != entityPage) { this.tabMain.SelectedTab = entityPage; } } } }
private void UpdateOverrides() { if (_ruleOverrideTile.OverrideTile) { if (_ruleOverrideTile.OverrideTile.Rules.Count > _ruleOverrideTile.Rules.Count) { _ruleOverrideTile.Rules.AddRange(Enumerable.Repeat(new RuleOverrideTile.Rule(), _ruleOverrideTile.OverrideTile.Rules.Count - _ruleOverrideTile.Rules.Count)); } else { _ruleOverrideTile.Rules.RemoveRange(_ruleOverrideTile.OverrideTile.Rules.Count, _ruleOverrideTile.Rules.Count - _ruleOverrideTile.OverrideTile.Rules.Count); } } else { _ruleOverrideTile.Rules.Clear(); } _rulesControl = new ObjectListControl(); _rulesControl.Setup(_ruleOverrideTile.Rules) .MakeDrawable(DrawRule) .MakeCustomHeight(GetElementHeight) .MakeHeaderButton(_createRulesIcon, CreateRules, Color.white); }
private void characterList_ItemSelected(ObjectListControl sender, ItemSelctedEventArgs e) { Console.WriteLine("Selected " + e.Index); }