Elin Decompiled Documentation EA 23.287 Stable Patch 3
Loading...
Searching...
No Matches
Steam Class Reference
Inheritance diagram for Steam:

Public Member Functions

void Init ()
 
void CheckUpdate ()
 
void CheckDLC ()
 
void TestHasDLC ()
 
void CreateUserContent (BaseModPackage p)
 
void UpdateUserContent (PublishedFileId_t fileId)
 
WorkshopItemData CreateItemData (BaseModPackage p)
 

Static Public Member Functions

static bool HasDLC (ID_DLC id)
 
static void GetAchievement (ID_Achievement id)
 
static void ResetAllAchievement ()
 
static void ResetAchievement (ID_Achievement id)
 

Public Attributes

SteamworksBehaviour steamworks
 
UserGeneratedContentQueryManager ugc
 
WorkshopItem testData
 
BaseModPackage currentPackage
 

Static Public Attributes

static Steam Instance
 

Private Member Functions

void Awake ()
 
void CreateUserContent2 (UgcQuery query)
 

Detailed Description

Definition at line 9 of file Steam.cs.

Member Function Documentation

◆ Awake()

void Steam.Awake ( )
inlineprivate

Definition at line 21 of file Steam.cs.

22 {
23 Instance = this;
24 }
static Steam Instance
Definition: Steam.cs:11

References Instance.

◆ CheckDLC()

void Steam.CheckDLC ( )
inline

Definition at line 36 of file Steam.cs.

37 {
38 Debug.Log(HasDLC(ID_DLC.Test));
39 }
ID_DLC
Definition: ID_DLC.cs:2
static bool HasDLC(ID_DLC id)
Definition: Steam.cs:41

References Debug, and HasDLC().

◆ CheckUpdate()

void Steam.CheckUpdate ( )
inline

Definition at line 32 of file Steam.cs.

33 {
34 }

Referenced by CoreDebug.UpdateInput().

◆ CreateItemData()

WorkshopItemData Steam.CreateItemData ( BaseModPackage  p)
inline

Definition at line 201 of file Steam.cs.

202 {
203 FileInfo fileInfo = new FileInfo(p.dirInfo.FullName + "/preview.jpg");
204 DirectoryInfo directoryInfo = new DirectoryInfo(p.dirInfo.FullName);
205 WorkshopItemData workshopItemData = default(WorkshopItemData);
206 workshopItemData.appId = steamworks.settings.applicationId;
207 workshopItemData.title = p.title;
208 workshopItemData.description = p.description;
209 workshopItemData.content = directoryInfo;
210 workshopItemData.preview = fileInfo;
211 workshopItemData.metadata = p.id ?? "";
212 workshopItemData.tags = p.tags;
213 workshopItemData.visibility = ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic;
214 WorkshopItemData result = workshopItemData;
215 switch (p.visibility)
216 {
217 case "Unlisted":
218 result.visibility = ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityUnlisted;
219 break;
220 case "Private":
221 result.visibility = ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPrivate;
222 break;
223 case "FriendsOnly":
224 result.visibility = ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityFriendsOnly;
225 break;
226 }
227 Debug.Log(App.Client.Owner.id);
228 Debug.Log(result.appId);
229 Debug.Log(p.id);
230 Debug.Log(directoryInfo.Exists + "/" + directoryInfo.FullName);
231 Debug.Log(fileInfo.Exists + "/" + fileInfo.FullName);
232 return result;
233 }
DirectoryInfo dirInfo
SteamworksBehaviour steamworks
Definition: Steam.cs:13

References Debug, BaseModPackage.description, BaseModPackage.dirInfo, BaseModPackage.id, steamworks, BaseModPackage.tags, BaseModPackage.title, and BaseModPackage.visibility.

Referenced by CreateUserContent2(), and UpdateUserContent().

◆ CreateUserContent()

void Steam.CreateUserContent ( BaseModPackage  p)
inline

Definition at line 115 of file Steam.cs.

116 {
117 LayerProgress.Start("Uploading").onCancel = delegate
118 {
119 };
120 p.UpdateMeta(updateOnly: true);
121 currentPackage = p;
122 UgcQuery myPublished = UgcQuery.GetMyPublished();
123 myPublished.SetReturnKeyValueTags(tags: true);
124 myPublished.Execute(CreateUserContent2);
125 }
void UpdateMeta(bool updateOnly=false)
static LayerProgress Start(string text, Action onComplete=null)
BaseModPackage currentPackage
Definition: Steam.cs:19
void CreateUserContent2(UgcQuery query)
Definition: Steam.cs:127

References CreateUserContent2(), currentPackage, LayerProgress.onCancel, LayerProgress.Start(), and BaseModPackage.UpdateMeta().

◆ CreateUserContent2()

void Steam.CreateUserContent2 ( UgcQuery  query)
inlineprivate

Definition at line 127 of file Steam.cs.

128 {
129 Debug.Log("Creating Content2");
130 BaseModPackage baseModPackage = currentPackage;
131 if (query.ResultsList != null)
132 {
133 Debug.Log(query.ResultsList.Count);
134 }
135 foreach (WorkshopItem results in query.ResultsList)
136 {
137 if (results.keyValueTags == null)
138 {
139 continue;
140 }
141 StringKeyValuePair[] keyValueTags = results.keyValueTags;
142 for (int i = 0; i < keyValueTags.Length; i++)
143 {
144 StringKeyValuePair stringKeyValuePair = keyValueTags[i];
145 if (stringKeyValuePair.key == "id" && stringKeyValuePair.value == baseModPackage.id && results.Owner.id == App.Client.Owner.id)
146 {
147 Debug.Log("Updating Content");
148 UpdateUserContent(results.FileId);
149 return;
150 }
151 }
152 }
153 Debug.Log("Creating Content");
154 CreateItemData(baseModPackage).Create(null, null, new WorkshopItemKeyValueTag[1]
155 {
156 new WorkshopItemKeyValueTag
157 {
158 key = "id",
159 value = baseModPackage.id
160 }
161 }, delegate(WorkshopItemDataCreateStatus result)
162 {
163 LayerProgress.completed = true;
164 if (result.hasError)
165 {
166 Dialog.Ok("mod_publish_error");
167 EClass.ui.Say(result.errorMessage);
168 Debug.Log("error:" + result.errorMessage);
169 }
170 else
171 {
172 Dialog.Ok("mod_created");
173 Debug.Log("created");
174 }
175 });
176 }
Definition: Dialog.cs:7
static Dialog Ok(string langDetail, Action action=null)
Definition: Dialog.cs:230
Definition: EClass.cs:6
static UI ui
Definition: EClass.cs:17
void UpdateUserContent(PublishedFileId_t fileId)
Definition: Steam.cs:178
WorkshopItemData CreateItemData(BaseModPackage p)
Definition: Steam.cs:201

References CreateItemData(), currentPackage, Debug, Dialog.Ok(), EClass.ui, and UpdateUserContent().

Referenced by CreateUserContent().

◆ GetAchievement()

static void Steam.GetAchievement ( ID_Achievement  id)
inlinestatic

Definition at line 51 of file Steam.cs.

52 {
54 {
55 return;
56 }
57 try
58 {
59 foreach (AchievementObject achievement in Instance.steamworks.settings.achievements)
60 {
61 if (achievement.Id == id.ToString())
62 {
63 if (achievement.IsAchieved)
64 {
65 return;
66 }
67 try
68 {
69 achievement.Unlock();
70 achievement.Store();
71 EClass.ui.Say("sys_acv".lang(achievement.Name), Resources.Load<Sprite>("Media/Graphics/Icon/Achievement/acv_" + id));
72 SE.Play("achievement");
73 return;
74 }
75 catch (Exception ex)
76 {
77 Debug.LogError("Error Achievement 1:" + ex);
78 return;
79 }
80 }
81 }
82 }
83 catch (Exception ex2)
84 {
85 Debug.LogError("Error Achievement 2:" + ex2);
86 }
87 Debug.Log("Achievement not found:" + id);
88 }
static bool IsOffline
Definition: BaseCore.cs:9

References Debug, Instance, BaseCore.IsOffline, steamworks, and EClass.ui.

Referenced by Chara._ShowDialog(), FactionBranch.AddMemeber(), Chara.Die(), Religion.JoinFaith(), Player.ModKarma(), Trait.OnBarter(), UIHangIcon.OnClickCorner(), TraitDrink.OnDrink(), AI_Fish.ProgressFish.OnProgressComplete(), DramaManager.ParseLine(), FoodEffect.Proc(), ActEffect.Proc(), Chara.ShowDialog(), Chara.Slap(), Trait.TryOpenLock(), CoreDebug.UpdateAlways(), and Player.UpdateNyan().

◆ HasDLC()

static bool Steam.HasDLC ( ID_DLC  id)
inlinestatic

Definition at line 41 of file Steam.cs.

42 {
43 return id switch
44 {
45 ID_DLC.CursedManor => true,
46 ID_DLC.BackerReward => EClass.core.config.HasBackerRewardCode(),
48 };
49 }
bool HasBackerRewardCode()
Definition: CoreConfig.cs:741
CoreConfig config
Definition: Core.cs:70
static Core core
Definition: EClass.cs:7

References Core.config, EClass.core, and CoreConfig.HasBackerRewardCode().

Referenced by CheckDLC(), FactionBranch.ReceivePackages(), and TestHasDLC().

◆ Init()

void Steam.Init ( )
inline

Definition at line 26 of file Steam.cs.

27 {
28 SteamAPI.Init();
29 BaseCore.IsOffline = !App.Client.LoggedOn || SteamSettings.behaviour == null;
30 }

Referenced by Core.Start().

◆ ResetAchievement()

static void Steam.ResetAchievement ( ID_Achievement  id)
inlinestatic

Definition at line 99 of file Steam.cs.

100 {
101 AchievementObject achievementObject = Instance.steamworks.settings.achievements.First((AchievementObject a) => a.Id == id.ToString());
102 if (achievementObject != null)
103 {
104 achievementObject.ClearAchievement();
105 achievementObject.Store();
106 }
107 }

References Instance, and steamworks.

Referenced by CoreDebug.ResetAchievement().

◆ ResetAllAchievement()

static void Steam.ResetAllAchievement ( )
inlinestatic

Definition at line 90 of file Steam.cs.

91 {
92 foreach (AchievementObject achievement in Instance.steamworks.settings.achievements)
93 {
94 achievement.ClearAchievement();
95 achievement.Store();
96 }
97 }

References Instance, and steamworks.

Referenced by CoreDebug.ResetAllAchievement().

◆ TestHasDLC()

void Steam.TestHasDLC ( )
inline

Definition at line 109 of file Steam.cs.

110 {
111 Debug.Log(HasDLC(ID_DLC.Test));
112 Debug.Log(HasDLC(ID_DLC.CursedManor));
113 }

References Debug, and HasDLC().

◆ UpdateUserContent()

void Steam.UpdateUserContent ( PublishedFileId_t  fileId)
inline

Definition at line 178 of file Steam.cs.

179 {
180 Debug.Log("Updating Content");
182 WorkshopItemData workshopItemData = CreateItemData(p);
183 workshopItemData.publishedFileId = fileId;
184 workshopItemData.Update(delegate(WorkshopItemDataUpdateStatus result)
185 {
186 LayerProgress.completed = true;
187 if (result.hasError)
188 {
189 Dialog.Ok("mod_publish_error");
190 EClass.ui.Say(result.errorMessage);
191 Debug.Log("error:" + result.errorMessage);
192 }
193 else
194 {
195 Dialog.Ok("mod_updated");
196 Debug.Log("updated");
197 }
198 });
199 }

References CreateItemData(), currentPackage, and Debug.

Referenced by CreateUserContent2().

Member Data Documentation

◆ currentPackage

BaseModPackage Steam.currentPackage

Definition at line 19 of file Steam.cs.

Referenced by CreateUserContent(), CreateUserContent2(), and UpdateUserContent().

◆ Instance

Steam Steam.Instance
static

Definition at line 11 of file Steam.cs.

Referenced by Awake(), GetAchievement(), ResetAchievement(), and ResetAllAchievement().

◆ steamworks

SteamworksBehaviour Steam.steamworks

◆ testData

WorkshopItem Steam.testData

Definition at line 17 of file Steam.cs.

◆ ugc

UserGeneratedContentQueryManager Steam.ugc

Definition at line 15 of file Steam.cs.


The documentation for this class was generated from the following file: