private IEnumerator WaitForServerResponseThenDisplayCharacters() { while (!serverResponseFinished) { yield return(null); } if (characterServerResponse.Count > 0) { //load character here //will have to change/add a lot more later to this when you can edit race/face/etc StatusBoxHandler.statusText = "Status: Loading characters"; Dictionary <ushort, Character> tempCharacterDictionaryToSet = new Dictionary <ushort, Character>(); for (int i = 0; i < characterServerResponse.Count; i++) { CharacterQueryPacket cq = new CharacterQueryPacket(); cq.ReadResponsePacket(characterServerResponse[i]); GameObject characterHolder = GetCharacterModelHolder(cq.GetCharacterSlot()); if (!CharacterModelAlreadyLoaded(characterHolder)) { GameObject characterSprite = new GameObject(); Character character = characterSprite.AddComponent <Character>(); character.SetCharacterInfoFromPacket(cq); tempCharacterDictionaryToSet.Add(cq.GetCharacterSlot(), character); LoadCharacterInSlot(characterSprite, characterHolder); LoadCharacterSnippet(characterHolder, cq); } } Utils.SetCharacterDictionary(tempCharacterDictionaryToSet); } statusBoxHandler.DestroyStatusBox(); }
private void LoadCharacterSnippet(GameObject characterHolder, CharacterQueryPacket cq) { var parent = characterHolder.transform.parent; foreach (Transform child in parent) { if (child.CompareTag("CharacterInfo")) { child.gameObject.GetComponent <Text>().text = cq.GetName() + " (lv 1)"; //change this when levels implemented } } }
public void SetCharacterInfoFromPacket(CharacterQueryPacket cq) { charId = cq.GetCharId(); slot = cq.GetCharacterSlot(); accountId = cq.GetAccountId(); characterName = cq.GetName(); strength = cq.GetStrength(); agility = cq.GetAgility(); intellect = cq.GetIntellect(); vitality = cq.GetVitalty(); dexterity = cq.GetDexterity(); }
public void SetCharacterInfoFromPacket(CharacterQueryPacket cq) { Id = cq.GetCharId(); Slot = cq.GetCharacterSlot(); AccountId = cq.GetAccountId(); CharacterName = cq.GetName(); Strength = cq.GetStrength(); Agility = cq.GetAgility(); Intellect = cq.GetIntellect(); Vitality = cq.GetVitalty(); Dexterity = cq.GetDexterity(); }
// Use this for initialization void OnEnable() { serverResponseFinished = false; characterServerResponse = new List <SubPacket>(); CharacterQueryPacket cq = new CharacterQueryPacket(Utils.GetAccountName()); SubPacket sp = cq.BuildQueryPacket(); BasePacket packetToSend = BasePacket.CreatePacket(sp, PacketProcessor.isAuthenticated, false); packetProcessor = GameObject.FindGameObjectWithTag("PacketProcessor").GetComponent <PacketProcessor>(); statusBoxHandler.InstantiateStatusBoxPrefabWithNoMenuLink(MenuPrefabs.StatusBox); StatusBoxHandler.statusText = "Status: Retrieving character list from server"; packetProcessor.SendPacket(packetToSend); StartCoroutine(WaitForServerResponseThenDisplayCharacters()); }
// Use this for initialization void OnEnable() { serverResponseFinished = false; characterServerResponse = new List <SubPacket>(); Debug.Log(Utils.GetAccountName()); CharacterQueryPacket cq = new CharacterQueryPacket(Utils.GetAccountName()); SubPacket sp = cq.BuildQueryPacket(); BasePacket packetToSend = BasePacket.CreatePacket(sp, PacketProcessor.isAuthenticated, false); packetProcessor = GameObject.FindGameObjectWithTag("PacketProcessor").GetComponent <PacketProcessor>(); statusBoxHandler.InstantiateStatusBoxPrefabWithNoMenuLink(MenuPrefabs.StatusBox); StatusBoxHandler.statusText = "Status: Retrieving character list from server"; packetProcessor.SendPacket(packetToSend); StartCoroutine(WaitForServerResponseThenDisplayCharacters()); //send character query packet to server //open status box you cant close until received response from server //receive what characters are avaiable for this account if any //draw them on character select boxes }