private void UpdateCompanionStatus(CompanionStatus inStatus, PriorCompanionSlotState inState) { // Image inStatus.CompanionSliderFill.sprite = inState.PriorUIIcon; // Slider value inStatus.CompanionSlider.value = inState.PriorCooldown; // Use Count if (inState.PriorUseCount == CompanionConstants.UnlimitedCharges) { inStatus.CompanionUseCountText.text = ""; } else { inStatus.CompanionUseCountText.text = inState.PriorUseCount.ToString(); inStatus.CompanionUseCountText.color = inState.PriorUseCount == 0 ? Color.red : Color.white; } // Active inStatus.CompanionSliderFill.CrossFadeAlpha(inState.PriorActive ? 1.0f : IconDisableAlpha, 0.0f, true); inStatus.CompanionSliderFill.type = Image.Type.Filled; inStatus.CompanionSliderFill.fillMethod = Image.FillMethod.Vertical; }
private void AssertSlotUpdated(CompanionStatusHUDComponent.CompanionStatus status, PriorCompanionSlotState state) { Assert.AreEqual(status.CompanionUseCountText.text, state.PriorUseCount.ToString()); Assert.AreSame(status.CompanionSliderFill.sprite, state.PriorUIIcon); Assert.AreEqual(status.CompanionSlider.value, state.PriorCooldown); }
public void ReceiveSlotsUpdatedUIMessage_CountNonZero_SetTextColorToWhite() { var primaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = false, PriorUseCount = 1, PriorUIIcon = _setSprite, PriorCooldown = 1.0f }; var secondaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = true, PriorUseCount = 1, PriorUIIcon = _setSprite, PriorCooldown = 0.0f }; _status.TestDispatcher.InvokeMessageEvent(new CompanionSlotsUpdatedUIMessage(new Dictionary <ECompanionSlot, PriorCompanionSlotState> { { ECompanionSlot.Primary, primaryMessageData }, { ECompanionSlot.Secondary, secondaryMessageData } } )); Assert.AreEqual(Color.white, _primaryStatusElement.CompanionUseCountText.color); }
public void ReceiveSlotsUpdatedUIMessage_CountUnlimited_SetTextColorToEmpty() { var primaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = false, PriorUseCount = CompanionConstants.UnlimitedCharges, PriorUIIcon = _setSprite, PriorCooldown = 1.0f }; var secondaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = true, PriorUseCount = 1, PriorUIIcon = _setSprite, PriorCooldown = 0.0f }; _status.TestDispatcher.InvokeMessageEvent(new CompanionSlotsUpdatedUIMessage(new Dictionary <ECompanionSlot, PriorCompanionSlotState> { { ECompanionSlot.Primary, primaryMessageData }, { ECompanionSlot.Secondary, secondaryMessageData } } )); Assert.IsTrue(_primaryStatusElement.CompanionUseCountText.text.IsNullOrEmpty()); }
public void ReceiveSlotsUpdatedUIMessage_UpdatesSlotsWithNewData() { var primaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = false, PriorUseCount = 2, PriorUIIcon = _setSprite, PriorCooldown = 1.0f }; var secondaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = true, PriorUseCount = 1, PriorUIIcon = _setSprite, PriorCooldown = 0.0f }; _status.TestDispatcher.InvokeMessageEvent(new CompanionSlotsUpdatedUIMessage(new Dictionary <ECompanionSlot, PriorCompanionSlotState> { { ECompanionSlot.Primary, primaryMessageData }, { ECompanionSlot.Secondary, secondaryMessageData } } )); AssertSlotUpdated(_primaryStatusElement, primaryMessageData); AssertSlotUpdated(_secondaryStatusElement, secondaryMessageData); }
public void ReceiveSlotsUpdatedUIMessage_ImagePropertiesAreAsExpected() { var primaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = false, PriorUseCount = CompanionConstants.UnlimitedCharges, PriorUIIcon = _setSprite, PriorCooldown = 1.0f }; var secondaryMessageData = new PriorCompanionSlotState { PriorCompanion = null, PriorActive = true, PriorUseCount = 1, PriorUIIcon = _setSprite, PriorCooldown = 0.0f }; _status.TestDispatcher.InvokeMessageEvent(new CompanionSlotsUpdatedUIMessage(new Dictionary <ECompanionSlot, PriorCompanionSlotState> { { ECompanionSlot.Primary, primaryMessageData }, { ECompanionSlot.Secondary, secondaryMessageData } } )); Assert.AreEqual(Image.FillMethod.Vertical, _primaryStatusElement.CompanionSliderFill.fillMethod); Assert.AreEqual(Image.Type.Filled, _primaryStatusElement.CompanionSliderFill.type); }