public void UseCompanionPower(ECompanionSlot inSlot) { if (CompanionSlotOccupied(inSlot) && _companions[inSlot].CanUseCompanionPower()) { _companions[inSlot].UseCompanionPower(); } }
public void RequestCompanionDialogue(ECompanionSlot inSlot) { if (CompanionSlotOccupied(inSlot)) { _companions[inSlot].RequestDialogue(); } }
public void ClearCompanion(ECompanionSlot inSlot) { if (CompanionSlotOccupied(inSlot)) { _companions[inSlot].ClearLeader(); _companions[inSlot] = null; } }
public void RequestCompanionDialogue_RequestDialogueCalledOnCompanion() { const ECompanionSlot slot = ECompanionSlot.Primary; _set.SetCompanion(_companion, slot); _set.RequestCompanionDialogue(slot); Assert.IsTrue(_companion.RequestDialogueCalled); }
// ICompanionSetInterface public void SetCompanion(ICompanionInterface inCompanion, ECompanionSlot inSlot) { if (inCompanion != null && !_companions.ContainsValue(inCompanion)) { ClearCompanion(inSlot); _companions[inSlot] = inCompanion; inCompanion.SetLeader(gameObject); } }
public void UseCompanionPower_CanUse_UsePowerCalledOnCompanion() { const ECompanionSlot slot = ECompanionSlot.Primary; _companion.CanUseCompanionPowerResult = true; _set.SetCompanion(_companion, slot); _set.UseCompanionPower(slot); Assert.IsTrue(_companion.UseCompanionPowerCalled); }
private bool UpdateEntry(ECompanionSlot inSlot, PriorCompanionSlotState inPriorState) { var entryChanged = false; var currentCompanion = _companions[inSlot]; if (currentCompanion != inPriorState.PriorCompanion) { entryChanged = true; inPriorState.PriorCompanion = currentCompanion; if (currentCompanion != null) { inPriorState.PriorActive = currentCompanion.CanUseCompanionPower(); inPriorState.ConvertDataToState(currentCompanion.GetCompanionData()); } } else { if (currentCompanion != null) { var newData = currentCompanion.GetCompanionData(); if (Math.Abs(newData.PowerCooldown - inPriorState.PriorCooldown) > 0.04f) { entryChanged = true; inPriorState.PriorCooldown = newData.PowerCooldown; } if (newData.PowerUseCount != inPriorState.PriorUseCount) { entryChanged = true; inPriorState.PriorUseCount = newData.PowerUseCount; } if (newData.Image != inPriorState.PriorUIIcon) { entryChanged = true; inPriorState.PriorUIIcon = newData.Image; } var newActive = currentCompanion.CanUseCompanionPower(); if (newActive != inPriorState.PriorActive) { entryChanged = true; inPriorState.PriorActive = newActive; } } } return(entryChanged); }
private EInputHandlerResult OnDialogueInput(ECompanionSlot slot, bool isPressed) { if (_companionSet != null) { if (isPressed) { _companionSet.RequestCompanionDialogue(slot); } return(EInputHandlerResult.Handled); } return(EInputHandlerResult.Unhandled); }
private EInputHandlerResult OnPowerInput(ECompanionSlot slot, bool isPressed) { if (_companionSet != null) { if (isPressed) { _companionSet.UseCompanionPower(slot); } return(EInputHandlerResult.Handled); } return(EInputHandlerResult.Unhandled); }
public void Update_CompanionChanges_UpdateMessageSent() { const ECompanionSlot slot = ECompanionSlot.Primary; var messageSpy = new UnityTestMessageHandleResponseObject <CompanionSlotsUpdatedMessage>(); var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <CompanionSlotsUpdatedMessage>(_set.gameObject, messageSpy.OnResponse); _set.SetCompanion(_companion, slot); _set.TestUpdate(); Assert.IsTrue(messageSpy.ActionCalled); Assert.AreEqual(_companion, messageSpy.MessagePayload.Updates[slot].PriorCompanion); Assert.AreEqual(_companion.CanUseCompanionPowerResult, messageSpy.MessagePayload.Updates[slot].PriorActive); Assert.AreEqual(_companion.GetCompanionDataResult.PowerCooldown, messageSpy.MessagePayload.Updates[slot].PriorCooldown); Assert.AreSame(_companion.GetCompanionDataResult.Image, messageSpy.MessagePayload.Updates[slot].PriorUIIcon); Assert.AreEqual(_companion.GetCompanionDataResult.PowerUseCount, messageSpy.MessagePayload.Updates[slot].PriorUseCount); UnityMessageEventFunctions.UnregisterActionWithDispatcher(_set.gameObject, handle); }
// ~ICompanionSetInterface private bool CompanionSlotOccupied(ECompanionSlot inSlot) { return(_companions.ContainsKey(inSlot) && _companions[inSlot] != null); }
public void RequestCompanionDialogue(ECompanionSlot inSlot) { RequestCompanionDialogueSlotResult = inSlot; }
public void UseCompanionPower(ECompanionSlot inSlot) { UseCompanionPowerSlotResult = inSlot; }
public void ClearCompanion(ECompanionSlot inSlot) { ClearCompanionSlotResult = inSlot; }
public void SetCompanion(ICompanionInterface inCompanion, ECompanionSlot inSlot) { SetCompanionResult = inCompanion; SetCompanionSlotResult = inSlot; }