public void SetPokemonSprite( string spritePath, BTLSCN_Pokemon scnPokemon = null, BTLSCN_PokemonBW scnPokemonBW = null, PBS.Battle.View.Scene.Entities.Pokemon scnPokemonNew = null, Image imagePokemon = null) { if (scnPokemon != null) { scnPokemon.spriteRenderer.sprite = loadedPokemonSprites[spritePath]; } if (scnPokemonBW != null) { scnPokemonBW.spriteRenderer.sprite = loadedPokemonSprites[spritePath]; scnPokemonBW.shadowRenderer.sprite = loadedPokemonSprites[spritePath]; } if (scnPokemonNew != null) { scnPokemonNew.spriteRenderer.sprite = loadedPokemonSprites[spritePath]; scnPokemonNew.shadowRenderer.sprite = loadedPokemonSprites[spritePath]; } if (imagePokemon != null) { imagePokemon.sprite = loadedPokemonSprites[spritePath]; } }
public BTLSCN_Pokemon DrawPokemon(Pokemon pokemon, Battle battle, bool isNear) { // get spawn position Transform spawnPos = this.transform; BattleTeam team = battle.GetTeam(pokemon); switch (team.teamMode) { case BattleTeam.TeamMode.Single: spawnPos = (isNear) ? spawnNearSingle : spawnFarSingle; break; case BattleTeam.TeamMode.Double: spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearDouble0 : spawnFarDouble0) : isNear ? spawnNearDouble1 : spawnFarDouble1; break; case BattleTeam.TeamMode.Triple: spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearTriple0 : spawnFarTriple0) : (pokemon.battlePos == 1) ? (isNear ? spawnNearTriple1 : spawnFarTriple1) : isNear ? spawnNearTriple2 : spawnFarTriple2; break; } // draw pokemon string drawPath = "pokemonSprites/" + (isNear ? "back/" : "front/") + pokemon.data.displayID; BTLSCN_Pokemon newScnPokemon = Instantiate(pokemonPrefab, spawnPos.position, Quaternion.identity, spawnPos); newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.nullSprite; newScnPokemon.pokemonUniqueID = pokemon.uniqueID; newScnPokemon.pokemonID = pokemon.pokemonID; float xOffset = isNear ? pokemon.data.xOffset2DNear : pokemon.data.xOffset2DFar; float yOffset = isNear ? pokemon.data.yOffset2DNear : pokemon.data.yOffset2DFar; newScnPokemon.spriteRenderer.transform.localPosition = new Vector3(xOffset, yOffset); newScnPokemon.spriteRenderer.sortingOrder = isNear ? pokemon.battlePos : -pokemon.battlePos; newScnPokemon.spriteRenderer.transform.localScale = isNear ? new Vector3(2, 2) : new Vector3(1, 1); scnPokemon.Add(newScnPokemon); if (BattleAssetLoader.instance.loadedPokemonSprites.ContainsKey(drawPath)) { newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.loadedPokemonSprites[drawPath]; } else { StartCoroutine(BattleAssetLoader.instance.LegacyLoadPokemon( pokemon: pokemon, useFront: !isNear, useBack: isNear, scnPokemon: newScnPokemon )); } return(newScnPokemon); }
public bool UndrawPokemon(Pokemon pokemon) { BTLSCN_Pokemon oldScnPokemon = GetPokemon(pokemon); if (oldScnPokemon != null) { scnPokemon.Remove(oldScnPokemon); Destroy(oldScnPokemon.gameObject); return(true); } return(false); }
public IEnumerator LegacyLoadPokemon(Pokemon pokemon, bool useicon = false, bool useFront = false, bool useBack = false, BTLSCN_Pokemon scnPokemon = null, BTLSCN_PokemonBW scnPokemonBW = null, PBS.Battle.View.Scene.Entities.Pokemon scnPokemonNew = null, Image imagePokemon = null) { PokemonData pokemonData = (pokemon.bProps.illusion != null) ? PokemonDatabase.instance.GetPokemonIllusionData(pokemon.bProps.illusion) : pokemon.data; yield return(StartCoroutine(LegacyLoadPokemon( data: pokemonData, useicon: useicon, useFront: useFront, useBack: useBack, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ))); }
public IEnumerator LegacyLoadPokemon(PokemonData data, bool useicon = false, bool useFront = false, bool useBack = false, BTLSCN_Pokemon scnPokemon = null, BTLSCN_PokemonBW scnPokemonBW = null, PBS.Battle.View.Scene.Entities.Pokemon scnPokemonNew = null, Image imagePokemon = null) { // sprite loading string iconSprite = "pokemonSprites/icon/" + data.displayID; string frontSprite = "pokemonSprites/front/" + data.displayID; string backSprite = "pokemonSprites/back/" + data.displayID; // icon if (!loadedPokemonSprites.ContainsKey(iconSprite)) { loadedPokemonSprites[iconSprite] = null; var op = Addressables.LoadAssetAsync <Sprite>(iconSprite); yield return(op); if (op.Status == AsyncOperationStatus.Succeeded) { loadedPokemonSprites[iconSprite] = op.Result; if (useicon) { SetPokemonSprite( spritePath: iconSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } } } else if (useicon) { SetPokemonSprite( spritePath: iconSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } // front if (!loadedPokemonSprites.ContainsKey(frontSprite)) { loadedPokemonSprites[frontSprite] = null; var op = Addressables.LoadAssetAsync <Sprite>(frontSprite); yield return(op); if (op.Status == AsyncOperationStatus.Succeeded) { loadedPokemonSprites[frontSprite] = op.Result; if (useFront) { SetPokemonSprite( spritePath: frontSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } } } else if (useFront) { SetPokemonSprite( spritePath: frontSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } // back if (!loadedPokemonSprites.ContainsKey(backSprite)) { loadedPokemonSprites[backSprite] = null; var op = Addressables.LoadAssetAsync <Sprite>(backSprite); yield return(op); if (op.Status == AsyncOperationStatus.Succeeded) { loadedPokemonSprites[backSprite] = op.Result; if (useBack) { SetPokemonSprite( spritePath: backSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } } } else if (useBack) { SetPokemonSprite( spritePath: backSprite, scnPokemon: scnPokemon, scnPokemonBW: scnPokemonBW, scnPokemonNew: scnPokemonNew, imagePokemon: imagePokemon ); } }