10public class Steam : MonoBehaviour
15 Steam.Instance =
this;
22 BaseCore.IsOffline = (!App.Client.LoggedOn || SteamSettings.behaviour ==
null);
26 public void CheckUpdate()
31 public void CheckDLC()
33 Debug.Log(
Steam.HasDLC(ID_DLC.Test));
37 public static bool HasDLC(ID_DLC
id)
39 if (
id != ID_DLC.BackerReward)
42 return EClass.core.config.HasBackerRewardCode();
46 public static void GetAchievement(ID_Achievement
id)
48 string text =
"acv_" +
id.ToString();
49 foreach (AchievementObject achievementObject
in Steam.Instance.steamworks.settings.achievements)
51 if (achievementObject.Id == text)
53 if (achievementObject.IsAchieved)
57 achievementObject.Unlock();
58 EClass.ui.Say(
"sys_acv".lang(text.lang(),
null,
null,
null,
null), Resources.Load<Sprite>(
"Media/Graphics/Icon/Achievement/" + text));
62 Debug.Log(
"Achievement not found:" + text);
66 public void TestHasDLC()
68 Debug.Log(
Steam.HasDLC(ID_DLC.Test));
69 Debug.Log(
Steam.HasDLC(ID_DLC.CursedManor));
73 public void CreateUserContent(BaseModPackage p)
79 this.currentPackage = p;
80 UgcQuery myPublished = UgcQuery.GetMyPublished();
81 myPublished.SetReturnKeyValueTags(
true);
82 myPublished.Execute(
new UnityAction<UgcQuery>(this.CreateUserContent2));
86 private void CreateUserContent2(UgcQuery query)
88 Debug.Log(
"Creating Content2");
89 BaseModPackage baseModPackage = this.currentPackage;
90 if (query.ResultsList !=
null)
92 Debug.Log(query.ResultsList.Count);
94 foreach (WorkshopItem workshopItem
in query.ResultsList)
96 if (workshopItem.keyValueTags !=
null)
98 foreach (StringKeyValuePair stringKeyValuePair
in workshopItem.keyValueTags)
100 if (stringKeyValuePair.key ==
"id" && stringKeyValuePair.value == baseModPackage.id && workshopItem.Owner.id == App.Client.Owner.id)
102 Debug.Log(
"Updating Content");
103 this.UpdateUserContent(workshopItem.FileId);
109 Debug.Log(
"Creating Content");
110 FileInfo fileInfo =
new FileInfo(baseModPackage.dirInfo.FullName +
"/preview.jpg");
111 DirectoryInfo directoryInfo =
new DirectoryInfo(baseModPackage.dirInfo.FullName);
112 WorkshopItemData workshopItemData =
new WorkshopItemData
114 appId = this.steamworks.settings.applicationId,
115 title = baseModPackage.title,
116 description = baseModPackage.description,
117 content = directoryInfo,
119 metadata = (baseModPackage.id ??
""),
122 Debug.Log(App.Client.Owner.id);
123 Debug.Log(workshopItemData.appId);
124 Debug.Log(baseModPackage.id);
125 Debug.Log(directoryInfo.Exists.ToString() +
"/" + directoryInfo.FullName);
126 Debug.Log(fileInfo.Exists.ToString() +
"/" + fileInfo.FullName);
127 workshopItemData.Create(
null,
null,
new WorkshopItemKeyValueTag[]
129 new WorkshopItemKeyValueTag
132 value = baseModPackage.id
134 }, delegate(WorkshopItemDataCreateStatus result)
136 LayerProgress.completed =
true;
139 Dialog.Ok(
"mod_publish_error");
140 Debug.Log(
"error:" + result.errorMessage);
144 Debug.Log(
"created");
149 public void UpdateUserContent(PublishedFileId_t fileId)
151 Debug.Log(
"Updating Content");
152 BaseModPackage baseModPackage = this.currentPackage;
153 WorkshopItemData workshopItemData =
new WorkshopItemData
155 appId = this.steamworks.settings.applicationId,
156 title = baseModPackage.title,
157 description = baseModPackage.description,
158 content =
new DirectoryInfo(baseModPackage.dirInfo.FullName),
159 preview =
new FileInfo(baseModPackage.dirInfo.FullName +
"/preview.jpg"),
160 metadata = (baseModPackage.id ??
""),
163 workshopItemData.publishedFileId =
new PublishedFileId_t?(fileId);
164 workshopItemData.Update(delegate(WorkshopItemDataUpdateStatus result)
166 LayerProgress.completed =
true;
169 Dialog.Ok(
"mod_publish_error");
170 Debug.Log(
"error:" + result.errorMessage);
174 Debug.Log(
"updated");
179 public static Steam Instance;
182 public SteamworksBehaviour steamworks;
185 public UserGeneratedContentQueryManager ugc;
188 public WorkshopItem testData;
191 public BaseModPackage currentPackage;