public void addPlayer(PlayerInfo player = null) { if (player == null) playerlist[count] = new PlayerInfo(); else playerlist[count] = player; this.count++; this.activeSlot = count -1; }
public CharacterSelectionScreen(Game game) : base(game) { // select Resource services spriteBatch = ResourceManager.GetInstance.spriteBatch; Content = ResourceManager.GetInstance.Content; // select spritefont playerNameFont = Content.Load<SpriteFont>(@"font\Arial_12px"); // define components bgcomp1 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\background1")); bgcomp2 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\character_selection")); bgcomp3 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\frame2")); menu = new MenuComponent(game, Content.Load<SpriteFont>(@"font\Comic_Sans_18px")); // add components Components.Add(bgcomp1); Components.Add(bgcomp2); Components.Add(bgcomp3); // menu options menu.SetMenuItems(menuItems); menu.StartIndex = 0; menu.Position = new Vector2(665, 230); menu.NormalColor = Color.White; menu.HiliteColor = Color.Red; menu.MenuItemSpace = 25; menu.Rotation[2] = 0.25f; menu.Offset[2] = new Vector2(0, -5); menu.Offset[3] = new Vector2(-8, 23); menu.Offset[4] = new Vector2(-526, -22); menu.EndIndex = 3; // player sprite playersprite = new PlayerSprite(100, 123); player = new PlayerInfo(); playersprite.Player = this.player; // player offsets for (int i = 0; i < 6; i++) this.spriteOfset[i] = playersprite.getoffset(i); // options option_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\option_board"); screen_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\next_board"); // slots slot = Content.Load<Texture2D>(@"gfx\screens\screenobjects\empty_character_slot"); }
private void incomingCharSelect(playerData playerdata) { bool found = false; for(int i = 0; i < PlayerStore.Instance.playerlist.Length; i++) { if (PlayerStore.Instance.playerlist[i] != null) { if (PlayerStore.Instance.playerlist[i].Name == playerdata.Name) // avoid duplicates { found = true; break; } } } if (!found) { PlayerInfo player = new PlayerInfo(); player.AccountID = playerdata.AccountID; player.CharacterID = playerdata.CharacterID; player.Name = playerdata.Name; player.skin_color = getColor(playerdata.skincol); player.faceset_sprite = playerdata.facespr; player.hair_sprite = playerdata.hairspr; player.hair_color = getColor(playerdata.hailcol); if (playerdata.armor != null) if (ItemStore.Instance.item_list.FindAll(x => x.itemName == playerdata.armor).Count > 0) player.equipment.addItem(ItemStore.Instance.item_list.Find(x => x.itemName == playerdata.armor)); if (playerdata.weapon != null) if (ItemStore.Instance.item_list.FindAll(x => x.itemName == playerdata.weapon).Count > 0) player.equipment.addItem(ItemStore.Instance.item_list.Find(x => x.itemName == playerdata.weapon)); if (playerdata.headgear != null) if (ItemStore.Instance.item_list.FindAll(x => x.itemName == playerdata.headgear).Count > 0) player.equipment.addItem(ItemStore.Instance.item_list.Find(x => x.itemName == playerdata.headgear)); PlayerStore.Instance.addPlayer(player); } }
public void ChangeJobClass(PlayerInfo activePlayer) { // Remove Current Player for (int i = 0; i < listEntity.Count; i++) if (listEntity[i] is PlayerSprite) listEntity.Remove(listEntity[i]); // Switch playerSprite switch (activePlayer.Jobclass) { case "Bowman": playerSprite = new Bowman( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Warrior": playerSprite = new Warrior( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Magician": playerSprite = new Magician( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Thief": playerSprite = new Thief( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Pirate": playerSprite = new Pirate( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; default: break; } // Add new player Instance to worldmap listEntity.Add(playerSprite); }
public bool initize() { if (PlayerStore.Instance.Count < 6) { phase = Phase.Name; newPlayer = new PlayerInfo(); playersprite.Player = this.newPlayer; // Equip Beginner Clothes + Knife if (newPlayer.equipment.item_list.FindAll(delegate(Item item) { return item.Slot == ItemSlot.Bodygear; }).Count == 0) newPlayer.equipment.addItem(ItemStore.Instance.getItem(2301)); if (newPlayer.equipment.item_list.FindAll(delegate(Item item) { return item.Slot == ItemSlot.Weapon; }).Count == 0) newPlayer.equipment.addItem(ItemStore.Instance.getItem(1200)); // Check player + equipment offsets for (int i = 0; i < 7; i++) this.newPlayer.spriteOfset[i] = playersprite.getoffset(i); // initize properties for (int i = 0; i <= properties.Length - 1; i++) properties[i].SelectedIndex = 0; keyboardiput.Activate(newPlayer.Name.ToString()); return true; } else { return false; } }
private void itemConsume(PlayerInfo Consumer) { Item selectedItem = itemlist.menuItemsnoDupes[itemlist.SelectedIndex]; if (selectedItem.Type == ItemType.Consumable) { string script = selectedItem.Script; // remove beginning and ending spaces script = Regex.Replace(script, "{", ""); script = Regex.Replace(script, "}", ""); script = Regex.Replace(script, " ", ""); // call static class that handles item scripts // use the script interpretter to read the content ScriptInterpreter.Instance.loadScript(script); ScriptInterpreter.Instance.StartReading = true; ScriptInterpreter.Instance.Property = null; ScriptInterpreter.Instance.Values.Clear(); ScriptInterpreter.Instance.readScript(); // clear script, reset to begin ScriptInterpreter.Instance.clearInstance(); } itemRemove(); itemOptions = false; itemSelection = true; }