private void instantiateIA(AIPersonality.Personalities type, Vector3 pos, int number, Color color) { currentIA = Instantiate(mockIA); currentIA.GetComponent <SpriteRenderer>().sprite = SpriteBase; currentIA.name = "IA"; currentIA.name += number; currentIA.GetComponent <SpriteRenderer>().color = color; currentIA.transform.position = pos; AIPersonality Aipers = currentIA.GetComponent <AIPersonality>(); Aipers.SetMyOwnIndex(number); Aipers.health = 100; Aipers.attack = 10; Aipers.configurePersonality(type); GameObject image = Instantiate(LifeImage); Aipers.HealthImage = image; image.transform.SetParent(Aipers.panel.transform); image.transform.position = currentIA.transform.position; image.transform.localScale = Vector3.one; var collider = currentIA.GetComponent <BoxCollider2D>(); //esto tiene que ser asi collider.size = new Vector2(9.7f, 12f); VisibleElements.visibleGameObjects.Add(currentIA); currentIA.transform.Rotate(Vector3.up * Random.Range(0f, 1f) * 360); }
private void instantiateIA(AIPersonality.Personalities type) { currentIA = Instantiate(mockIA); currentIA.name = "IA"; currentIA.name += Time.time * 100; AIPersonality Aipers = currentIA.GetComponent <AIPersonality>(); Aipers.configurePersonality(type); VisibleElements.visibleGameObjects.Add(currentIA); fixIt = true; }
// Use this for initialization void Start() { float iterator = 1f; Color currentColor; float randomColor = 0f; spawnersLeft = new List <GameObject>(); spawnersLeft.AddRange(spawnPoints); numberOfHumans = numberOfIAs; if (numberOfIAs > spawnPoints.Length && spawnPoints.Length > 6) { numberOfIAs = spawnPoints.Length - 3; } numberOfIAs += 1; AIPersonality.Personalities type = (AIPersonality.Personalities)Random.Range(0, 1); int spawnPos = Random.Range(0, spawnersLeft.Count - 1); if (!allCharisma) { int i = 3; randomColor = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs); currentColor = gradient.Evaluate(randomColor); instantiateIA(type, spawnersLeft[spawnPos].transform.position, 0, currentColor); spawnersLeft.Remove(spawnersLeft[spawnPos]); iterator++; //Debug.Log(randomColor); type = (AIPersonality.Personalities)Random.Range(2, 3); spawnPos = Random.Range(0, spawnersLeft.Count - 1); randomColor = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs); currentColor = gradient.Evaluate(randomColor); instantiateIA(type, spawnersLeft[spawnPos].transform.position, 1, currentColor); spawnersLeft.Remove(spawnersLeft[spawnPos]); iterator++; //Debug.Log(randomColor); type = (AIPersonality.Personalities)Random.Range(4, 5); spawnPos = Random.Range(0, spawnersLeft.Count - 1); randomColor = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs); currentColor = gradient.Evaluate(randomColor); instantiateIA(type, spawnersLeft[spawnPos].transform.position, 2, currentColor); spawnersLeft.Remove(spawnersLeft[spawnPos]); iterator++; //Debug.Log(randomColor); while (i < numberOfIAs - 1) { spawnPos = Random.Range(0, spawnersLeft.Count - 1); type = (AIPersonality.Personalities)Random.Range(0, 5); randomColor = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs); currentColor = gradient.Evaluate(randomColor); instantiateIA(type, spawnersLeft[spawnPos].transform.position, i, currentColor); spawnersLeft.Remove(spawnersLeft[spawnPos]); i++; iterator++; //Debug.Log(randomColor); } GameObject player = GameObject.FindGameObjectWithTag("Player"); PlayerPersonality personality = player.GetComponent <PlayerPersonality>(); personality.configurePlayer(new Color(250, 250, 250, 255) / 255); } else { int i = 0; while (i < numberOfIAs - 1) { spawnPos = Random.Range(0, spawnersLeft.Count - 1); type = AIPersonality.Personalities.SFA; currentColor = gradient.Evaluate(Random.Range((i - 1) / numberOfIAs, i / numberOfIAs)); instantiateIA(type, spawnersLeft[spawnPos].transform.position, i, currentColor); spawnersLeft.Remove(spawnersLeft[spawnPos]); i++; } } determineMonster(); /*personality.health = 100; * personality.attack = 10; * * personality.MyOwnIndex = numberOfIAs - 1;*/ //Al final del start se activan los colliders de las habitaciones para que se puedan guardar las IAs las habitaciones donde spawneen //List<GameObject> Rooms = new List<GameObject>(); //Rooms.AddRange(GameObject.FindGameObjectsWithTag("RoomsAndDoors")) foreach (GameObject room in GameObject.FindGameObjectsWithTag("RoomsAndDoors")) { room.GetComponent <LocationDiscovery>().enabled = true; } }