mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-06-01 08:39:10 -05:00
Adds a basic editor for recorded Geonet/Unity Tower locations for the Gen 4/5 games, building on this [post by Danius88](https://projectpokemon.org/home/forums/topic/62055-bw-b2w2-unity-tower-geonet-and-passerby-research/). So far, I've implemented buttons that set all locations (including unused ones), set all legal locations, and clear all recorded locations; and checkboxes to toggle whether the whole globe is visible (used in Japanese games) and whether the ferry to Unity Tower is unlocked. Haven't implemented any UI for editing the status of individual locations, since I'm not sure how to lay it out. Also haven't implemented anything related to how the data of the other players in Unity Tower is stored.
59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using PKHeX.Core;
|
|
|
|
namespace PKHeX.WinForms;
|
|
|
|
public partial class SAV_UnityTower : Form
|
|
{
|
|
private readonly SaveFile Origin;
|
|
private readonly SAV5 SAV;
|
|
private readonly UnityTower5 UnityTower;
|
|
|
|
public SAV_UnityTower(SaveFile sav)
|
|
{
|
|
InitializeComponent();
|
|
WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
|
|
SAV = (SAV5)(Origin = sav).Clone();
|
|
|
|
UnityTower = SAV.UnityTower;
|
|
}
|
|
|
|
private void B_Save_Click(object sender, EventArgs e)
|
|
{
|
|
UnityTower.GlobalFlag = CHK_GlobalFlag.Checked;
|
|
UnityTower.UnityTowerFlag = CHK_UnityTowerFlag.Checked;
|
|
Origin.CopyChangesFrom(SAV);
|
|
Close();
|
|
}
|
|
|
|
private void B_Cancel_Click(object sender, EventArgs e) => Close();
|
|
|
|
private void SAV_UnityTower_Load(object sender, EventArgs e)
|
|
{
|
|
CHK_GlobalFlag.Checked = UnityTower.GlobalFlag;
|
|
CHK_UnityTowerFlag.Checked = UnityTower.UnityTowerFlag;
|
|
}
|
|
|
|
private void B_SetAllLocations_Click(object sender, EventArgs e)
|
|
{
|
|
UnityTower.SetAll();
|
|
CHK_GlobalFlag.Checked = UnityTower.GlobalFlag;
|
|
CHK_UnityTowerFlag.Checked = UnityTower.UnityTowerFlag;
|
|
}
|
|
|
|
private void B_SetAllLegalLocations_Click(object sender, EventArgs e)
|
|
{
|
|
UnityTower.SetAllLegal();
|
|
CHK_GlobalFlag.Checked = UnityTower.GlobalFlag;
|
|
CHK_UnityTowerFlag.Checked = UnityTower.UnityTowerFlag;
|
|
}
|
|
|
|
private void B_ClearLocations_Click(object sender, EventArgs e)
|
|
{
|
|
UnityTower.ClearAll();
|
|
CHK_GlobalFlag.Checked = UnityTower.GlobalFlag;
|
|
CHK_UnityTowerFlag.Checked = UnityTower.UnityTowerFlag;
|
|
}
|
|
}
|