diff --git a/Packages/com.trytalo.talo/Runtime/Entities/Group.cs b/Packages/com.trytalo.talo/Runtime/Entities/Group.cs new file mode 100644 index 0000000..d469ca6 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/Entities/Group.cs @@ -0,0 +1,5 @@ +[System.Serializable] +public class Group +{ + public string id, name; +} diff --git a/Packages/com.trytalo.talo/Runtime/Entities/Group.cs.meta b/Packages/com.trytalo.talo/Runtime/Entities/Group.cs.meta new file mode 100644 index 0000000..37d59a4 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/Entities/Group.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7953e59f777b44f7c8da7ce0fc9e52dd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.trytalo.talo/Runtime/Entities/Player.cs b/Packages/com.trytalo.talo/Runtime/Entities/Player.cs index 4824b3f..fc7b8f5 100644 --- a/Packages/com.trytalo.talo/Runtime/Entities/Player.cs +++ b/Packages/com.trytalo.talo/Runtime/Entities/Player.cs @@ -9,6 +9,7 @@ public class Player { public string id; public Prop[] props; + public Group[] groups; public override string ToString() { @@ -49,6 +50,11 @@ public void DeleteProp(string key) prop.value = null; Talo.Players.Update(); + } + + public bool IsInGroup(string groupId) + { + return groups.Any((group) => group.id == groupId); } } } diff --git a/Packages/com.trytalo.talo/Runtime/PlayersAPI.cs b/Packages/com.trytalo.talo/Runtime/PlayersAPI.cs index c16b32c..1464516 100644 --- a/Packages/com.trytalo.talo/Runtime/PlayersAPI.cs +++ b/Packages/com.trytalo.talo/Runtime/PlayersAPI.cs @@ -17,7 +17,14 @@ public async Task Identify(string service, string identifier) Talo.CurrentAlias = res.alias; - await Talo.Saves.GetSaves(); + try + { + await Talo.Saves.GetSaves(); + } + catch (Exception err) + { + Debug.LogError(err.Message); + } } public async void Update() @@ -31,10 +38,10 @@ public async void Update() Talo.CurrentPlayer = res.player; } - public async Task Merge(string alias1, string alias2) + public async Task Merge(string playerId1, string playerId2) { var uri = new Uri(baseUrl + "/merge"); - string content = JsonUtility.ToJson(new PlayersMergeRequest(alias1, alias2)); + string content = JsonUtility.ToJson(new PlayersMergeRequest(playerId1, playerId2)); string json = await Call(uri, "POST", content); var res = JsonUtility.FromJson(json); diff --git a/Packages/com.trytalo.talo/Runtime/Requests/PlayersMergeRequest.cs b/Packages/com.trytalo.talo/Runtime/Requests/PlayersMergeRequest.cs index d143d6e..0a89d64 100644 --- a/Packages/com.trytalo.talo/Runtime/Requests/PlayersMergeRequest.cs +++ b/Packages/com.trytalo.talo/Runtime/Requests/PlayersMergeRequest.cs @@ -1,13 +1,10 @@ -using System.Collections; -using UnityEngine; - -public class PlayersMergeRequest +public class PlayersMergeRequest { - public string alias1, alias2; + public string playerId1, playerId2; - public PlayersMergeRequest(string alias1, string alias2) + public PlayersMergeRequest(string playerId1, string playerId2) { - this.alias1 = alias1; - this.alias2 = alias2; + this.playerId1 = playerId1; + this.playerId2 = playerId2; } } diff --git a/Packages/com.trytalo.talo/package.json b/Packages/com.trytalo.talo/package.json index 11a692d..e0bc400 100644 --- a/Packages/com.trytalo.talo/package.json +++ b/Packages/com.trytalo.talo/package.json @@ -1,6 +1,6 @@ { "name": "com.trytalo.talo", - "version": "0.9.0", + "version": "0.10.0", "displayName": "Talo Game Services", "description": "Talo (https://trytalo.com) is an open-source game backend with services designed to help you build games faster. You can currently:\n\n- Identify players\n- Store persistent data across players\n- Track events (levelling up, finding loot, etc)\n- Display high scores with leaderboards\n- Store and load player saves", "unity": "2019.1", diff --git a/Packages/manifest.json b/Packages/manifest.json index f229cdf..f84ffb6 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,6 +1,6 @@ { "dependencies": { - "com.unity.ide.visualstudio": "2.0.15", + "com.unity.ide.visualstudio": "2.0.16", "com.unity.ide.vscode": "1.2.5", "com.unity.test-framework": "1.1.31", "com.unity.ugui": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6a9a326..de489a0 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -14,7 +14,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.15", + "version": "2.0.16", "depth": 0, "source": "registry", "dependencies": { diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 90d6509..8ea1b85 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.3.1f1 -m_EditorVersionWithRevision: 2021.3.1f1 (3b70a0754835) +m_EditorVersion: 2021.3.11f1 +m_EditorVersionWithRevision: 2021.3.11f1 (0a5ca18544bf)