Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SocialAPI.cs
Go to the documentation of this file.
1using System;
3using ReLogic.OS;
7
8namespace Terraria.Social;
9
10public static class SocialAPI
11{
12 private static SocialMode _mode;
13
15
17
19
21
23
25
27
29
31
32 public static SocialMode Mode => _mode;
33
34 public static void Initialize(SocialMode? mode = null)
35 {
36 if (!mode.HasValue)
37 {
38 mode = SocialMode.None;
39 _ = Main.dedServ;
40 }
41 _mode = mode.Value;
44 Main.OnTickForInternalCodeOnly += JoinRequests.Update;
45 switch (Mode)
46 {
47 case SocialMode.Steam:
48 LoadSteam();
49 break;
50 case SocialMode.WeGame:
51 LoadWeGame();
52 break;
53 }
54 foreach (ISocialModule module in _modules)
55 {
57 }
58 }
59
60 public static void Shutdown()
61 {
62 _modules.Reverse();
63 foreach (ISocialModule module in _modules)
64 {
65 module.Shutdown();
66 }
67 }
68
69 private static T LoadModule<T>() where T : ISocialModule, new()
70 {
71 T val = new T();
72 _modules.Add(val);
73 return val;
74 }
75
77 {
78 _modules.Add(module);
79 return module;
80 }
81
82 private static void LoadDiscord()
83 {
85 {
87 }
88 }
89
90 private static void LoadSteam()
91 {
94 Achievements = LoadModule<Terraria.Social.Steam.AchievementsSocialModule>();
99 if (Main.dedServ)
100 {
102 }
103 else
104 {
106 }
107 WeGameHelper.WriteDebugString("LoadSteam modules");
108 }
109
110 private static void LoadWeGame()
111 {
116 if (Main.dedServ)
117 {
119 }
120 else
121 {
123 }
124 WeGameHelper.WriteDebugString("LoadWeGame modules");
125 }
126}
static bool IsWindows
Definition Platform.cs:19
static bool Is64BitOperatingSystem
static bool Is64BitProcess
static bool dedServ
Definition Main.cs:1226
static void Shutdown()
Definition SocialAPI.cs:60
static Terraria.Social.Base.AchievementsSocialModule Achievements
Definition SocialAPI.cs:16
static SocialMode _mode
Definition SocialAPI.cs:12
static Terraria.Social.Base.PlatformSocialModule Platform
Definition SocialAPI.cs:28
static Terraria.Social.Base.CloudSocialModule Cloud
Definition SocialAPI.cs:18
static void LoadWeGame()
Definition SocialAPI.cs:110
static Terraria.Social.Base.NetSocialModule Network
Definition SocialAPI.cs:20
static ServerJoinRequestsManager JoinRequests
Definition SocialAPI.cs:26
static Terraria.Social.Base.OverlaySocialModule Overlay
Definition SocialAPI.cs:22
static void LoadSteam()
Definition SocialAPI.cs:90
static List< ISocialModule > _modules
Definition SocialAPI.cs:30
static void LoadDiscord()
Definition SocialAPI.cs:82
static Terraria.Social.Base.WorkshopSocialModule Workshop
Definition SocialAPI.cs:24
static Terraria.Social.Base.FriendsSocialModule Friends
Definition SocialAPI.cs:14
static void Initialize(SocialMode? mode=null)
Definition SocialAPI.cs:34
static void WriteDebugString(string format, params object[] args)