public void UpdateView(AllInflictStatuses statuses) { offsetListBox.SelectedIndexChanged -= offsetListBox_SelectedIndexChanged; offsetListBox.DataSource = statuses.InflictStatuses; offsetListBox.SelectedIndexChanged += offsetListBox_SelectedIndexChanged; offsetListBox.SelectedIndex = 0; inflictStatusEditor.InflictStatus = offsetListBox.SelectedItem as InflictStatus; }
public static void BuildReferenceList(AllItemAttributes itemAttributes, AllInflictStatuses inflictStatuses, AllAbilities abilities, AllItems items) { foreach (ItemAttributes itemAttr in itemAttributes.ItemAttributes) { itemAttr.ReferencingItemIndexes.Clear(); } foreach (InflictStatus inflictStatus in inflictStatuses.InflictStatuses) { inflictStatus.ReferencingAbilityIDs.Clear(); inflictStatus.ReferencingItemIndexes.Clear(); } for (int index = 0; index < items.Items.Count; index++) { Item item = items.Items[index]; if (item.SIA < itemAttributes.ItemAttributes.Length) { itemAttributes.ItemAttributes[item.SIA].ReferencingItemIndexes.Add(index); } if (item is Weapon) { Weapon weapon = (Weapon)item; if (weapon.Formula.Value != 2) { if (weapon.InflictStatus < inflictStatuses.InflictStatuses.Length) { inflictStatuses.InflictStatuses[weapon.InflictStatus].ReferencingItemIndexes.Add(index); } } } else if (item is ChemistItem) { ChemistItem chemistItem = (ChemistItem)item; if (chemistItem.Formula != 2) { if (chemistItem.InflictStatus < inflictStatuses.InflictStatuses.Length) { inflictStatuses.InflictStatuses[chemistItem.InflictStatus].ReferencingItemIndexes.Add(index); } } } } for (int index = 0; index < abilities.Abilities.Length; index++) { Ability ability = abilities.Abilities[index]; if (ability.IsNormal) { if ((ability.Attributes.Formula.Value != 2) && (ability.Attributes.InflictStatus < inflictStatuses.InflictStatuses.Length)) { inflictStatuses.InflictStatuses[ability.Attributes.InflictStatus].ReferencingAbilityIDs.Add(index); } } } }
public void UpdateView(AllInflictStatuses statuses, PatcherLib.Datatypes.Context context) { ourContext = context; offsetListBox.SelectedIndexChanged -= offsetListBox_SelectedIndexChanged; offsetListBox.DataSource = statuses.InflictStatuses; offsetListBox.SelectedIndexChanged += offsetListBox_SelectedIndexChanged; offsetListBox.SelectedIndex = 0; PatchUtility.CheckDuplicates <InflictStatus>(statuses.InflictStatuses); offsetListBox.SetChangedColors <InflictStatus>(); //inflictStatusEditor.InflictStatus = offsetListBox.SelectedItem as InflictStatus; inflictStatusEditor.SetInflictStatus(offsetListBox.SelectedItem as InflictStatus, context); }
public void UpdateView(AllItems items, AllStoreInventories storeInventories, AllInflictStatuses inflictStatuses, AllItemAttributes itemAttributes, Context context) { ourContext = context; this.inflictStatuses = inflictStatuses; this.itemAttributes = itemAttributes; itemListBox.SelectedIndexChanged -= itemListBox_SelectedIndexChanged; itemListBox.DataSource = items.Items; itemListBox.SelectedIndexChanged += itemListBox_SelectedIndexChanged; itemListBox.SelectedIndex = 0; itemEditor.BuildItemNameLists(context); itemEditor.StoreInventories = storeInventories; //itemEditor.Item = itemListBox.SelectedItem as Item; itemEditor.SetItem(itemListBox.SelectedItem as Item, context); itemListBox.SetChangedColors(); }
public void UpdateView(AllAbilities allAbilities, AllInflictStatuses allInflictStatuses, Context context) { if (ourContext != context) { ourContext = context; cbAbility = null; } inflictStatuses = allInflictStatuses; abilitiesListBox.SelectedIndexChanged -= abilitiesListBox_SelectedIndexChanged; abilitiesListBox.DataSource = allAbilities.Abilities; abilitiesListBox.SelectedIndexChanged += abilitiesListBox_SelectedIndexChanged; abilitiesListBox.SelectedIndex = 0; //abilityEditor.UpdateView(context); Ability ability = abilitiesListBox.SelectedItem as Ability; //abilityEditor.Ability = ability; abilityEditor.SetAbility(ability, context); abilitiesListBox.SetChangedColors(); }
public static void RepointInflictStatus(AllItems items, AllAbilities abilities, AllInflictStatuses allInflictStatuses) { Dictionary <int, int> repointMap = GetRepointMap <InflictStatus>(allInflictStatuses.InflictStatuses); for (int itemIndex = 0; itemIndex < items.Items.Count; itemIndex++) { Item item = items.Items[itemIndex]; if (item is Weapon) { Weapon weapon = (Weapon)item; if (weapon.Formula.Value != 2) { int newID = 0; if (repointMap.TryGetValue(weapon.InflictStatus, out newID)) { weapon.InflictStatus = (byte)newID; weapon.OldInflictStatus = (byte)newID; allInflictStatuses.InflictStatuses[newID].ReferencingItemIndexes.Add(itemIndex); } } } else if (item is ChemistItem) { ChemistItem chemistItem = (ChemistItem)item; if (chemistItem.Formula != 2) { int newID = 0; if (repointMap.TryGetValue(chemistItem.InflictStatus, out newID)) { chemistItem.InflictStatus = (byte)newID; chemistItem.OldInflictStatus = (byte)newID; allInflictStatuses.InflictStatuses[newID].ReferencingItemIndexes.Add(itemIndex); } } } } for (int abilityIndex = 0; abilityIndex < abilities.Abilities.Length; abilityIndex++) { Ability ability = abilities.Abilities[abilityIndex]; if (!ability.IsNormal) { continue; } AbilityAttributes abilityAttrs = ability.Attributes; if (abilityAttrs.Formula.Value != 2) { int newID = 0; if (repointMap.TryGetValue(abilityAttrs.InflictStatus, out newID)) { abilityAttrs.InflictStatus = (byte)newID; abilityAttrs.OldInflictStatus = (byte)newID; allInflictStatuses.InflictStatuses[newID].ReferencingAbilityIDs.Add(abilityIndex); } } } foreach (int index in repointMap.Keys) { InflictStatus inflictStatus = allInflictStatuses.InflictStatuses[index]; inflictStatus.ReferencingItemIndexes.Clear(); inflictStatus.ReferencingAbilityIDs.Clear(); } }
public static void RepointSpecificInflictStatus(AllItems items, AllAbilities abilities, AllInflictStatuses allInflictStatuses, byte oldID, byte newID) { for (int itemIndex = 0; itemIndex < items.Items.Count; itemIndex++) { Item item = items.Items[itemIndex]; if (item is Weapon) { Weapon weapon = (Weapon)item; if ((weapon.Formula.Value != 2) && (weapon.InflictStatus == oldID)) { weapon.InflictStatus = newID; weapon.OldInflictStatus = newID; allInflictStatuses.InflictStatuses[newID].ReferencingItemIndexes.Add(itemIndex); } } else if (item is ChemistItem) { ChemistItem chemistItem = (ChemistItem)item; if ((chemistItem.Formula != 2) && (chemistItem.InflictStatus == oldID)) { chemistItem.InflictStatus = newID; chemistItem.OldInflictStatus = newID; allInflictStatuses.InflictStatuses[newID].ReferencingItemIndexes.Add(itemIndex); } } } for (int abilityIndex = 0; abilityIndex < abilities.Abilities.Length; abilityIndex++) { Ability ability = abilities.Abilities[abilityIndex]; if (!ability.IsNormal) { continue; } AbilityAttributes abilityAttrs = ability.Attributes; if ((abilityAttrs.Formula.Value != 2) && (abilityAttrs.InflictStatus == oldID)) { abilityAttrs.InflictStatus = newID; abilityAttrs.OldInflictStatus = newID; allInflictStatuses.InflictStatuses[newID].ReferencingAbilityIDs.Add(abilityIndex); } } allInflictStatuses.InflictStatuses[oldID].ReferencingItemIndexes.Clear(); allInflictStatuses.InflictStatuses[oldID].ReferencingAbilityIDs.Clear(); }