public virtual bool IsNeedMouseRelativeMode(Component_GameMode gameMode)
        {
            bool result = true;

            IsNeedMouseRelativeModeEvent?.Invoke(this, gameMode, ref result);

            return(result);
        }
Beispiel #2
0
        public bool IsNeedMouseRelativeMode()
        {
            bool result = false;

            IsNeedMouseRelativeModeEvent?.Invoke(this, ref result);

            if (FreeCamera)
            {
                //free camera
                if (freeCameraMouseRotating && freeCameraMouseRotatingActivated)
                {
                    result = true;
                }
            }
            else
            {
                //built-in camera
                if (ObjectControlledByPlayer.Value != null)
                {
                    if (UseBuiltInCamera.Value == BuiltInCameraEnum.FirstPerson || UseBuiltInCamera.Value == BuiltInCameraEnum.ThirdPerson)
                    {
                        result = true;
                    }
                }
            }

            //Component_CameraManagement
            var m = GetCurrentCameraManagement();

            if (m != null)
            {
                result = m.IsNeedMouseRelativeMode(this);
            }

            return(result);
        }