public void Setup(ISelectable component) { if (this.IsChanged(ParameterFlag.P1) == true) component.SetEnabledState(this.interactableByDefault); if (this.IsChanged(ParameterFlag.P2) == true) { component.SetCallback(() => this.callback.Invoke()); } if (this.IsChanged(ParameterFlag.P3) == true) component.SetHoverState(this.hoverIsActive); if (this.IsChanged(ParameterFlag.P4) == true) component.SetHoverOnAnyPointerState(this.hoverOnAnyPointerState); if (this.IsChanged(ParameterFlag.P5) == true) { component.SetCallbackHover((state) => { if (state == true) { this.hoverInCallback.Invoke(); } }); } if (this.IsChanged(ParameterFlag.P6) == true) { component.SetCallbackHover((state) => { if (state == false) { this.hoverOutCallback.Invoke(); } }); } if (this.IsChanged(ParameterFlag.P7) == true) component.SetSFX(PointerEventState.Click, this.sfxOnClick); if (this.IsChanged(ParameterFlag.P8) == true) component.SetSFX(PointerEventState.Enter, this.sfxOnEnter); if (this.IsChanged(ParameterFlag.P9) == true) component.SetSFX(PointerEventState.Leave, this.sfxOnLeave); if (this.IsChanged(ParameterFlag.P10) == true) component.SetHoverOnAnyButtonState(this.hoverOnAnyButtonState); }