Files
infinitefusion-e18/Data/Scripts/053_PIF_Hoenn/PokeNav/Contacts/InfoPage/ContactsAppInfoPageScreen.rb
T
2026-07-10 15:42:06 -04:00

54 lines
1.3 KiB
Ruby

class ContactsAppInfoPageScreen
def pbStartScreen(scene, trainer, trainers_list)
@trainers_list = trainers_list
@scene = scene
@index = get_current_index(trainer.id)
@scene.pbStartScene(self, trainer)
@scene.pbScene
@scene.pbEndScene
updateStatus
end
def updateStatus
trainer_id = @trainers_list[@index]
unless $Trainer.pokenav.viewed_trainers.include?(trainer_id)
$Trainer.pokenav.viewed_trainers << trainer_id
end
end
def view_trainer_team(trainer_id)
trainer = getRebattledTrainerFromKey(trainer_id)
if trainer
team = trainer.currentTeam
pbFadeOutIn {
scene = PokemonSummary_Scene.new
screen = PokemonSummaryScreen.new(scene)
screen.pbStartScreen(team, 0, false)
}
else
pbSEPlay("buzzer", 80)
pbWait(4)
end
end
def get_current_index(current_trainer_id)
@trainers_list.each_with_index do |trainer_id, i|
if trainer_id == current_trainer_id
return i
end
end
return 0
end
def change_trainer(delta)
new_index = @index + delta
new_index = @trainers_list.length - 1 if new_index >= @trainers_list.length
new_index = 0 if new_index < 0
@index = new_index
new_trainer_id = @trainers_list[new_index]
@scene.trainer = getRebattledTrainerFromKey(new_trainer_id)
updateStatus
end
end