Exemple #1
0
 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];
     }
 }
Exemple #2
0
    public bool UndrawPokemon(Pokemon pokemon)
    {
        BTLSCN_PokemonBW oldScnPokemon = GetSCNPokemon(pokemon);

        if (oldScnPokemon != null)
        {
            scnPokemon.Remove(oldScnPokemon);
            Destroy(oldScnPokemon.gameObject);
            return(true);
        }
        return(false);
    }
Exemple #3
0
    // Scene Team

    // Scene Pokemon
    public BTLSCN_PokemonBW 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_PokemonBW newScnPokemon = Instantiate(pokemonPrefab, spawnPos.position, Quaternion.identity, spawnPos);

        newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.nullSprite;
        newScnPokemon.shadowRenderer.sprite = BattleAssetLoader.instance.nullSprite;
        newScnPokemon.pokemonUniqueID       = pokemon.uniqueID;

        // positioning
        float xOffset = isNear ? pokemon.data.xOffset2DNear : pokemon.data.xOffset2DFar;
        float yOffset = isNear ? pokemon.data.yOffset2DNear : pokemon.data.yOffset2DFar;

        newScnPokemon.transform.localPosition = new Vector3(xOffset, yOffset);

        // load model
        newScnPokemon.pokemonID = pokemon.pokemonID;
        StartCoroutine(BattleAssetLoader.instance.LegacyLoadPokemon(
                           pokemon: pokemon,
                           useFront: !isNear,
                           useBack: isNear,
                           scnPokemonBW: newScnPokemon
                           ));

        scnPokemon.Add(newScnPokemon);
        return(newScnPokemon);
    }
Exemple #4
0
    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
                                        )));
    }
Exemple #5
0
    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
                );
        }
    }