private void Awake() { if (targetObject == null) { targetObject = gameObject; } // ensure we have a default configuration in case there's none set by the user scaleHandlesConfiguration = EnsureScriptable(scaleHandlesConfiguration); rotationHandlesConfiguration = EnsureScriptable(rotationHandlesConfiguration); boxDisplayConfiguration = EnsureScriptable(boxDisplayConfiguration); linksConfiguration = EnsureScriptable(linksConfiguration); handleProximityEffectConfiguration = EnsureScriptable(handleProximityEffectConfiguration); // instantiate runtime classes for visuals scaleHandles = new ScaleHandles(scaleHandlesConfiguration); rotationHandles = new RotationHandles(rotationHandlesConfiguration); boxDisplay = new BoxDisplay(boxDisplayConfiguration); links = new Links(linksConfiguration); proximityEffect = new ProximityEffect(handleProximityEffectConfiguration); // subscribe to visual changes scaleHandlesConfiguration.configurationChanged.AddListener(CreateRig); scaleHandlesConfiguration.visibilityChanged.AddListener(ResetVisuals); rotationHandlesConfiguration.configurationChanged.AddListener(CreateRig); boxDisplayConfiguration.configurationChanged.AddListener(CreateRig); linksConfiguration.configurationChanged.AddListener(CreateRig); }
internal ProximityEffect(ProximityEffectConfiguration configuration) { Debug.Assert(configuration != null, "Can't create ProximityEffect without valid configuration"); config = configuration; }