public DynamicCharacterAvatar CreateCharacter(CharacterDataHolder characterData, float posX, float posY, float posZ, float heading) { // Setting race on Instantiate, because even we set it at CustomizeCharacterAppearance, we could not mount items for female characters. Vector3 newPosition = new Vector3(posX, posY, posZ); DynamicCharacterAvatar avatarTemplate = characterData.GetRace() == 0 ? _avatarMale : _avatarFemale; DynamicCharacterAvatar newAvatar = Instantiate(avatarTemplate, newPosition, Quaternion.identity) as DynamicCharacterAvatar; // Set heading early, to avoid inconsistencies with template heading that are // sometimes visible before CustomizeCharacterAppearance starts on character selection scene. SetAvatarHeading(newAvatar, heading); // Prevent UMA bone error. newAvatar.BuildCharacter(false); // Add a new Capsule Collider to prevent falling. CapsuleCollider capsuleCollider = newAvatar.gameObject.AddComponent <CapsuleCollider>(); capsuleCollider.radius = 0.15f; capsuleCollider.height = 1.71f; capsuleCollider.center = new Vector3(0, 0.82f, 0); // Add AudioSource. newAvatar.gameObject.AddComponent <AudioSource>(); // Customize character. StartCoroutine(CustomizeCharacterAppearance(characterData, newAvatar)); StartCoroutine(InitializeLocation(newAvatar, newPosition, heading)); // Return GameObject. return(newAvatar); }
public DynamicCharacterAvatar CreateCharacter(CharacterDataHolder characterData, float posX, float posY, float posZ) { // Setting race on Instantiate, because even we set it at CustomizeCharacterAppearance, we could not mount items for female characters. DynamicCharacterAvatar newAvatar = Instantiate(characterData.GetRace() == 0 ? avatarMale : avatarFemale, new Vector3(posX, posY, posZ), Quaternion.identity) as DynamicCharacterAvatar; newAvatar.BuildCharacter(); // Prevent UMA bone error. // Add a new Capsule Collider to prevent falling. CapsuleCollider capsuleCollider = newAvatar.gameObject.AddComponent <CapsuleCollider>(); capsuleCollider.radius = 0.15f; capsuleCollider.height = 1.71f; capsuleCollider.center = new Vector3(0, 0.82f, 0); // Customize character. StartCoroutine(CustomizeCharacterAppearance(characterData, newAvatar)); // Add AudioSource. newAvatar.gameObject.AddComponent <AudioSource>(); // Disable avatar until race customization ends. newAvatar.gameObject.SetActive(false); // Return GameObject. return(newAvatar); }
public static void Process(ReceivablePacket packet) { // Server information. long objectId = packet.ReadLong(); CharacterDataHolder npcTemplate = NpcData.GetNpc(packet.ReadInt()); CharacterDataHolder characterData = new CharacterDataHolder(); characterData.SetX(packet.ReadFloat()); characterData.SetY(packet.ReadFloat()); characterData.SetZ(packet.ReadFloat()); characterData.SetHeading(packet.ReadFloat()); characterData.SetCurrentHp(packet.ReadLong()); // Client information. characterData.SetName(npcTemplate.GetName()); characterData.SetRace(npcTemplate.GetRace()); characterData.SetHeight(npcTemplate.GetHeight()); characterData.SetBelly(npcTemplate.GetBelly());; characterData.SetHairType(npcTemplate.GetHairType()); characterData.SetHairColor(npcTemplate.GetHairColor()); characterData.SetSkinColor(npcTemplate.GetSkinColor()); characterData.SetEyeColor(npcTemplate.GetEyeColor()); characterData.SetHeadItem(npcTemplate.GetHeadItem()); characterData.SetChestItem(npcTemplate.GetChestItem()); characterData.SetLegsItem(npcTemplate.GetLegsItem()); characterData.SetHandsItem(npcTemplate.GetHandsItem()); characterData.SetFeetItem(npcTemplate.GetFeetItem()); characterData.SetLeftHandItem(npcTemplate.GetLeftHandItem()); characterData.SetRightHandItem(npcTemplate.GetRightHandItem()); characterData.SetMaxHp(npcTemplate.GetMaxHp()); characterData.SetTargetable(npcTemplate.IsTargetable()); WorldManager.Instance.UpdateObject(objectId, characterData); }
public static void Notify(ReceivablePacket packet) { long objectId = packet.ReadLong(); CharacterDataHolder characterData = new CharacterDataHolder(); characterData.SetName(packet.ReadString()); characterData.SetRace((byte)packet.ReadByte()); characterData.SetHeight(packet.ReadFloat()); characterData.SetBelly(packet.ReadFloat()); characterData.SetHairType((byte)packet.ReadByte()); characterData.SetHairColor(packet.ReadInt()); characterData.SetSkinColor(packet.ReadInt()); characterData.SetEyeColor(packet.ReadInt()); characterData.SetHeadItem(packet.ReadInt()); characterData.SetChestItem(packet.ReadInt()); characterData.SetLegsItem(packet.ReadInt()); characterData.SetHandsItem(packet.ReadInt()); characterData.SetFeetItem(packet.ReadInt()); characterData.SetLeftHandItem(packet.ReadInt()); characterData.SetRightHandItem(packet.ReadInt()); characterData.SetX(packet.ReadFloat()); characterData.SetY(packet.ReadFloat()); characterData.SetZ(packet.ReadFloat()); characterData.SetHeading(packet.ReadFloat()); WorldManager.Instance.UpdateObject(objectId, characterData); }
public void UpdateObject(long objectId, CharacterDataHolder characterdata) { lock (updateObjectLock) // Use lock to avoid adding duplicate gameObjects. { // Check for existing objects. if (gameObjects.ContainsKey(objectId)) { // Update object info. ((IDictionary <long, CharacterDataHolder>)characterUpdateQueue).Remove(objectId); characterUpdateQueue.TryAdd(objectId, characterdata); return; } // Object is out of sight. if (CalculateDistance(new Vector3(characterdata.GetX(), characterdata.GetY(), characterdata.GetZ())) > VISIBILITY_RADIUS) { return; } // Add placeholder to game object list. gameObjects.GetOrAdd(objectId, (GameObject)null); // Queue creation. CharacterManager.Instance.characterCreationQueue.TryAdd(objectId, characterdata); } }
public void Init() { SaveLoad.LoadState(); if (SaveLoad.recentState == null) { if (isBattle) { InitBattleScene(); } else { InitMovementScene(); } } mainc = SaveLoad.recentState.mainc; ActivePMs = SaveLoad.recentState.ActivePMs; NonActivePMs = SaveLoad.recentState.NonActivePMs; if (isBattle == true) { enemiesCDH = SaveLoad.recentState.enemiesCDH; InitBattleScene(); } else { mainc._x = SaveLoad.recentState.entrenceX; mainc._y = SaveLoad.recentState.entrenceY; InitMovementScene(); } }
public void DeleteCharacter() { // Get current character data. CharacterDataHolder characterData = MainManager.Instance.GetSelectedCharacterData(); // Return if no character is selected. if (characterData == null) { return; } // Set text message to deleting character. _textMessage.text = "Deleting character " + characterData.GetName() + "..."; // Request info. _waitingServer = true; NetworkManager.ChannelSend(new CharacterDeletionRequest(characterData.GetSlot())); // Wait until server deletes the character. while (_waitingServer) { // Make sure server has deleted the character. } if (_characterSelected) { Destroy(_avatar.gameObject); } // Reload everything. MainManager.Instance.LoadScene(MainManager.CHARACTER_SELECTION_SCENE); }
public void CreateCharacterStats(int index) { CharacterDataHolder characterHolder = FindObjectOfType <GameManager>().Characters; Character character = CharacterDataSupplier.GetCharacterFromIndex(characterHolder, index); for (int i = 0; i < character.stats.Length; i++) { GameObject go; if (ObjectPool.Count > i) { go = ObjectPool[i]; } else { go = Instantiate(StatsBarPrefab, transform.parent); ObjectPool.Add(go); go = ObjectPool[i]; } if (!ObjectPool[i].activeSelf) { ObjectPool[i].SetActive(true); } ObjectPool[i].GetComponent <StatBar>().HookUp(character.stats[i]); } if (ObjectPool.Count > character.stats.Length) { for (int i = character.stats.Length; i < ObjectPool.Count; i++) { ObjectPool[i].SetActive(false); } } }
public void UpdateTargetInformation(WorldObject obj) { // Hide when object is null. if (obj == null) { HideTargetInformation(); return; } // Show if hidden. if (!targetInformation.IsActive()) { targetInformation.gameObject.SetActive(true); targetHpBar.gameObject.SetActive(true); } // Update information. CharacterDataHolder data = obj.characterData; if (data != null) { targetInformation.text = data.GetName(); float progress = Mathf.Clamp01(data.GetCurrentHp() / data.GetMaxHp()); targetHpBar.value = progress; targetHpPercent.text = (int)(progress * 100f) + "%"; } }
private void OnClickDeleteButton() { // Get current character data. CharacterDataHolder characterData = PlayerManager.instance.selectedCharacterData; // Return if no character is selected. if (characterData == null) { return; } // Disable buttons. createButton.enabled = false; deleteButton.enabled = false; enterWorldButton.enabled = false; exitButton.enabled = false; // Set text message to deleting character. textMessage.text = "Deleting character " + characterData.GetName() + "..."; // Request info. waitingServer = true; NetworkManager.instance.ChannelSend(new CharacterDeletionRequest(characterData.GetSlot())); // Wait until server deletes the character. while (waitingServer) { // Make sure server has deleted the character. } // Reload everything. Destroy(characterSelected); // Destroy clone object. SceneFader.Fade("CharacterSelection", Color.white, 0.5f); }
public void DisplayCharacters(bool isVisible) { if (!isVisible) { CharacterDataHolder characterHolder = FindObjectOfType <ManagementScripts.GameManager>().Characters; textDisplayTemplate.GetComponent <IDisplayCharacters>().Display(CharacterDataSupplier.AllCharacterNames(characterHolder)); } }
public CharacterSelectionInfoResult(string accountName) { // Local data. List <CharacterDataHolder> characterList = new List <CharacterDataHolder>(); // Get data from database. try { MySqlConnection con = DatabaseManager.GetConnection(); MySqlCommand cmd = new MySqlCommand(CHARACTER_QUERY, con); cmd.Parameters.AddWithValue("account", accountName); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { CharacterDataHolder characterData = new CharacterDataHolder(); characterData.SetName(reader.GetString("name")); characterData.SetSlot((byte)reader.GetInt16("slot")); // TODO: Remove cast? characterData.SetSelected(reader.GetBoolean("selected")); characterData.SetClassId((byte)reader.GetInt16("class_id")); // TODO: Remove cast? characterData.SetLocationName(reader.GetString("location_name")); characterData.SetX(reader.GetFloat("x")); characterData.SetY(reader.GetFloat("y")); characterData.SetZ(reader.GetFloat("z")); characterData.SetHeading(reader.GetFloat("heading")); characterData.SetExperience(reader.GetInt64("experience")); characterData.SetHp(reader.GetInt64("hp")); characterData.SetMp(reader.GetInt64("mp")); characterData.SetAccessLevel((byte)reader.GetInt16("access_level")); // TODO: Remove cast? characterList.Add(characterData); } con.Close(); } catch (Exception e) { LogManager.Log(e.ToString()); } // Send the data. WriteShort(2); // Packet id. WriteByte(characterList.Count); foreach (CharacterDataHolder characterData in characterList) { WriteString(characterData.GetName()); WriteByte(characterData.GetSlot()); WriteByte(characterData.IsSelected() ? 1 : 0); WriteByte(characterData.GetClassId()); WriteString(characterData.GetLocationName()); WriteFloat(characterData.GetX()); WriteFloat(characterData.GetY()); WriteFloat(characterData.GetZ()); WriteFloat(characterData.GetHeading()); WriteLong(characterData.GetExperience()); WriteLong(characterData.GetHp()); WriteLong(characterData.GetMp()); WriteByte(characterData.GetAccessLevel()); } }
private void GetAndShowCharacterDetails(string characterName) { gameManager.ActivateCharacterReturnWasActive(characterName); CharacterDataHolder holder = gameManager.Characters; CurrentCharacterName = characterName; CharacterNameText.text = "Name: " + characterName; SetMoneyText(CharacterDataSupplier.GetCharacterFromName(holder, characterName).FinancialAccountID); }
public IEnumerator CustomizeCharacterAppearance(CharacterDataHolder characterData, DynamicCharacterAvatar newAvatar) { // Hide avatar until delay ends. newAvatar.gameObject.SetActive(false); // Unfortunately UMA needs a small delay to initialize. yield return(new WaitForSeconds(0.25f)); // Delay ended. Show avatar. newAvatar.gameObject.SetActive(true); // Customize character. int hairType = characterData.GetHairType(); if (characterData.GetRace() == 0) { newAvatar.ChangeRace("HumanMaleDCS"); if (hairType != 0) { newAvatar.SetSlot("Hair", _hairModelsMale[characterData.GetHairType()]); } } if (characterData.GetRace() == 1) { newAvatar.ChangeRace("HumanFemaleDCS"); if (hairType != 0) { newAvatar.SetSlot("Hair", _hairModelsFemale[characterData.GetHairType()]); } } // Set colors. newAvatar.SetColor("Hair", Util.IntToColor(characterData.GetHairColor())); newAvatar.SetColor("Skin", Util.IntToColor(characterData.GetSkinColor())); newAvatar.SetColor("Eyes", Util.IntToColor(characterData.GetEyeColor())); newAvatar.UpdateColors(true); Dictionary <string, DnaSetter> dna = newAvatar.GetDNA(); dna["height"].Set(characterData.GetHeight()); dna["belly"].Set(characterData.GetBelly()); newAvatar.BuildCharacter(false); // Set visible equipable armor items. EquipItem(newAvatar, characterData.GetHeadItem()); EquipItem(newAvatar, characterData.GetChestItem()); EquipItem(newAvatar, characterData.GetLegsItem()); EquipItem(newAvatar, characterData.GetHandsItem()); EquipItem(newAvatar, characterData.GetFeetItem()); // Without this delay, sometimes, we cannot not see mounted weapons. yield return(new WaitForSeconds(0.25f)); // Set visible equipable left and right hand items. EquipItem(newAvatar, characterData.GetLeftHandItem()); EquipItem(newAvatar, characterData.GetRightHandItem()); }
public void UpdatePlayerInformation() { CharacterDataHolder data = MainManager.Instance.selectedCharacterData; playerInformation.text = data.GetName(); float progress = Mathf.Clamp01(data.GetCurrentHp() / data.GetMaxHp()); playerHpBar.value = progress; playerHpPercent.text = (int)(progress * 100f) + "%"; }
public void can_create_a_random_character_and_verify_exists() { string[] fakeStats = { "stat1", "stat2" }; CharacterDataHolder characterDataHolder = new CharacterDataHolder(fakeStats); Character character = CharacterDataCreator.CreateRandomCharacter(characterDataHolder, 1, 2); Assert.NotNull(CharacterDataSupplier.AllCharacterNames(characterDataHolder)); Assert.AreEqual(character.CharacterName, CharacterDataSupplier.AllCharacterNames(characterDataHolder)[CharacterDataSupplier.AllCharacterNames(characterDataHolder).Length - 1]); }
private void Awake() { GameManager gameManager = FindObjectOfType <GameManager>(); if (gameManager != this) { Destroy(this); } bank = new Bank(); Characters = new CharacterDataHolder(StatTypes); }
public CharacterCreationRequest(CharacterDataHolder dataHolder) { WriteShort(3); // Packet id. WriteString(dataHolder.GetName()); WriteByte(dataHolder.GetRace()); WriteFloat(dataHolder.GetHeight()); WriteFloat(dataHolder.GetBelly()); WriteByte(dataHolder.GetHairType()); WriteInt(dataHolder.GetHairColor()); WriteInt(dataHolder.GetSkinColor()); WriteInt(dataHolder.GetEyeColor()); }
private void CreateTestCharacters() { Bank bank = gameManager.bank; CharacterDataHolder characterDataHolder = gameManager.Characters; for (int i = 0; i < characterAmount; i++) { Character character = CharacterDataCreator.CreateRandomCharacter(characterDataHolder, Random.Range(0, 9999999), Random.Range(0, 9999999)); CharacterDataCreator.CreateCharacterAccount(bank, character); SetCharcterStatsRandomMulipliers(character); SetCharcterStatsTreshholds(character); } }
public void SwitchGender(bool male) { if (male && avatar.activeRace.name != "HumanMaleDCS") { dataHolder = dataHolderMale; Destroy(avatar.gameObject); avatar = CharacterManager.Instance.CreateCharacter(dataHolder, 8.28f, 0.1035156f, 20.222f, 180); } if (!male && avatar.activeRace.name != "HumanFemaleDCS") { dataHolder = dataHolderFemale; Destroy(avatar.gameObject); avatar = CharacterManager.Instance.CreateCharacter(dataHolder, 8.28f, 0.1035156f, 20.222f, 180); } }
public void SaveStatePause() { GameObject boardOp = GameObject.Find("BoardOp"); BoardOp bo = boardOp.GetComponent <BoardOp> (); mainc = new CharacterDataHolder(bo.mC); for (int i = 0; i < ActivePMs.Length; i++) { ActivePMs [i] = new CharacterDataHolder(bo.PMs [i]); } this.entrenceX = mainc._x; this.entrenceY = mainc._y; SaveLoad.recentState = this; SaveLoad.SaveState(); }
public DynamicCharacterAvatar CreateCharacter(CharacterDataHolder characterData, float posX, float posY, float posZ, float heading) { DynamicCharacterAvatar newAvatar = CreateCharacter(characterData, posX, posY, posZ); // Rotation. Quaternion curHeading = newAvatar.gameObject.transform.localRotation; Vector3 curvAngle = curHeading.eulerAngles; curvAngle.y = heading; curHeading.eulerAngles = curvAngle; newAvatar.gameObject.transform.localRotation = curHeading; // Return the new DynamicCharacterAvatar. return(newAvatar); }
private void OnClickMoveUp5Button() { // Send character slot update packet to server. NetworkManager.instance.ChannelSend(new CharacterSlotUpdate(5, 4)); // Update stored data. CharacterDataHolder temp = (CharacterDataHolder)PlayerManager.instance.characterList[3]; PlayerManager.instance.characterList[3] = PlayerManager.instance.characterList[4]; PlayerManager.instance.characterList[4] = temp; // Update button name. string name = selectButtons[3].GetComponentInChildren <Text>().text; selectButtons[3].GetComponentInChildren <Text>().text = selectButtons[4].GetComponentInChildren <Text>().text; selectButtons[4].GetComponentInChildren <Text>().text = name; // Select character. OnClickSelectCharacter4Button(); }
public static void Notify(ReceivablePacket packet) { // Get player list size. int listSize = packet.ReadByte(); // Read the data. List <CharacterDataHolder> characterList = new List <CharacterDataHolder>(listSize); for (int i = 0; i < listSize; i++) { CharacterDataHolder characterData = new CharacterDataHolder(); characterData.SetName(packet.ReadString()); characterData.SetSlot((byte)packet.ReadByte()); characterData.SetSelected(packet.ReadByte() == 1 ? true : false); characterData.SetRace((byte)packet.ReadByte()); characterData.SetHeight(packet.ReadFloat()); characterData.SetBelly(packet.ReadFloat()); characterData.SetHairType(packet.ReadByte()); characterData.SetHairColor(packet.ReadInt()); characterData.SetSkinColor(packet.ReadInt()); characterData.SetEyeColor(packet.ReadInt()); characterData.SetHeadItem(packet.ReadInt()); characterData.SetChestItem(packet.ReadInt()); characterData.SetLegsItem(packet.ReadInt()); characterData.SetHandsItem(packet.ReadInt()); characterData.SetFeetItem(packet.ReadInt()); characterData.SetLeftHandItem(packet.ReadInt()); characterData.SetRightHandItem(packet.ReadInt()); characterData.SetX(packet.ReadFloat()); characterData.SetY(packet.ReadFloat()); characterData.SetZ(packet.ReadFloat()); characterData.SetHeading(packet.ReadFloat()); characterData.SetExperience(packet.ReadLong()); characterData.SetCurrentHp(packet.ReadLong()); characterData.SetMaxHp(packet.ReadLong()); characterData.SetCurrentMp(packet.ReadLong()); characterData.SetMaxMp(packet.ReadLong()); characterData.SetAccessLevel((byte)packet.ReadByte()); characterList.Add(characterData); } // Send the data. MainManager.Instance.SetCharacterList(characterList); // Enable player selection. CharacterSelectionManager.Instance.SetWaitingServer(false); }
public void SwitchGender(bool male) { if (male && _avatar.activeRace.name != "HumanMaleDCS") { _dataHolder = _dataHolderMale; Destroy(_avatar.gameObject); _avatar = CharacterManager.Instance.CreateCharacter(_dataHolder, 8.28f, 0.1035156f, 20.222f, 180); _avatar.CharacterUpdated.AddListener(Updated); } if (!male && _avatar.activeRace.name != "HumanFemaleDCS") { _dataHolder = _dataHolderFemale; Destroy(_avatar.gameObject); _avatar = CharacterManager.Instance.CreateCharacter(_dataHolder, 8.28f, 0.1035156f, 20.222f, 180); _avatar.CharacterUpdated.AddListener(Updated); } }
public void InitMovementScene() { GameObject boardOp = GameObject.Find("BoardOp"); BoardOp bo = boardOp.GetComponent <BoardOp> (); bo.setPMsSize(ActivePMs.Length); currentScene = bo.currentScene; GameObject camera = GameObject.Find("Main Camera"); CameraFollow cf = camera.GetComponent <CameraFollow> (); bo.mC = mainc.createMain("archer"); cf.target = bo.mC.transform; for (int i = 0; i < ActivePMs.Length; i++) { string classselect = ""; if (i % 3 == 0) { classselect = "mage"; } else if (i % 3 == 1) { classselect = "warrior"; } else if (i % 3 == 2) { classselect = "monk"; } bo.PMs [i] = ActivePMs [i].createParty(classselect); } bo.MovePMsToCurrentPosition(); enemiesCDH = new CharacterDataHolder[bo.Enemies.Length]; for (int i = 0; i < enemiesCDH.Length; i++) { enemiesCDH [i] = new CharacterDataHolder(bo.Enemies[i]); } GameObject battleW = GameObject.Find("BattleWarp"); BattleWarps bwarp = battleW.GetComponent <BattleWarps> (); bo.bw = bwarp; PauseMenu pm = camera.GetComponent <PauseMenu> (); pm.go = this; SaveLoad.recentState = this; }
private void Start() { Instance = this; TextAsset data = Resources.Load("data/NpcData") as TextAsset; string[] lines = Regex.Split(data.text, "\r\n|\n\r|\n|\r"); for (int i = 0; i < lines.Length; i++) { string line = lines[i]; if (line.StartsWith("#")) { continue; } string[] values = line.Split(';'); if (values.Length < 18) { continue; } CharacterDataHolder holder = new CharacterDataHolder(); holder.SetName(values[1]); holder.SetRace(byte.Parse(values[2])); holder.SetHeight(float.Parse(values[3], CultureInfo.InvariantCulture)); holder.SetBelly(float.Parse(values[4], CultureInfo.InvariantCulture)); holder.SetHairType(int.Parse(values[5])); holder.SetHairColor(int.Parse(values[6])); holder.SetSkinColor(int.Parse(values[7])); holder.SetEyeColor(int.Parse(values[8])); holder.SetHeadItem(int.Parse(values[9])); holder.SetChestItem(int.Parse(values[10])); holder.SetHandsItem(int.Parse(values[11])); holder.SetLegsItem(int.Parse(values[12])); holder.SetFeetItem(int.Parse(values[13])); holder.SetRightHandItem(int.Parse(values[14])); holder.SetLeftHandItem(int.Parse(values[15])); holder.SetMaxHp(int.Parse(values[16])); holder.SetTargetable(bool.Parse(values[17])); NPCS.Add(int.Parse(values[0]), holder); } }
private void Start() { // Return if account name is empty. if (MainManager.Instance == null || MainManager.Instance.GetAccountName() == null) { return; } // Set instance. if (Instance != null) { return; } Instance = this; // Schedule exit to login screen. StartCoroutine(ExitToCharacterSelection()); // Add button listeners. _zoomIn.onClick.AddListener(CameraZoomIn); _zoomOut.onClick.AddListener(CameraZoomOut); _createButton.onClick.AddListener(OnClickCreateButton); _backButton.onClick.AddListener(OnClickBackButton); // Initialize character data holders. _dataHolderMale = new CharacterDataHolder(); _dataHolderMale.SetRace(0); _dataHolderFemale = new CharacterDataHolder(); _dataHolderFemale.SetRace(1); _dataHolder = _dataHolderMale; // Initial values. _avatar = CharacterManager.Instance.CreateCharacter(_dataHolderMale, 8.28f, 0.1035156f, 20.222f, 180); _avatar.SetSlot("Underwear", "MaleUnderwear"); _avatar.CharacterUpdated.AddListener(Updated); _heightSlider.onValueChanged.AddListener(HeightChange); _bellySlider.onValueChanged.AddListener(BellyChange); // Camera position. Camera.main.transform.position = new Vector3(8.29f, 1.29f, 17.7f); }
public static void notify(ReceivablePacket packet) { // Get player list size. int listSize = packet.ReadByte(); // Read the data. ArrayList characterList = new ArrayList(listSize); for (int i = 0; i < listSize; i++) { CharacterDataHolder characterData = new CharacterDataHolder(); characterData.SetName(packet.ReadString()); characterData.SetSlot((byte)packet.ReadByte()); characterData.SetSelected(packet.ReadByte() == 1 ? true : false); characterData.SetClassId((byte)packet.ReadByte()); characterData.SetLocationName(packet.ReadString()); characterData.SetX(packet.ReadFloat()); characterData.SetY(packet.ReadFloat()); characterData.SetZ(packet.ReadFloat()); characterData.SetHeading(packet.ReadInt()); characterData.SetExperience(packet.ReadLong()); characterData.SetHp(packet.ReadLong()); characterData.SetMp(packet.ReadLong()); characterData.SetAccessLevel((byte)packet.ReadByte()); characterData.SetItemHead(packet.ReadInt()); characterData.SetItemChest(packet.ReadInt()); characterData.SetItemGloves(packet.ReadInt()); characterData.SetItemLegs(packet.ReadInt()); characterData.SetItemBoots(packet.ReadInt()); characterData.SetItemRightHand(packet.ReadInt()); characterData.SetItemLeftHand(packet.ReadInt()); characterList.Add(characterData); } // Send the data. PlayerManager.instance.characterList = characterList; // Enable player selection. CharacterSelectionManager.instance.waitingServer = false; }
public void Create() { ActivePMs = new CharacterDataHolder[3]; // Instantiating our Main Character GameObject go = GameObject.Instantiate(Resources.Load("MainCharacter")) as GameObject; MainCharacter mainC = go.GetComponent <MainCharacter> (); mainc = new CharacterDataHolder(mainC); mainc._name = newMainName; // Instantiating first teammate GameObject gameO = GameObject.Instantiate(Resources.Load("PartyMember")) as GameObject; PartyMember party0 = gameO.GetComponent <PartyMember> (); party0.name = newParty1Name; CharacterDataHolder pmHolder0 = new CharacterDataHolder(party0); ActivePMs [0] = pmHolder0; // Instantiating second teammate GameObject gameO1 = GameObject.Instantiate(Resources.Load("PartyMember")) as GameObject; PartyMember party1 = gameO1.GetComponent <PartyMember> (); party1.name = newParty2Name; CharacterDataHolder pmHolder1 = new CharacterDataHolder(party1); ActivePMs [1] = pmHolder1; // Instantiating third teammate GameObject gameO2 = GameObject.Instantiate(Resources.Load("PartyMember")) as GameObject; PartyMember party2 = gameO2.GetComponent <PartyMember> (); party2.name = newParty3Name; CharacterDataHolder pmHolder2 = new CharacterDataHolder(party2); ActivePMs [2] = pmHolder2; // Set initial conditions of map entrenceX = 0.47f; entrenceY = -1.44f; isBattle = false; SaveLoad.recentState = this; SaveLoad.SaveState(); }