/// <summary> /// Initialize the default values. /// </summary> private void Awake() { if (m_Targets == null || m_Targets.Length == 0) { Debug.LogError("Error: An IInteractableTarget must be specified in the Targets field."); return; } m_InteractableTargets = new IInteractableTarget[m_Targets.Length]; for (int i = 0; i < m_Targets.Length; ++i) { if (m_Targets[i] == null || !(m_Targets[i] is IInteractableTarget)) { Debug.LogError("Error: element " + i + " of the Targets array is null or does not subscribe to the IInteractableTarget iterface."); } else { m_InteractableTargets[i] = m_Targets[i] as IInteractableTarget; } } #if ULTIMATE_CHARACTER_CONTROLLER_MULTIPLAYER m_NetworkInteractable = gameObject.GetCachedComponent <INetworkInteractableMonitor>(); #endif m_IKTargets = GetComponentsInChildren <AbilityIKTarget>(); }