コード例 #1
0
        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 ) );
             *  }
             * }
             */
        }
コード例 #2
0
        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;
        }