Example #1
0
 public PandaCraftingJobRotatedSettings(CraftingJobRotatedSettings settings) : base(settings.BlockTypes[0].Name, settings.NPCTypeKey)
 {
     BlockTypes       = settings.BlockTypes;
     CraftingCooldown = settings.CraftingCooldown;
     MaxCraftsPerHaul = settings.MaxCraftsPerHaul;
     NPCType          = settings.NPCType;
     NPCTypeKey       = settings.NPCTypeKey;
     OnCraftedAudio   = settings.OnCraftedAudio;
     RecruitmentItem  = settings.RecruitmentItem;
 }
Example #2
0
        public static bool TryGetNPCCraftSettings(this IJob job, out CraftingJobRotatedSettings settings)
        {
            if (job != null && job is CraftingJobInstance craftingJob)
            {
                settings = craftingJob.Settings as CraftingJobRotatedSettings;

                if (settings == null)
                {
                    return(false);
                }

                return(true);
            }

            settings = null;
            return(false);
        }
Example #3
0
        public static bool TryGetNPCCraftDefaultSettings(this IJob job, out CraftingJobRotatedSettings settings)
        {
            if (job != null && job is CraftingJobInstance craftingJob)
            {
                settings = craftingJob.Settings as CraftingJobRotatedSettings;

                if (settings == null)
                {
                    return(false);
                }

                if (ServerManager.BlockEntityCallbacks.TryGetCraftJobSettings(settings.NPCTypeKey, out settings))
                {
                    return(true);
                }
            }

            settings = null;
            return(false);
        }
Example #4
0
        public static bool TryGetCraftJobSettings(this BlockEntities.BlockEntityCallbacks callbacks, string name, out CraftingJobRotatedSettings craftingJobSettings)
        {
            craftingJobSettings = null;

            var craftJobInstance = callbacks.AutoLoadedInstances.FirstOrDefault(o => o is BlockJobManager <CraftingJobInstance> manager && manager.Settings is CraftingJobRotatedSettings set && set.NPCTypeKey == name) as BlockJobManager <CraftingJobInstance>;

            if (craftJobInstance == null)
            {
                APILogger.Log(ChatColor.yellow, "Unable to find craft lit job settings for {0}", name);
            }
            else
            {
                craftingJobSettings = craftJobInstance.Settings as CraftingJobRotatedSettings;
            }

            return(craftingJobSettings != null);
        }