/// <summary>
 /// Loads all default sosigs into the template manager
 /// </summary>
 private static void LoadDefaultSosigs()
 {
     foreach (SosigEnemyTemplate sosig in ManagerSingleton <IM> .Instance.odicSosigObjsByID.Values)
     {
         LoadedTemplateManager.AddSosigTemplate(sosig);
     }
 }
        public void LoadAsset(SetupStage stage, Mod mod, IHandle handle)
        {
            if (handle is not IFileHandle file)
            {
                throw new ArgumentException("Could not load sosig! Make sure you're pointing to a sosig template json file in the manifest");
            }

            try
            {
                SosigTemplate sosig = stage.ImmediateReaders.Get <JToken>()(file).ToObject <SosigTemplate>();
                TNHTweakerLogger.Log("TNHTweaker -- Sosig loaded successfuly : " + sosig.DisplayName, TNHTweakerLogger.LogType.File);

                LoadedTemplateManager.AddSosigTemplate(sosig);
            }
            catch (Exception e)
            {
                TNHTweakerLogger.LogError("Failed to load setup assets for sosig file! Caused Error: " + e.ToString());
            }
        }