public void BattleGUI(PokemonDomesticated domestic) { //Quick move var pokemonObj = domestic.pokemonObj; var pokemon = pokemonObj.pokemon; GUI.DrawTexture(new Rect(0,Screen.height-90,200,100), GUImgr.gradRight); float ypos = Screen.height-85; GUI.Label(new Rect(10,ypos,200,20), pokemon.name+" lvl"+pokemon.level.ToString()); //stats ypos+=20; GUI.Label(new Rect(10,ypos,200,20), "HP"); GUImgr.DrawBar(new Rect(35,ypos+5,200,10), pokemon.hp, GUImgr.hp); ypos+=20; GUI.Label(new Rect(10,ypos,200,20), "PP"); GUImgr.DrawBar(new Rect(35,ypos+5,200,10), pokemon.pp, GUImgr.pp); ypos+=20; GUI.Label(new Rect(10,ypos,200,20), "XP"); GUImgr.DrawBar(new Rect(35,ypos+5,200,10), pokemon.xp, GUImgr.xp); //current target if (pokemonObj.enemy!=null){ if (pokemonObj.enemy.pokemon!=null){ GUI.DrawTexture(new Rect(0,0,200,60), GUImgr.gradRight); ypos = 5; GUI.Label(new Rect(10,ypos,200,20), pokemonObj.enemy.name+" lvl"+pokemonObj.enemy.pokemon.level.ToString()); ypos+=20; GUI.Label(new Rect(10,ypos,200,20), "HP"); GUImgr.DrawBar(new Rect(35,ypos+5,200,10), pokemonObj.enemy.pokemon.hp, GUImgr.hp);; } } //moves float height = pokemon.moves.Count*40+10; GUI.DrawTexture(new Rect(Screen.width-200,Screen.height-height,200,height), GUImgr.gradLeft); ypos = Screen.height-40; float xpos = Screen.width-150; int moveN = pokemonObj.pokemon.moves.Count; foreach(Move move in pokemon.moves){ GUI.Label(new Rect(xpos,ypos,200,20), moveN.ToString()+" - "+move.moveType.ToString()); GUImgr.DrawBar(new Rect(xpos,ypos+20,100,5), move.cooldown, GUImgr.pp); ypos -= 40; bool useMove = false; if (Player.click && pokemon.trainer != null){ for(int i = 1; i <= pokemon.trainer.party.Count(); i++) { if (Rebind.GetInputDown("SELECT_POKE_PARTY_" + moveN)) useMove=true; } } if (useMove){ pokemonObj.UseMove(transform.forward, move); } moveN--; } }
void Update() { if (lifetime < 2.9f) { collider.enabled = true; } if (pokemon != null) { lifetime -= Time.deltaTime; if (lifetime < 0 && !fired) { Transform particles = transform.FindChild("Particles"); if (particles) { particles.parent = null; particles.GetComponent <ParticleSystem>().Play(); Destroy(particles.gameObject, 1); } Destroy(gameObject); fired = true; if (pokemon != null) { GameObject pokeObj = (GameObject)Instantiate(Resources.Load("Pokemon/" + Pokemon.GetName(pokemon.number))); pokeObj.transform.position = transform.position; pokeObj.transform.rotation = Quaternion.Euler(0, Random.value * 360, 0); pokeObj.GetComponent <PokemonObj>().pokemon = pokemon; pokeObj.name = pokemon.name; pokemon.obj = pokeObj.GetComponent <PokemonObj>(); PokemonDomesticated pokeDom = pokeObj.AddComponent <PokemonDomesticated>(); PokemonGUI pokeGui = pokeObj.AddComponent <PokemonGUI>(); pokeDom.trainer = trainer; //assuming direct control if (trainer == Player.trainer) { Player.pokemonActive = true; Debug.Log("Assuming direct control"); } } } } }