NPCTypeStandardSettings INPCTypeDefiner.GetNPCTypeDefinition()
 {
     if (cachedNpcSettings == null)
     {
         cachedNpcSettings = new NPCTypeStandardSettings()
         {
             keyName           = NPCTypeKey,
             printName         = "Chicken coop",
             maskColor1        = new UnityEngine.Color32(84, 2, 2, 1),
             type              = NPCTypeID.GetNextID(),
             inventoryCapacity = 0.1f
         };
     }
     return(cachedNpcSettings);
 }
        public void AfterItemTypesDefined()
        {
            var defaults = new NPCTypeStandardSettings();

            foreach (var jobExtender in LoadedAssembalies)
            {
                if (Activator.CreateInstance(jobExtender) is INPCTypeStandardSettings settings &&
                    !string.IsNullOrEmpty(settings.keyName))
                {
                    NPCType.AddSettings(new NPCTypeStandardSettings
                    {
                        keyName           = settings.keyName,
                        maskColor1        = settings.maskColor1,
                        maskColor0        = settings.maskColor0,
                        Type              = NPCTypeID.GetID(settings.keyName),
                        inventoryCapacity = settings.inventoryCapacity == 0 ? defaults.inventoryCapacity : settings.inventoryCapacity,
                        movementSpeed     = settings.movementSpeed == 0 ? defaults.movementSpeed : settings.movementSpeed,
                    });
                }
            }
        }