public void SelectAction(IInitiativeActor activeEntity, IReadOnlyDictionary <uint, IAction> availableActions, Action <uint> selectAction) { ActiveCharacter = activeEntity as IPlayerCharacterActor; AvailableActions = availableActions; _selectActionCallback = selectAction; ActiveCharacterChanged?.Invoke(); }
public void SubmitActionResponse(uint actionId) { if (ActiveCharacter == null || AvailableActions == null || !AvailableActions.ContainsKey(actionId)) { return; } _selectActionCallback?.Invoke(actionId); ActiveCharacter = null; AvailableActions = null; _selectActionCallback = null; ActiveCharacterChanged?.Invoke(); }