Esempio n. 1
0
            public static void LoadClans(string directoryName)
            {
                DirectoryName = directoryName;
                Instance.PrintError(directoryName);
                try
                {
                    string[] configFiles = new string[0];
                    try
                    {
                        configFiles = Interface.Oxide.DataFileSystem.GetFiles(directoryName, "*.json");
                    }
                    catch (Exception ex)
                    {
                        if (ex.GetType().Name != "DirectoryNotFoundException")
                        {
                            Instance.PrintError(ex.ToString());
                            return;
                        }
                    }

                    if (configFiles.Length < 1)
                    {
                        Interface.Oxide.DataFileSystem.WriteObject(DirectoryName + Path.DirectorySeparatorChar + "Template", new ClanConfiguration
                        {
                            DiscordRoleID = "0",
                            ClanTag       = "Template Clan Tag",
                            ClanColor     = "#0F0F0F",
                            Members       = new List <ulong>()
                        });
                        Instance.PrintWarning("No Existing Clan Configurations, Saving Template");
                        return;
                    }

                    for (int i = 0; i < configFiles.Length; i++)
                    {
                        configFiles[i] = configFiles[i].Replace(Interface.Oxide.DataDirectory + "/", "").Replace(".json", "");
                        Instance.PrintError(configFiles[i]);
                        if (configFiles[i].Contains("Template"))
                        {
                            continue;
                        }
                        Instance.PrintWarning(configFiles[i]);
                        ClanConfiguration clanConfiguration = Interface.Oxide.DataFileSystem.ReadObject <ClanConfiguration>(configFiles[i]);
                        try
                        {
                            AllClans.Add(CreateClan(clanConfiguration, configFiles[i]));
                        }
                        catch (Exception ex)
                        {
                            Instance.PrintError(ex.ToString());
                        }
                    }
                    Instance.Puts($"Loaded {AllClans.Count} Clan[s]");
                }
                catch (Exception ex)
                {
                    Instance.PrintError("FATAL ERROR WHILST LOADING CLANS" + Environment.NewLine + ex.ToString());
                }
            }
Esempio n. 2
0
 public static Clan CreateClan(ClanConfiguration config, string fileName)
 {
     return(new Clan
     {
         fileName = fileName,
         discordRoleID = config.DiscordRoleID,
         clanTag = config.ClanTag,
         clanColor = config.ClanColor,
         Members = config.Members ?? new List <ulong>()
     });
 }
Esempio n. 3
0
            public void Save()
            {
                if (fileName == null)
                {
                    Instance.PrintError("Filename was empty for Clan: " + clanTag);
                    return;
                }

                ClanConfiguration configuration = new ClanConfiguration
                {
                    DiscordRoleID = discordRoleID,
                    ClanTag       = clanTag,
                    ClanColor     = clanColor,
                    Members       = Members
                };

                Interface.Oxide.DataFileSystem.WriteObject(fileName, configuration);
                Instance.Puts($"Saved Clan Configuration: {fileName}");
            }