private void OnEnable() { if (_actorDatabase == null) { _actorDatabase = LoadOrCreateActorDatabase(); _actorDatabaseEditor = Editor.CreateEditor(_actorDatabase); } }
private void openFileDialog_FileOk(object sender, CancelEventArgs e) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(ActorDatabase)); using (XmlReader reader = XmlReader.Create(openFileDialog.FileName)) { db = (ActorDatabase)xmlSerializer.Deserialize(reader); }; comboBox1.DataSource = db.Definition; }
private ActorDatabase LoadOrCreateActorDatabase() { ActorDatabase actorDatabase = AssetDatabase.LoadAssetAtPath <ActorDatabase>(ACTOR_DATABASE_PATH); if (actorDatabase == null) { actorDatabase = ScriptableObject.CreateInstance <ActorDatabase>(); AssetDatabase.CreateAsset(actorDatabase, ACTOR_DATABASE_PATH); } return(actorDatabase); }
// Use this for initialization void Awake() { // This will make sure only one instance exists if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } // if we change scenes, GameManager singleton won't get destroyed // changing scenes destroys the heirarchy for that scene DontDestroyOnLoad(gameObject); InitDB(); }
public byte[] ToElf() { if (actorDatabase != null) // No need to write if we haven't even accessed it { ActorDatabase.Write(); } int starterFixedPokemonMapOffset = Version switch { ExecutableVersion.Original => starterFixedPokemonMapOffsetOriginal, ExecutableVersion.Update1 => starterFixedPokemonMapOffsetUpdate, _ => throw new InvalidOperationException("Unsupported executable version") }; for (int i = 0; i < 16; i++) { var map = StarterFixedPokemonMaps[i]; var offset = starterFixedPokemonMapOffset + (8 * i); BitConverter.GetBytes((int)map.PokemonId).CopyTo(Data, offset); BitConverter.GetBytes((int)map.FixedPokemonId).CopyTo(Data, offset + 4); } return(Data); }