Пример #1
0
            //---------------------------------------------------------------------------

            public CameraFuseData(Guid first, Guid second, float distance)
            {
                First    = first;
                Second   = second;
                Distance = distance;
                Mode     = ECameraMode.Split;
            }
Пример #2
0
        //---------------------------------------------------------------------------

        public CameraComponent(Guid entity) : base(entity)
        {
            m_Targets         = new Dictionary <Guid, CameraTarget>();
            m_PostEffects     = new List <Effect>();
            m_CameraMode      = ECameraMode.Split;
            IsLightingEnabled = true;
        }
Пример #3
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            CameraMode = ECameraMode.Target;

            base.Initialize();
        }
Пример #4
0
    public void OnClick_ChangeCamera3DBtn()
    {
        eCamMode = ECameraMode.Camera3D;

        yawPivot.rotation       = prev3DYawRotation;
        pitchPivot.rotation     = prev3DPitchRotation;
        transform.localPosition = prev3DPosition;
        transform.localRotation = prev3DRotation;
    }
Пример #5
0
    public void OnClick_ChangeCamera2DBtn()
    {
        eCamMode = ECameraMode.Camera2D;

        prev3DYawRotation   = yawPivot.rotation;
        prev3DPitchRotation = pitchPivot.rotation;

        yawPivot.rotation   = Quaternion.Euler(0, 0, 0);
        pitchPivot.rotation = Quaternion.Euler(0, 0, 0);
        // 카메라 전환
        transform.position = new Vector3(yawPivot.position.x, distance2D, yawPivot.position.z);
        transform.rotation = Quaternion.Euler(90, 0, 0);
    }
        void OnMouseButtonDown(object sender, MouseButtonEventArgs e)
        {
            switch (e.Button)
            {
            case MouseButton.Left:
                CameraMode = ECameraMode.CAMERA_ORBIT;
                break;

            case MouseButton.Middle:
                CameraMode = ECameraMode.CAMERA_DOLLY;
                break;

            case MouseButton.Right:
                CameraMode = ECameraMode.CAMERA_TRACK;
                break;
            }
        }
    // Start is called before the first frame update
    void Start()
    {
        Caterpillar Cat = null;

        if (Cat = FindObjectOfType <Caterpillar>())
        {
            Target = Cat.transform;
        }

        Vector3 TargetPosition = Target.position + Target.TransformVector(Offset);

        LastTargetPosition = Target.position;

        transform.position = TargetPosition;
        transform.LookAt(Target.position);

        Mode = (Options.UseOrbitalCamera ? ECameraMode.Orbital : ECameraMode.ThirdPerson);
    }
Пример #8
0
        void OnMouseButtonDown(object sender, MouseButtonEventArgs e)
        {
            switch (e.Button)
            {
            case MouseButton.Left:
                CameraMode = ECameraMode.CAMERA_ORBIT;
                break;

            case MouseButton.Middle:
                CameraMode = ECameraMode.CAMERA_DOLLY;
                break;

            case MouseButton.Right:
                CameraMode = ECameraMode.CAMERA_TRACK;
                break;
            }
            MousePrevious.X = e.X;  //OpenTK.Input.Mouse.GetCursorState().X;
            MousePrevious.Y = e.Y;  //OpenTK.Input.Mouse.GetCursorState().Y;
        }
Пример #9
0
    private void SetCameraState(ECameraMode newCameraMode, bool forceReset = false)
    {
        if (forceReset || currentCameraMode != newCameraMode)
        {
            currentCameraMode = newCameraMode;

            switch (newCameraMode)
            {
            case ECameraMode.IntroCamera:
                CameraController_Chase oldChaseCamera = mainCamera.GetComponent <CameraController_Chase>();
                if (oldChaseCamera != null)
                {
                    oldChaseCamera.RemoveThisComponent();
                }

                CameraController_Intro introCamera = (mainCamera.GetComponent <CameraController_Intro>() != null)
                        ? mainCamera.GetComponent <CameraController_Intro>() : mainCamera.AddComponent <CameraController_Intro>();

                //CameraController_Intro newIntroCamera = mainCamera.AddComponent<CameraController_Intro>();
                introCamera.OnCameraSequenceFinished -= OnCameraSequenceFinished;
                introCamera.OnCameraSequenceFinished += OnCameraSequenceFinished;
                introCamera.ActivateCamera();

                break;

            case ECameraMode.ChaseCamera:
                CameraController_Intro oldIntroCamera = mainCamera.GetComponent <CameraController_Intro>();
                if (oldIntroCamera != null)
                {
                    oldIntroCamera.RemoveThisComponent();
                }

                CameraController_Chase chaseCamera = (mainCamera.GetComponent <CameraController_Chase>() != null)
                        ? mainCamera.GetComponent <CameraController_Chase>() : mainCamera.AddComponent <CameraController_Chase>();

                //CameraController_Chase newChaseCamera = mainCamera.AddComponent<CameraController_Chase>();
                chaseCamera.ActivateCamera();

                break;
            }
        }
    }
Пример #10
0
        public void MoveModeChange()
        {
            if (CameraMode == ECameraMode.First)
                return;

            if (SNCamera != null)
            {
                movePosition = SNCamera.Position;
                moveTarget = SNCamera.Target;

                CameraMode = ECameraMode.First;
            }
        }
Пример #11
0
        public void MoveModeChange()
        {
            if (CameraMode == ECameraMode.First)
                return;

            if (SNCamera != null)
            {
                CameraMode = ECameraMode.First;
            }
        }
Пример #12
0
 void OnMouseButtonDown(object sender, MouseButtonEventArgs e)
 {
     switch (e.Button)
     {
         case MouseButton.Left:
             CameraMode = ECameraMode.CAMERA_ORBIT;
             break;
         case MouseButton.Middle:
             CameraMode = ECameraMode.CAMERA_DOLLY;
             break;
         case MouseButton.Right:
             CameraMode = ECameraMode.CAMERA_TRACK;
             break;
     }
     MousePrevious.X = Mouse.X;
     MousePrevious.Y = Mouse.Y;
 }
Пример #13
0
        public void ChangeCameraMode(ECameraMode mode)
        {
            m_lookAtRotation.Euler_Degrees = new Vector3(0.0f, 0.0f, 0.0f);

            if (m_cameraMode != mode)
            {
                //if (mode == ECameraMode.eLookAtFree)
                //{

                //}

                m_cameraMode = mode;
                RecalculateXfms();
            }
        }
Пример #14
0
 void OnMouseButtonUp(object sender, MouseButtonEventArgs e)
 {
     CameraMode = ECameraMode.CAMERA_NONE;
 }
Пример #15
0
        //---------------------------------------------------------------------------

        public void SetCameraMode(ECameraMode mode, CameraComponent other = null)
        {
            m_Other      = other;
            m_CameraMode = mode;
        }
Пример #16
0
            //---------------------------------------------------------------------------

            public void UpdateMode(ECameraMode mode)
            {
                Mode = mode;
            }
Пример #17
0
 public Camera()
 {
     CameraMode = ECameraMode.CAMERA_NONE;
 }
Пример #18
0
 void OnMouseButtonUp(object sender, MouseButtonEventArgs e)
 {
     CameraMode = ECameraMode.CAMERA_NONE;
 }
Пример #19
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            MouseState    mouseState    = Mouse.GetState();
            KeyboardState keyboardState = Keyboard.GetState();

            // Allows the game to exit
            if (keyboardState.IsKeyDown(Keys.Escape))
            {
                this.Exit();
            }

            //Change camera mode
            if (keyboardState.IsKeyDown(Keys.D1))
            {
                CameraMode = ECameraMode.Target;
            }
            if (keyboardState.IsKeyDown(Keys.D2))
            {
                CameraMode = ECameraMode.Free;
            }
            if (keyboardState.IsKeyDown(Keys.D3))
            {
                CameraMode = ECameraMode.ArcBall;
            }
            if (keyboardState.IsKeyDown(Keys.D4))
            {
                CameraMode = ECameraMode.Chase;
            }

            //mouseState
            float deltaX      = (float)LastMouseState.X - (float)mouseState.X;
            float deltaY      = (float)LastMouseState.Y - (float)mouseState.Y;
            float scrollDelta = (float)LastMouseState.ScrollWheelValue - (float)mouseState.ScrollWheelValue;

            //Update camera base on mod and input
            switch (CameraMode)
            {
            case ECameraMode.Free:
                FreeCamera fc = (FreeCamera)Cam;

                //handle camera rotation
                fc.Rotate(deltaX * CAMERA_MOVE_FACTOR, deltaY * CAMERA_MOVE_FACTOR);

                //Handle camera movement
                Vector3 translation = Vector3.Zero;
                if (keyboardState.IsKeyDown(Keys.W))
                {
                    translation += Vector3.Forward;
                }
                if (keyboardState.IsKeyDown(Keys.S))
                {
                    translation += Vector3.Backward;
                }
                if (keyboardState.IsKeyDown(Keys.A))
                {
                    translation += Vector3.Left;
                }
                if (keyboardState.IsKeyDown(Keys.D))
                {
                    translation += Vector3.Right;
                }

                //move 3 units per millisecond
                translation *= 1.5f * (float)gameTime.ElapsedGameTime.TotalMilliseconds;

                fc.Move(translation);

                break;

            case ECameraMode.ArcBall:
                ArcBallCamera abc = (ArcBallCamera)Cam;

                //rotate cam
                abc.Rotate(deltaX * CAMERA_MOVE_FACTOR, deltaY * CAMERA_MOVE_FACTOR);

                //move cam
                abc.Move(scrollDelta);

                break;

            case ECameraMode.Chase:
                ChaseCamera cc   = (ChaseCamera)Cam;
                BasicActor  ship = Actors[1];

                //Handle rotation
                Vector3 rotationChange = Vector3.Zero;
                if (keyboardState.IsKeyDown(Keys.W))
                {
                    rotationChange += new Vector3(-1, 0, 0);
                }
                if (keyboardState.IsKeyDown(Keys.S))
                {
                    rotationChange += new Vector3(1, 0, 0);
                }
                if (keyboardState.IsKeyDown(Keys.A))
                {
                    rotationChange += new Vector3(0, 1, 0);
                }
                if (keyboardState.IsKeyDown(Keys.D))
                {
                    rotationChange += new Vector3(0, -1, 0);
                }

                ship.Rotation += rotationChange * 0.025f;

                //handle movement
                if (keyboardState.IsKeyDown(Keys.Space))
                {
                    Matrix rotation = Matrix.CreateFromYawPitchRoll(ship.Rotation.Y, ship.Rotation.X, ship.Rotation.Z);
                    ship.Position += Vector3.Transform(Vector3.Forward, rotation) * (float)gameTime.ElapsedGameTime.TotalMilliseconds * 4;
                }

                //Update camera
                cc.Move(ship.Position, ship.Rotation);

                break;
            }

            //Update camera
            Cam.Update();


            LastMouseState = mouseState;

            base.Update(gameTime);
        }
Пример #20
0
        public void refreshMasterServer(ESteamServerList list, string filterMap, EPassword filterPassword, EWorkshop filterWorkshop, EPlugins filterPlugins, EAttendance filterAttendance, EVACProtectionFilter filterVACProtection, EBattlEyeProtectionFilter filterBattlEyeProtection, bool filterPro, ECombat filterCombat, ECheats filterCheats, EGameMode filterMode, ECameraMode filterCamera)
        {
            this._currentList = list;
            if (this.onMasterServerRemoved != null)
            {
                this.onMasterServerRemoved();
            }
            this.cleanupServerListRequest();
            this._serverList = new List <SteamServerInfo>();
            if (list == ESteamServerList.HISTORY)
            {
                this.serverListRequest = SteamMatchmakingServers.RequestHistoryServerList(Provider.APP_ID, new MatchMakingKeyValuePair_t[0], 0u, this.serverListResponse);
                return;
            }
            if (list == ESteamServerList.FAVORITES)
            {
                this.serverListRequest = SteamMatchmakingServers.RequestFavoritesServerList(Provider.APP_ID, new MatchMakingKeyValuePair_t[0], 0u, this.serverListResponse);
                return;
            }
            if (list == ESteamServerList.LAN)
            {
                this.serverListRequest = SteamMatchmakingServers.RequestLANServerList(Provider.APP_ID, this.serverListResponse);
                return;
            }
            this.filters = new List <MatchMakingKeyValuePair_t>();
            MatchMakingKeyValuePair_t item = default(MatchMakingKeyValuePair_t);

            item.m_szKey   = "gamedir";
            item.m_szValue = "unturned";
            this.filters.Add(item);
            if (filterMap.Length > 0)
            {
                MatchMakingKeyValuePair_t item2 = default(MatchMakingKeyValuePair_t);
                item2.m_szKey   = "map";
                item2.m_szValue = filterMap.ToLower();
                this.filters.Add(item2);
            }
            if (filterAttendance == EAttendance.EMPTY)
            {
                MatchMakingKeyValuePair_t item3 = default(MatchMakingKeyValuePair_t);
                item3.m_szKey   = "noplayers";
                item3.m_szValue = "1";
                this.filters.Add(item3);
            }
            else if (filterAttendance == EAttendance.SPACE)
            {
                MatchMakingKeyValuePair_t item4 = default(MatchMakingKeyValuePair_t);
                item4.m_szKey   = "notfull";
                item4.m_szValue = "1";
                this.filters.Add(item4);
                MatchMakingKeyValuePair_t item5 = default(MatchMakingKeyValuePair_t);
                item5.m_szKey   = "hasplayers";
                item5.m_szValue = "1";
                this.filters.Add(item5);
            }
            MatchMakingKeyValuePair_t item6 = default(MatchMakingKeyValuePair_t);

            item6.m_szKey = "gamedataand";
            if (filterPassword == EPassword.YES)
            {
                item6.m_szValue = "PASS";
            }
            else if (filterPassword == EPassword.NO)
            {
                item6.m_szValue = "SSAP";
            }
            if (filterVACProtection == EVACProtectionFilter.Secure)
            {
                item6.m_szValue += ",";
                item6.m_szValue += "VAC_ON";
                MatchMakingKeyValuePair_t item7 = default(MatchMakingKeyValuePair_t);
                item7.m_szKey   = "secure";
                item7.m_szValue = "1";
                this.filters.Add(item7);
            }
            else if (filterVACProtection == EVACProtectionFilter.Insecure)
            {
                item6.m_szValue += ",";
                item6.m_szValue += "VAC_OFF";
            }
            item6.m_szValue += ",";
            item6.m_szValue += Provider.APP_VERSION;
            this.filters.Add(item6);
            MatchMakingKeyValuePair_t item8 = default(MatchMakingKeyValuePair_t);

            item8.m_szKey = "gametagsand";
            if (filterWorkshop == EWorkshop.YES)
            {
                item8.m_szValue = "WORK";
            }
            else if (filterWorkshop == EWorkshop.NO)
            {
                item8.m_szValue = "KROW";
            }
            if (filterCombat == ECombat.PVP)
            {
                item8.m_szValue += ",PVP";
            }
            else if (filterCombat == ECombat.PVE)
            {
                item8.m_szValue += ",PVE";
            }
            if (filterCheats == ECheats.YES)
            {
                item8.m_szValue += ",CHEATS";
            }
            else if (filterCheats == ECheats.NO)
            {
                item8.m_szValue += ",STAEHC";
            }
            if (filterMode != EGameMode.ANY)
            {
                item8.m_szValue = item8.m_szValue + "," + filterMode.ToString();
            }
            if (filterCamera != ECameraMode.ANY)
            {
                item8.m_szValue = item8.m_szValue + "," + filterCamera.ToString();
            }
            if (filterPro)
            {
                item8.m_szValue += ",GOLDONLY";
            }
            else
            {
                item8.m_szValue += ",YLNODLOG";
            }
            if (filterBattlEyeProtection == EBattlEyeProtectionFilter.Secure)
            {
                item8.m_szValue += ",BATTLEYE_ON";
            }
            else if (filterBattlEyeProtection == EBattlEyeProtectionFilter.Insecure)
            {
                item8.m_szValue += ",BATTLEYE_OFF";
            }
            this.filters.Add(item8);
            if (list == ESteamServerList.INTERNET)
            {
                this.serverListRequest = SteamMatchmakingServers.RequestInternetServerList(Provider.APP_ID, this.filters.ToArray(), (uint)this.filters.Count, this.serverListResponse);
                return;
            }
            if (list == ESteamServerList.FRIENDS)
            {
                this.serverListRequest = SteamMatchmakingServers.RequestFriendsServerList(Provider.APP_ID, this.filters.ToArray(), (uint)this.filters.Count, this.serverListResponse);
                return;
            }
        }
Пример #21
0
 public void SwitchMode(ECameraMode pNewMode)
 {
     if (pNewMode == ECameraMode.Build)
     {
         if (CameraMode == ECameraMode.First)
         {
             pNewMode = ECameraMode.Third;
         }
         else
         {
             IrrlichtNETCP.Vector3D camSphericalCoordinates;
             camSphericalCoordinates = CalculateSphericalCameraCoordinates(SNCamera.AbsolutePosition, SNCamera.Target);
             Reference.Viewer.CameraDistance = camSphericalCoordinates.X;
             Reference.Viewer.CamRotationAngleTHETA = camSphericalCoordinates.Y;
             Reference.Viewer.CamRotationAnglePHI = camSphericalCoordinates.Z;
         }
     }
     CameraMode = pNewMode;
     UpdateCameraPosition();
 }