コード例 #1
0
ファイル: ClanManager.cs プロジェクト: Tygra/Clans
 public static void LoadMember(TSPlayer ts)
 {
     try
     {
         using (var reader = Database.QueryReader("SELECT * FROM ClanMembers WHERE Username = @0", ts.UserAccountName))
         {
             if (reader.Read())
             {
                 string clanName = reader.Get <string>("ClanName");
                 ClanMembers.Add(ts.Index, clanName);
                 Clan c = FindClanByPlayer(ts);
                 if (c != null)
                 {
                     c.OnlineClanMembers.Add(ts.Index, new ClanMember()
                     {
                         Index = ts.Index, ClanName = clanName
                     });
                     ClanHooks.OnClanLogin(ts, c);
                 }
             }
             else
             {
                 ClanMembers.Add(ts.Index, string.Empty);
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
     }
 }
コード例 #2
0
ファイル: ClanManager.cs プロジェクト: Tygra/Clans
 public static bool CreateClan(TSPlayer ts, Clan clan)
 {
     try
     {
         Database.Query("INSERT INTO Clans (Name, Owner, InviteMode, ChatColor, Bans) VALUES (@0, @1, @2, @3, @4)", clan.Name, clan.Owner, (int)InviteMode.False, Config.DefaultChatColor, "[]");
         Clans.Add(clan.Name, clan);
         JoinClan(ts, clan);
         ClanHooks.OnClanCreated(ts, clan.Name);
         return(true);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
         return(false);
     }
 }
コード例 #3
0
ファイル: ClanManager.cs プロジェクト: Tygra/Clans
 public static void LeaveClan(TSPlayer ts, Clan clan)
 {
     try
     {
         ClanHooks.OnClanLeave(ts, clan);
         if (ts.UserAccountName == clan.Owner)
         {
             ClanHooks.OnClanRemoved(clan);
             RemoveClan(clan);
         }
         else
         {
             clan.OnlineClanMembers.Remove(ts.Index);
             Database.Query("DELETE FROM ClanMembers WHERE Username = @0 AND ClanName = @1", ts.UserAccountName, clan.Name);
         }
         ClanMembers[ts.Index] = string.Empty;
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
     }
 }
コード例 #4
0
ファイル: ClanManager.cs プロジェクト: Tygra/Clans
 public static bool JoinClan(TSPlayer ts, Clan clan)
 {
     try
     {
         ClanMembers[ts.Index] = clan.Name;
         Database.Query("INSERT INTO ClanMembers (Username, ClanName) VALUES (@0, @1)", ts.UserAccountName, clan.Name);
         clan.OnlineClanMembers.Add(ts.Index, new ClanMember()
         {
             Index = ts.Index, ClanName = ClanMembers[ts.Index]
         });
         if (ts.UserAccountName != clan.Owner)
         {
             ClanHooks.OnClanJoin(ts, clan);
         }
         return(true);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
         return(false);
     }
 }