public virtual void Unselect() { if (!UpdateActiveState()) { return; } if (!ShouldUnselect) { return; } ShouldUnselect = false; if (State != InteractorState.Select) { return; } UnselectInteractable(); if (_interactable != null) { State = InteractorState.Hover; } else { State = InteractorState.Hover; State = InteractorState.Normal; } }
private void SelectInteractable(TInteractable interactable) { Unselect(); _selectedInteractable = interactable; interactable.AddSelectingInteractor(this as TInteractor); InteractableSelected(interactable); State = InteractorState.Select; }
private void OnInteractorStateExit(InteractorState state) { if (state is CastState castState) { this.castingSkill = null; View.UnhighlightSkill(castState.Skill); View.HideActionPointUsage(); } }
private void OnInteractorStateEnter(InteractorState state) { UpdateButtonActiveState(); if (state is CastState castState) { View.ShowActionPointUsage( (int)castState.Skill.GetCost().GetValueOrDefault(ResourceType.ActionPoint, 0)); View.HighlightSkill(castState.Skill); } }
public void Disable() { if (State == InteractorState.Disabled) { return; } UnselectInteractable(); UnsetInteractable(); State = InteractorState.Disabled; }
private void SetInteractable(TInteractable interactable) { if (_interactable == interactable) { return; } UnsetInteractable(); _interactable = interactable; interactable.AddInteractor(this as TInteractor); InteractableSet(interactable); State = InteractorState.Hover; }
private void UnsetInteractable() { TInteractable interactable = _interactable; if (interactable == null) { return; } _interactable = null; interactable.RemoveInteractor(this as TInteractor); InteractableUnset(interactable); State = InteractorState.Normal; }
private void OnStateEnter(InteractorState state) { if (!(state is CastState castState)) { return; } if (!castState.Skill.Equals(Slot.Skill)) { return; } this.highlight.color = this.highlight.color.With(a: 1); }
public void Enable() { if (!UpdateActiveState()) { return; } if (State == InteractorState.Disabled) { State = InteractorState.Normal; } if (State == InteractorState.Normal) { NormalUpdate(); } }
public virtual void Select() { if (State == InteractorState.Select) { if (!UpdateActiveState()) { ShouldSelect = false; ShouldUnselect = true; return; } InteractableSelectChangesUpdate(); SelectUpdate(); return; } if (!ShouldSelect) { return; } ShouldSelect = false; TInteractable interactable = _interactable; if (interactable != null) { SelectInteractable(interactable); } else { // Selected with no interactable State = InteractorState.Hover; State = InteractorState.Select; } InteractableSelectChangesUpdate(); SelectUpdate(); }
private void OnStateExit(InteractorState state) { this.highlight.color = this.highlight.color.With(a: 0); }