示例#1
0
        private void OnItemChanged()
        {
            reforgeList.Clear();
            if (reforgeSlot.item.IsAir)
            {
                return;
            }

            Item controlItem = reforgeSlot.item.Clone();

            if (!ItemLoader.PreReforge(controlItem))
            {
                return;
            }
            controlItem.netDefaults(reforgeSlot.item.netID);
            controlItem = controlItem.CloneWithModdedDataFrom(reforgeSlot.item);

            UIReforgeLabel reforgeLabel;
            List <byte>    tempSelected = new List <byte>();
            bool           isArmor      = false;

            for (byte i = 1; i < ModPrefix.PrefixCount; i++)
            {
                Item tempItem = controlItem.Clone();

                isArmor = ModCompat.ArmorPrefix(tempItem);
                if (isArmor && !tempItem.accessory)
                {
                    tempItem.accessory = true;
                }

                if (!tempItem.CanApplyPrefix(i))
                {
                    continue;
                }

                tempItem.Prefix(i);
                if (isArmor)
                {
                    ModCompat.ApplyArmorPrefix(tempItem, i);
                }

                if (tempItem.prefix != i)
                {
                    continue;
                }

                reforgeLabel              = new UIReforgeLabel(tempItem);
                reforgeLabel.OnMouseDown += ChoseReforge;
                reforgeLabel.SetPadding(10);
                if (selectedPrefixes.Contains(i))
                {
                    reforgeLabel.selected = true;
                    tempSelected.Add(i);
                }
                reforgeList.Add(reforgeLabel);
            }
            selectedPrefixes = tempSelected;
        }
示例#2
0
        public CSM()
        {
            // Setup the correct logging configuration
            Settings = new Settings();
            Log.Initialize(Settings.DebugLogging.value);

            ModCompat.Init();
        }
示例#3
0
 public override void Unload()
 {
     ModCompat.Unload();
     Instance          = null;
     Thorium           = null;
     Calamity          = null;
     AlchemistNPC      = null;
     AlchemistNPC_Lite = null;
 }
示例#4
0
 public override void PostSetupContent()
 {
     ModCompat.Load();
 }