public void SetPower_CallsOnPowerClearedWithPriorPowerAssignedToSlot() { const EPowerSetting expectedSetting = EPowerSetting.Primary; _assign.SetPower(_power, expectedSetting); _assign.SetPower(_otherPower, expectedSetting); Assert.IsTrue(_power.OnPowerClearedCalled); }
public void ActivatePower_CanActivatePowerFalse_DoesNotActivatePower() { const EPowerSetting expectedSetting = EPowerSetting.Primary; _power.CanActivatePowerResult = false; _assign.SetPower(_power, expectedSetting); _assign.ActivatePower(expectedSetting); Assert.IsNull(_power.ActivatePowerGameObject); }
public void ActivatePower_CanActivatePowerTrue_DoesActivatePower() { const EPowerSetting expectedSetting = EPowerSetting.Primary; _power.CanActivatePowerResult = true; _assign.SetPower(_power, expectedSetting); _assign.ActivatePower(expectedSetting); Assert.AreSame(_power.ActivatePowerGameObject, _assign.gameObject); }
public void ActivatePower(EPowerSetting inPowerSetting) { var activatedPower = false; if (_registeredPowers.ContainsKey(inPowerSetting) && _registeredPowers[inPowerSetting].CurrentPower.CanActivatePower(gameObject)) { _registeredPowers[inPowerSetting].CurrentPower.ActivatePower(gameObject); activatedPower = true; } UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(gameObject, new PowerActivationAttemptMessage(inPowerSetting, activatedPower)); }
public void ActivatePower_NoPowerSet_SendsAttemptMessageRecordingFailure() { const EPowerSetting expectedSetting = EPowerSetting.Primary; var messageSpy = new UnityTestMessageHandleResponseObject <PowerActivationAttemptMessage>(); var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <PowerActivationAttemptMessage>(_assign.gameObject, messageSpy.OnResponse); _assign.ActivatePower(expectedSetting); UnityMessageEventFunctions.UnregisterActionWithDispatcher(_assign.gameObject, handle); Assert.IsTrue(messageSpy.ActionCalled); Assert.AreEqual(expectedSetting, messageSpy.MessagePayload.PowerSetting); Assert.AreEqual(false, messageSpy.MessagePayload.Success); }
public void SetPower_SendsPowerSetMessageContainingPower() { const EPowerSetting expectedSetting = EPowerSetting.Primary; var messageSpy = new UnityTestMessageHandleResponseObject <PowerSetMessage>(); var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <PowerSetMessage>(_assign.gameObject, messageSpy.OnResponse); _assign.SetPower(_power, expectedSetting); UnityMessageEventFunctions.UnregisterActionWithDispatcher(_assign.gameObject, handle); Assert.IsTrue(messageSpy.ActionCalled); Assert.AreEqual(expectedSetting, messageSpy.MessagePayload.PowerSetting); Assert.AreSame(_power, messageSpy.MessagePayload.PowerInterface); }
public void SetPower_SendsPowerUpdateMessageContainingCorrectPowerStatus() { const EPowerSetting expectedSetting = EPowerSetting.Primary; var messageSpy = new UnityTestMessageHandleResponseObject <PowerUpdateMessage>(); var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <PowerUpdateMessage>(_assign.gameObject, messageSpy.OnResponse); _assign.SetPower(_power, expectedSetting); UnityMessageEventFunctions.UnregisterActionWithDispatcher(_assign.gameObject, handle); Assert.IsTrue(messageSpy.ActionCalled); Assert.AreEqual(expectedSetting, messageSpy.MessagePayload.PowerSetting); Assert.AreEqual(_power.CanActivatePowerResult, messageSpy.MessagePayload.Active); Assert.AreEqual(_power.GetPowerCooldownPercentageResult, messageSpy.MessagePayload.UpdatePercentage); }
// IPowerAssignmentInterface public void SetPower(IPowerInterface inPower, EPowerSetting inPowerSetting) { var newStatus = new PowerStatus(inPower, inPower.CanActivatePower(gameObject)); if (_registeredPowers.ContainsKey(inPowerSetting)) { _registeredPowers[inPowerSetting].CurrentPower.OnPowerCleared(); _registeredPowers[inPowerSetting] = newStatus; } else { _registeredPowers.Add(inPowerSetting, newStatus); } inPower.OnPowerSet(gameObject); UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(gameObject, new PowerSetMessage(inPower, inPowerSetting)); UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(gameObject, new PowerUpdateMessage(inPowerSetting, newStatus.Activatable, inPower.GetPowerCooldownPercentage())); }
public void Update_PowerActive_DoesNotSendsPowerUpdateMessage() { const EPowerSetting expectedSetting = EPowerSetting.Primary; _power.CanActivatePowerResult = true; _assign.SetPower(_power, expectedSetting); var messageSpy = new UnityTestMessageHandleResponseObject <PowerUpdateMessage>(); var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <PowerUpdateMessage>(_assign.gameObject, messageSpy.OnResponse); _assign.TestUpdate(); UnityMessageEventFunctions.UnregisterActionWithDispatcher(_assign.gameObject, handle); Assert.IsFalse(messageSpy.ActionCalled); }
public PowerUpdateMessage(EPowerSetting inPowerSetting, bool inActive, float inUpdatePercentage) { PowerSetting = inPowerSetting; Active = inActive; UpdatePercentage = inUpdatePercentage; }
public PowerActivationAttemptMessage(EPowerSetting inPowerSetting, bool inSuccess) : base() { PowerSetting = inPowerSetting; Success = inSuccess; }
public PowerSetMessage(IPowerInterface inPowerInterface, EPowerSetting inPowerSetting) : base() { PowerInterface = inPowerInterface; PowerSetting = inPowerSetting; }
public void ActivatePower(EPowerSetting inPowerSetting) { ActivatePowerSetting = inPowerSetting; }
public void SetPower(IPowerInterface inPower, EPowerSetting inPowerSetting) { SetPowerInterface = inPower; SetPowerSetting = inPowerSetting; }