// Will cause double load for some cases (like status2 updating) // Because new animated image is created public void UpdateSprites(PkmnPosition pos, bool paused) { Mini = PokemonImageUtils.GetMini(Pkmn.KnownSpecies, Pkmn.KnownForm, Pkmn.KnownGender, Pkmn.KnownShiny, PartyPkmn.IsEgg); PBEStatus2 status2 = _useKnownInfo ? Pkmn.KnownStatus2 : Pkmn.Status2; AnimImage = PokemonImageUtils.GetPokemonImage(Pkmn.KnownSpecies, Pkmn.KnownForm, Pkmn.KnownGender, Pkmn.KnownShiny, _backImage, status2.HasFlag(PBEStatus2.Substitute), status2.HasFlag(PBEStatus2.Disguised) ? DisguisedPID : PartyPkmn.PID, PartyPkmn.IsEgg); AnimImage.IsPaused = paused; if (pos is null) { return; // Only for updating visibility below } if (!status2.HasFlag(PBEStatus2.Substitute)) { if (status2.HasFlag(PBEStatus2.Airborne) || status2.HasFlag(PBEStatus2.ShadowForce) || status2.HasFlag(PBEStatus2.Underground) || status2.HasFlag(PBEStatus2.Underwater)) { pos.PkmnVisible = false; } else { pos.PkmnVisible = true; } } }
public PartyGUIMember(PartyPokemon pkmn, SpriteList sprites) { _usePartyPkmn = true; _partyPkmn = pkmn; _color = GetColor(); _mini = new Sprite() { Image = PokemonImageUtils.GetMini(pkmn.Species, pkmn.Form, pkmn.Gender, pkmn.Shiny, pkmn.IsEgg), Y = Sprite_BounceDefY, Callback = Sprite_Bounce, Data = new Sprite_BounceData() }; sprites.Add(_mini); _background = new Image((UI.Program.RenderWidth / 2) - (UI.Program.RenderWidth / 20), (UI.Program.RenderHeight / 4) - (UI.Program.RenderHeight / 20)); UpdateBackground(); }