private void OnGUI() { using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUI.IndentLevelScope()) { EditorGUILayout.LabelField("", GUILayout.Width(50)); EditorGUILayout.LabelField("Model"); EditorGUILayout.LabelField("Animation"); EditorGUILayout.LabelField("PortraitSheet"); EditorGUILayout.LabelField("BaseFormModelName"); EditorGUILayout.LabelField("WalkSpeedDistance"); } } var names = _rom.GetCommonStrings().Pokemon; var formDbEntries = _rom.GetPokemonFormDatabase().Entries; var graphicsDbEntries = _rom.GetPokemonGraphicsDatabase().Entries; using (var scrollView = new EditorGUILayout.ScrollViewScope(_scrollPos)) { _scrollPos = scrollView.scrollPosition; for (int i = 0; i < formDbEntries.Count; i++) { var formDbEntry = formDbEntries[i]; using (new EditorGUILayout.HorizontalScope()) { EditorGUILayout.LabelField(i.ToString(), EditorStyles.boldLabel, GUILayout.Width(40)); EditorGUILayout.LabelField(((CreatureIndex)i + 1).ToString(), EditorStyles.boldLabel, GUILayout.Width(150)); EditorGUILayout.LabelField($"({names[(CreatureIndex) i+1]})", EditorStyles.boldLabel); } foreach (var graphicsDatabaseEntryId in formDbEntry.PokemonGraphicsDatabaseEntryIds) { if (graphicsDatabaseEntryId == 0 || graphicsDatabaseEntryId + 1 >= graphicsDbEntries.Count) { continue; } using (new EditorGUI.IndentLevelScope()) { using (new EditorGUILayout.HorizontalScope()) { var entry = graphicsDbEntries[graphicsDatabaseEntryId - 1]; EditorGUILayout.LabelField((graphicsDatabaseEntryId - 1).ToString(), GUILayout.Width(50)); EditorGUILayout.LabelField(entry.ModelName); EditorGUILayout.LabelField(entry.AnimationName); EditorGUILayout.LabelField(entry.PortraitSheetName); EditorGUILayout.LabelField(entry.BaseFormModelName); EditorGUILayout.LabelField(entry.WalkSpeedDistance.ToString()); } } } } } }
public RtdxRomViewModel(RtdxRom model) { this.Model = model ?? throw new ArgumentNullException(nameof(model)); StartersCollection = new RtdxStarterCollectionViewModel(model.GetStarters(), model.GetCommonStrings()); }