Update StateApi.cs

This commit is contained in:
Bracket 2025-09-02 02:02:52 +01:00 committed by GitHub
parent 0442fb7b60
commit 8f362c5121
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -180,14 +180,18 @@ public sealed class StateApi : IGlamourerApiState, IApiService, IDisposable
return ApiHelpers.Return(GlamourerApiEc.Success, args);
}
public (GlamourerApiEc, bool?) IsUnlocked(int objectIndex, uint key)
public GlamourerApiEc CanUnlock(int objectIndex, uint key, out bool isLocked, out bool canUnlock)
{
var args = ApiHelpers.Args("Index", objectIndex, "Key", key);
isLocked = false; // These seem like reasonable defaults.
canUnlock = false;
if (_helpers.FindExistingState(objectIndex, out var state) != GlamourerApiEc.Success)
return (ApiHelpers.Return(GlamourerApiEc.ActorNotFound, args), null);
return ApiHelpers.Return(GlamourerApiEc.ActorNotFound, args);
if (state == null)
return (ApiHelpers.Return(GlamourerApiEc.InvalidState, args), null); // Possibly, the error type could be changed. I just looked at what was available.
return (ApiHelpers.Return(GlamourerApiEc.Success, args), state.CanUnlock(key));
return ApiHelpers.Return(GlamourerApiEc.InvalidState, args); // Possibly, the error type could be changed. I just looked at what was available.
isLocked = state.IsLocked;
canUnlock = state.CanUnlock(key);
return ApiHelpers.Return(GlamourerApiEc.Success, args);
}
public GlamourerApiEc UnlockStateName(string playerName, uint key)