private void Start ()
	{
		
		if (Instance == null)
			Instance = this;
		else
			Destroy(this);

//		if (cam == null)
//			cam = Camera.main.GetComponent<TestCam>();
		simpleRpgCam = Camera.main.GetComponent<PhatRobit.SimpleRpgCamera>();

		charState = GameObject.FindObjectOfType<RomanCharState> ();
		//camScript = GameObject.FindObjectOfType<RomanCameraController> ();
		climbDetector = GameObject.FindObjectOfType<ClimbDetector> ();
		follow = GameObject.FindObjectOfType<FollowPlayer>();
		vineClimbCollider = GameObject.FindObjectOfType<VineClimbController2>();
		charController = GameObject.FindObjectOfType<RomanCharController>();
		tunnelObserver = GameObject.FindObjectOfType<TunnelObserver>();
		antiWallSlideController = GameObject.FindObjectOfType<SloapDetector>();

		//cam = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<TestCam>();

		// Get the character that is selected
		if (charController != null)
			currentChar = charController.transform;
	}
    private void Awake()
    {
        EventManager.onCharEvent = null;
        EventManager.onInputEvent = null;
        EventManager.onDetectEvent = null;

        if (Instance == null)
            Instance = this;
        else
            Destroy(this);

        charState = GameObject.FindObjectOfType<RomanCharState> ();
        //camScript = GameObject.FindObjectOfType<RomanCameraController> ();
        climbDetector = GameObject.FindObjectOfType<ClimbDetector> ();
        follow = GameObject.FindObjectOfType<FollowPlayer>();
        vineClimbCollider = GameObject.FindObjectOfType<VineClimbController2>();
        charController = GameObject.FindObjectOfType<RomanCharController>();
    }