using UnityEngine; using System.Collections; /* * Generates a random appearance for enemies children objects * Should only be placed in an enemy object with: * head, face, legR, legL, weapon children */ public class RandomAppearance : MonoBehaviour { public Sprite[] heads; public Sprite[] faces; public Sprite[] weapons; public Sprite[] legs; public Sprite[] shields; // had to change a couple to public static for enemy portrait purposes public static SpriteRenderer head; public static SpriteRenderer face; private SpriteRenderer body; private SpriteRenderer legR; // looking AT the player right private SpriteRenderer legL; // looking AT the player left private SpriteRenderer arm; private SpriteRenderer forearm; private SpriteRenderer weapon; private SpriteRenderer shield; public static Color randomColor; // for names public TextAsset nameFile; public string[] nameList; private string randomName; void Start(){ fetchNames(); generate (); } // To parse a text file (list of names) -- Created using a unity3d tutorial forum. // Also selects a name at random. private void fetchNames() { nameList = nameFile.text.Split("\n"[0]); randomName = nameList[Random.Range(0, nameList.Length)]; } void generate(){ /*head.sprite = heads[Random.Range (0, heads.Length)]; face.sprite = faces[Random.Range (0, faces.Length)]; legR.sprite = legRs[Random.Range (0, legRs.Length)]; legL.sprite = legLs[Random.Range (0, legLs.Length)]; weapon.sprite = weapons[Random.Range (0, weapons.Length)]; shield.sprite = shields[Random.Range (0, shields.Length)]; addColor (Random.Range (0f, 1f), Random.Range (0f, 1f), Random.Range (0f, 1f));*/ GameObject enemy = GameObject.Find ("Enemy"); if (enemy != null) { setEnemyAppearance looks = enemy.GetComponent<setEnemyAppearance> (); looks.setName(randomName); looks.setFace (faces [Random.Range (0, faces.Length)]); looks.setHead (heads [Random.Range (0, heads.Length)]); looks.setLegs (legs [Random.Range (0, legs.Length)]); looks.setShield (shields [Random.Range (0, shields.Length)]); looks.setWeapon (weapons [Random.Range (0, weapons.Length)]); looks.setColor (Random.Range (0f, 1f), Random.Range (0f, 1f), Random.Range (0f, 1f)); looks.generated (); } } }