void Awake()
    {
        foreach (Transform t in m_Cameras)
        {
            m_LocalStartingPositions.Add(t.localPosition);
        }

        if (Root.Instance != null)
        {
            m_Character = Root.Instance.m_Character;
            m_Character.GetComponentInChildren <GenerateParticles>().m_CameraScript = this;
        }

        m_LocalStartingPoint  = transform.localPosition;
        m_Direction           = Vector3.zero;
        m_BackPlane           = false;
        m_CharacterBack       = false;
        m_BlockUpdate         = false;
        m_SwapPosition        = Root.Instance.m_Character.gameObject.GetComponentInChildren <GenerateParticles>().transform;
        m_ResetPosition       = m_SwapPosition.localPosition;
        m_Character.m_Overlay = m_Overlay;

        if (m_CameraPaths.Capacity > 0)
        {
            m_ActivePath = m_CameraPaths[0];

            LoadNodes();
        }
    }
    void Awake()
    {
        foreach (Transform t in m_Cameras)
        {
            m_LocalStartingPositions.Add(t.localPosition);
        }

        if (Root.Instance != null)
        {
            m_Character = Root.Instance.m_Character;
            m_Character.GetComponentInChildren<GenerateParticles>().m_CameraScript = this;
        }

        m_LocalStartingPoint = transform.localPosition;
        m_Direction = Vector3.zero;
        m_BackPlane = false;
        m_CharacterBack = false;
        m_BlockUpdate = false;
        m_SwapPosition = Root.Instance.m_Character.gameObject.GetComponentInChildren<GenerateParticles>().transform;
        m_ResetPosition = m_SwapPosition.localPosition;
        m_Character.m_Overlay = m_Overlay;

        if (m_CameraPaths.Capacity > 0)
        {
            m_ActivePath = m_CameraPaths[0];

            LoadNodes();
        }
    }