public void Load(VillagerData villagerData) { //Debug.Log ("Villager Load"); transform.position = new Vector3(villagerData.positionX, villagerData.positionY, villagerData.positionZ); SetTaskSkills(villagerData.taskSkills); characterInfo = villagerData.characterInfo; CalculateNextLevelExperience(); SetCurrentHealth(villagerData.currentHealth); if (villagerData.equippedWeapon != null) { GetEquippedWeapon().Load(villagerData.equippedWeapon); } if (villagerData.offhandWeapon != null) { GetOffHandWeapon().Load(villagerData.offhandWeapon); } if (villagerData.equippedArmor != null) { GetEquippedArmor().Load(villagerData.equippedArmor); } onQuest = villagerData.onQuest; if (onQuest) { activeQuest = villagerData.questNumber; //manager.gameObject.GetComponent<QuestManager>().GetQuestList()[activeQuest].AddCharacter(this); } manager.GetCharacterDisplay().AddVillager(this.gameObject); }
public VillagerData Save() { VillagerData villagerData = new VillagerData { positionX = transform.position.x, positionY = transform.position.y, positionZ = transform.position.z, taskSkills = GetTaskSkills(), characterInfo = GetCharacterInfo(), currentHealth = GetCurrentHealth(), onQuest = onQuest, questNumber = activeQuest }; if (GetEquippedWeapon() != null) { villagerData.equippedWeapon = GetEquippedWeapon().Save(); } if (GetOffHandWeapon() != null) { villagerData.offhandWeapon = GetOffHandWeapon().Save(); } if (GetEquippedArmor() != null) { villagerData.equippedArmor = GetEquippedArmor().Save(); } return(villagerData); }
public VillagerData GetData() { VillagerData newvillagerData = new VillagerData(); newvillagerData.edad = edad; newvillagerData.nombre = nombre; return(newvillagerData); }
private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Zombie") { ZombieData zombieData = collision.gameObject.GetComponent <Enemy.GenerarZombie>().zombieData; Debug.Log("Waaaaaarrr quiero comer" + zombieData.Gusto); } if (collision.gameObject.tag == "Aldeano") { VillagerData villagerData = collision.gameObject.GetComponent <Ally.GenerarAldeano>().villagerData; Debug.Log("Hola mi nombre es " + villagerData.name + " y tengo " + villagerData.Age + " años"); } }
/// <summary> /// Se encarga de detectar la distancia con aldeanos y zombies con el fin de mostrar informacion en UI de la entidad /// </summary> void Update() { aldeanos = GameObject.FindGameObjectsWithTag("Aldeano"); zombies = GameObject.FindGameObjectsWithTag("Zombie"); timer1 += Time.deltaTime; timer2 += Time.deltaTime; timer3 += Time.deltaTime; disparoDebug.maxValue = cd; disparoDebug.value = timer3; if (timer3 > cd) { if (Input.GetKeyDown(KeyCode.Space)) { Disparar(); timer3 = 0; } } foreach (GameObject aldeano in aldeanos) { distanciaAldeano = Mathf.Sqrt(Mathf.Pow((aldeano.transform.position.x - transform.position.x), 2) + Mathf.Pow((aldeano.transform.position.y - transform.position.y), 2) + Mathf.Pow((aldeano.transform.position.z - transform.position.z), 2)); if (distanciaAldeano < 5f) { timer1 = 0; VillagerData villagerData = aldeano.GetComponent <Aldeano.AldeanoScript>().GetData(); textAldeano.text = "Hola soy " + villagerData.nombre + " y tengo " + villagerData.edad; } } foreach (GameObject zombie in zombies) { distanciaZombie = Mathf.Sqrt(Mathf.Pow((zombie.transform.position.x - transform.position.x), 2) + Mathf.Pow((zombie.transform.position.y - transform.position.y), 2) + Mathf.Pow((zombie.transform.position.z - transform.position.z), 2)); if (distanciaZombie < 5f) { timer2 = 0; ZombieData zombieData = zombie.GetComponent <Zombie.ZombieScript>().GetData(); textZombie.text = "Wraaaaarr quiero " + zombieData.gusto; } } if (timer1 > 5f) { textAldeano.text = ""; } if (timer1 > 5f) { textZombie.text = ""; } }
/// <summary> /// Almacena un struct recivido para enviarlo luego en collision /// </summary> /// <param name="villagerData"> /// Informacion del objeto en un struct /// </param> public void TakeData(VillagerData villagerData) { villagerDat = villagerData; }