From fb64315d517fb9a764ae515902f4afbe6cb4171b Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Mon, 15 Apr 2024 16:54:02 +0200 Subject: [PATCH] Add documentation to API. --- Glamourer.Api | 2 +- Glamourer/Api/DesignsApi.cs | 6 +++--- Glamourer/Api/ItemsApi.cs | 6 +++--- Glamourer/Api/StateApi.cs | 40 ++++++++++++++++++++++++------------- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/Glamourer.Api b/Glamourer.Api index f584820..1529863 160000 --- a/Glamourer.Api +++ b/Glamourer.Api @@ -1 +1 @@ -Subproject commit f58482079a2ebe6b2958ff2432b245bcf180d3c2 +Subproject commit 1529863ecb33d85ea88dc2cf3c749a245b11cf55 diff --git a/Glamourer/Api/DesignsApi.cs b/Glamourer/Api/DesignsApi.cs index 16e0ca9..ee49bd5 100644 --- a/Glamourer/Api/DesignsApi.cs +++ b/Glamourer/Api/DesignsApi.cs @@ -39,16 +39,16 @@ public class DesignsApi(ApiHelpers helpers, DesignManager designs, StateManager stateManager.ApplyDesign(state, design, settings); } - public GlamourerApiEc ApplyDesignName(Guid designId, string objectName, uint key, ApplyFlag flags) + public GlamourerApiEc ApplyDesignName(Guid designId, string playerName, uint key, ApplyFlag flags) { - var args = ApiHelpers.Args("Design", designId, "Name", objectName, "Key", key, "Flags", flags); + var args = ApiHelpers.Args("Design", designId, "Name", playerName, "Key", key, "Flags", flags); var design = designs.Designs.ByIdentifier(designId); if (design == null) return ApiHelpers.Return(GlamourerApiEc.DesignNotFound, args); var any = false; var anyUnlocked = false; - foreach (var state in helpers.FindStates(objectName)) + foreach (var state in helpers.FindStates(playerName)) { any = true; if (!state.CanUnlock(key)) diff --git a/Glamourer/Api/ItemsApi.cs b/Glamourer/Api/ItemsApi.cs index baea51a..cda1980 100644 --- a/Glamourer/Api/ItemsApi.cs +++ b/Glamourer/Api/ItemsApi.cs @@ -32,9 +32,9 @@ public class ItemsApi(ApiHelpers helpers, ItemManager itemManager, StateManager return GlamourerApiEc.Success; } - public GlamourerApiEc SetItemName(string objectName, ApiEquipSlot slot, ulong itemId, byte stain, uint key, ApplyFlag flags) + public GlamourerApiEc SetItemName(string playerName, ApiEquipSlot slot, ulong itemId, byte stain, uint key, ApplyFlag flags) { - var args = ApiHelpers.Args("Name", objectName, "Slot", slot, "ID", itemId, "Stain", stain, "Key", key, "Flags", flags); + var args = ApiHelpers.Args("Name", playerName, "Slot", slot, "ID", itemId, "Stain", stain, "Key", key, "Flags", flags); if (!ResolveItem(slot, itemId, out var item)) return ApiHelpers.Return(GlamourerApiEc.ItemInvalid, args); @@ -42,7 +42,7 @@ public class ItemsApi(ApiHelpers helpers, ItemManager itemManager, StateManager var anyHuman = false; var anyFound = false; var anyUnlocked = false; - foreach (var state in helpers.FindStates(objectName)) + foreach (var state in helpers.FindStates(playerName)) { anyFound = true; if (!state.ModelData.IsHuman) diff --git a/Glamourer/Api/StateApi.cs b/Glamourer/Api/StateApi.cs index d540c7c..3e2fde4 100644 --- a/Glamourer/Api/StateApi.cs +++ b/Glamourer/Api/StateApi.cs @@ -54,8 +54,14 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable public (GlamourerApiEc, JObject?) GetState(int objectIndex, uint key) => Convert(_helpers.FindState(objectIndex), key); - public (GlamourerApiEc, JObject?) GetStateName(string objectName, uint key) - => Convert(_helpers.FindStates(objectName).FirstOrDefault(), key); + public (GlamourerApiEc, JObject?) GetStateName(string playerName, uint key) + => Convert(_helpers.FindStates(playerName).FirstOrDefault(), key); + + public (GlamourerApiEc, string?) GetStateBase64(int objectIndex, uint key) + => ConvertBase64(_helpers.FindState(objectIndex), key); + + public (GlamourerApiEc, string?) GetStateBase64Name(string objectName, uint key) + => ConvertBase64(_helpers.FindStates(objectName).FirstOrDefault(), key); public GlamourerApiEc ApplyState(object applyState, int objectIndex, uint key, ApplyFlag flags) { @@ -76,13 +82,13 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable return ApiHelpers.Return(GlamourerApiEc.Success, args); } - public GlamourerApiEc ApplyStateName(object applyState, string objectName, uint key, ApplyFlag flags) + public GlamourerApiEc ApplyStateName(object applyState, string playerName, uint key, ApplyFlag flags) { - var args = ApiHelpers.Args("Name", objectName, "Key", key, "Flags", flags); + var args = ApiHelpers.Args("Name", playerName, "Key", key, "Flags", flags); if (Convert(applyState, flags, out var version) is not { } design) return ApiHelpers.Return(GlamourerApiEc.InvalidState, args); - var states = _helpers.FindExistingStates(objectName); + var states = _helpers.FindExistingStates(playerName); var any = false; var anyUnlocked = false; @@ -129,10 +135,10 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable return ApiHelpers.Return(GlamourerApiEc.Success, args); } - public GlamourerApiEc RevertStateName(string objectName, uint key, ApplyFlag flags) + public GlamourerApiEc RevertStateName(string playerName, uint key, ApplyFlag flags) { - var args = ApiHelpers.Args("Name", objectName, "Key", key, "Flags", flags); - var states = _helpers.FindExistingStates(objectName); + var args = ApiHelpers.Args("Name", playerName, "Key", key, "Flags", flags); + var states = _helpers.FindExistingStates(playerName); var any = false; var anyUnlocked = false; @@ -170,10 +176,10 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable return ApiHelpers.Return(GlamourerApiEc.Success, args); } - public GlamourerApiEc UnlockStateName(string objectName, uint key) + public GlamourerApiEc UnlockStateName(string playerName, uint key) { - var args = ApiHelpers.Args("Name", objectName, "Key", key); - var states = _helpers.FindExistingStates(objectName); + var args = ApiHelpers.Args("Name", playerName, "Key", key); + var states = _helpers.FindExistingStates(playerName); var any = false; var anyUnlocked = false; @@ -211,10 +217,10 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable return ApiHelpers.Return(GlamourerApiEc.Success, args); } - public GlamourerApiEc RevertToAutomationName(string objectName, uint key, ApplyFlag flags) + public GlamourerApiEc RevertToAutomationName(string playerName, uint key, ApplyFlag flags) { - var args = ApiHelpers.Args("Name", objectName, "Key", key, "Flags", flags); - var states = _helpers.FindExistingStates(objectName); + var args = ApiHelpers.Args("Name", playerName, "Key", key, "Flags", flags); + var states = _helpers.FindExistingStates(playerName); var any = false; var anyUnlocked = false; @@ -303,6 +309,12 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable return (GlamourerApiEc.Success, _converter.ShareJObject(state, ApplicationRules.AllWithConfig(_config))); } + private (GlamourerApiEc, string?) ConvertBase64(ActorState? state, uint key) + { + var (ec, jObj) = Convert(state, key); + return (ec, jObj != null ? DesignConverter.ToBase64(jObj) : null); + } + private DesignBase? Convert(object? state, ApplyFlag flags, out byte version) { version = DesignConverter.Version;