public void BuildItemNameLists(Context context) { IList <string> abilityNames = AllAbilities.GetNames(context); weaponCastSpellItems = new List <string>(256); for (int i = 0; i < 256; i++) { weaponCastSpellItems.Add(string.Format("{0:X2} - {1}", i, abilityNames[i])); } itemFormulaItems = new List <string>(256); List <AbilityFormula> abilityFormulaList = (context == Context.US_PSP) ? AbilityFormula.PSPAbilityFormulas : AbilityFormula.PSXAbilityFormulas; for (int index = 0; index < 256; index++) { itemFormulaItems.Add(abilityFormulaList[index].ToString()); } /* * itemFormulaItems = new List<string>( 256 ); * Dictionary<int, string> t = new Dictionary<int, string>( 5 ); * t.Add( 0x38, "Remove status" ); * t.Add( 0x48, "Restore 10*X HP" ); * t.Add( 0x49, "Restore 10*X MP" ); * t.Add( 0x4A, "Restore all HP/MP" ); * t.Add( 0x4B, "Remove status and restore (1..(X-1)) HP" ); * for( int i = 0; i < 256; i++ ) * { * if( t.ContainsKey( i ) ) * { * itemFormulaItems.Add( t[i] ); * } * else * { * itemFormulaItems.Add( string.Format( "{0:X2}", i ) ); * } * } */ }
public void UpdateView(PatcherLib.Datatypes.Context context) { ignoreChanges = true; SuspendLayout(); flagsCheckedListBox.SuspendLayout(); inflictStatusesEditor.SuspendLayout(); ourContext = context; if (status.Default != null) { flagsCheckedListBox.SetValuesAndDefaults(ReflectionHelpers.GetFieldsOrProperties <bool>(status, flags), status.Default.ToBoolArray()); } if (status.IsInUse) { btnRepoint.Enabled = true; spinner_Repoint.Enabled = true; } else { btnRepoint.Enabled = false; spinner_Repoint.Enabled = false; } if (status.IsDuplicate) { spinner_Repoint.Value = status.DuplicateIndex; } else { spinner_Repoint.Value = status.Index; btnRepoint.Enabled = false; } spinner_Repoint.Maximum = 0x7f; int abilityReferenceCount = status.ReferencingAbilityIDs.Count; bool isAbilityUsagePanelVisible = (abilityReferenceCount > 0); pnl_AbilityUsage.Visible = isAbilityUsagePanelVisible; if (isAbilityUsagePanelVisible) { lbl_AbilityUsage_2.Text = abilityReferenceCount.ToString(); lbl_AbilityUsage_3.Text = (abilityReferenceCount == 0) ? "abilities" : ((abilityReferenceCount == 1) ? "ability: " : "abilities, e.g. "); int abilityIndex = GetFirstReferencingAbilityIndex(); lbl_AbilityUsage_4.Text = String.Format("{0:X2} {1}", abilityIndex, AllAbilities.GetNames(context)[abilityIndex]); } int itemReferenceCount = status.ReferencingItemIndexes.Count; bool isItemUsagePanelVisible = (itemReferenceCount > 0); pnl_ItemUsage.Visible = isItemUsagePanelVisible; if (isItemUsagePanelVisible) { lbl_ItemUsage_2.Text = itemReferenceCount.ToString(); lbl_ItemUsage_3.Text = (itemReferenceCount == 0) ? "items" : ((itemReferenceCount == 1) ? "item: " : "items, e.g. "); int itemIndex = GetFirstReferencingItemIndex(); int itemID = (itemIndex > 0xFD) ? (itemIndex + 2) : itemIndex; lbl_ItemUsage_4.Text = String.Format("{0:X2} {1}", itemID, Item.GetItemNames(context)[itemID]); } //inflictStatusesEditor.Statuses = status.Statuses; inflictStatusesEditor.SetStatuses(status.Statuses, context); inflictStatusesEditor.UpdateView(context); inflictStatusesEditor.ResumeLayout(); flagsCheckedListBox.ResumeLayout(); ResumeLayout(); ignoreChanges = false; }