コード例 #1
0
ファイル: MoveDemo.cs プロジェクト: scauglog/sma_mogre
        protected bool OnEnvKeyBuffPressed(MOIS.KeyEvent arg)
        {
            switch (arg.key)
            {
                case MOIS.KeyCode.KC_F:
                    env.removeNinja(ref mSceneMgr);
                    break;
                case MOIS.KeyCode.KC_R:
                    env.addNinja(ref mSceneMgr);
                    break;
                case MOIS.KeyCode.KC_H:
                    env.removeSpaceMarine(ref mSceneMgr);
                    break;
                case MOIS.KeyCode.KC_Y:
                    env.addSpaceMarine(ref mSceneMgr);
                    break;
                case MOIS.KeyCode.KC_Z:
                    Character.MWalkSpeed += 50;
                    break;
                case MOIS.KeyCode.KC_X:
                    Character.MWalkSpeed -= 50;
                    break;
            }

            return true;
        }
コード例 #2
0
ファイル: GameMain.cs プロジェクト: andyhebear/glueeengine
        private bool Keyboard_KeyPressed(MOIS.KeyEvent arg)
        {
            if (arg.key == MOIS.KeyCode.KC_SPACE)
                this.characterController.Jump();

            return true;
        }
コード例 #3
0
 public OrbitalWithMouseCameraMode(CameraControlSystem cam
      , MOIS.MouseButtonID activateButton
      , Radian initialHorizontalRotation
      , Radian initialVerticalRotation, float initialZoom = 1)
     : base(cam, initialHorizontalRotation, initialVerticalRotation, initialZoom)
 {
     _activateButton = activateButton;
 }
コード例 #4
0
        public bool InjectMouseMoved(MOIS.MouseEvent e)
        {
            if (e.state.ButtonDown(_activateButton)) {
                this.DoYaw(e.state.X.rel * 5);
                this.DoPitch(e.state.Y.rel * 5);
            } else if (e.state.ButtonDown(MOIS.MouseButtonID.MB_Middle)) {
                Pan(e.state.X.rel, e.state.Y.rel);
            }
            this.DoZoom(-e.state.Z.rel * 5);

            return true;
        }
コード例 #5
0
ファイル: IntroState.cs プロジェクト: secred/Tachycardia
 public override bool KeyPressed(MOIS.KeyEvent keyEventRef)
 {
     switch (keyEventRef.key)
     {
         case MOIS.KeyCode.KC_SPACE:
             PushState("Game");
             break;
         case MOIS.KeyCode.KC_ESCAPE:
             if(Core.Singleton.Keyboard.IsKeyDown(MOIS.KeyCode.KC_RSHIFT))
                 PopState();
             break;
     }
     return true;
 }
コード例 #6
0
ファイル: GameMain.cs プロジェクト: andyhebear/glueeengine
        private bool Mouse_MousePressed(MOIS.MouseEvent arg, MOIS.MouseButtonID id)
        {
            Camera camera = Engine.Graphics.Camera;

            DynamicEntity dynamicEntity = new DynamicEntity("Ball", "ball.mesh");

            dynamicEntity.Velocity = (camera.Direction.NormalisedCopy * 20f) + (Vector3.UNIT_Y * 5);
            dynamicEntity.Density = 1f;
            dynamicEntity.CollisionMode = CollisionMode.BoundingSphere;
            dynamicEntity.EnableCCD = true;
            dynamicEntity.CollisionSound = @"Media\sounds\thud.wav";
            dynamicEntity.Spawn(camera.Position + camera.Direction, camera.Orientation);

            return true;
        }
コード例 #7
0
ファイル: GameState.cs プロジェクト: secred/Tachycardia
        public override bool KeyPressed(MOIS.KeyEvent keyEventRef)
        {
            switch (keyEventRef.key)
            {
                case MOIS.KeyCode.KC_ESCAPE:
                    PopState();
                    break;
                case MOIS.KeyCode.KC_1:
                    Core.Singleton.GameCamera.Cam1();
                    break;
                case MOIS.KeyCode.KC_2:
                    Core.Singleton.GameCamera.Cam2();
                    break;
                case MOIS.KeyCode.KC_3:
                    Core.Singleton.GameCamera.Cam3();
                    break;
                case MOIS.KeyCode.KC_4:
                    Core.Singleton.GameCamera.Cam4();
                    break;
                /* controler */
                case MOIS.KeyCode.KC_W:
                    m_Player.m_Control.ForwardButtonPressed();
                    break;
                case MOIS.KeyCode.KC_S:
                    m_Player.m_Control.BackwardButtonPressed();
                    break;
                case MOIS.KeyCode.KC_A:
                    m_Player.m_Control.LeftButtonPressed();
                    break;
                case MOIS.KeyCode.KC_D:
                    m_Player.m_Control.RightButtonPressed();
                    break;
                case MOIS.KeyCode.KC_LSHIFT:
                    m_Player.m_Control.BoostButtonPressed();
                    break;
                case MOIS.KeyCode.KC_SPACE:
                    m_Player.m_Control.JumpButtonPressed();
                    break;
                case MOIS.KeyCode.KC_C:
                    m_Player.m_Control.CrouchButtonPressed();
                    break;
                case MOIS.KeyCode.KC_X:
                    Console.WriteLine("Pozycja X = " + Core.Singleton.Camera.Position.x + " Y = " + Core.Singleton.Camera.Position.y + " Z  = " + Core.Singleton.Camera.Position.z);
                    break;

            }
            return true;
        }
コード例 #8
0
 public void EditTerrain(MapEditorOperation operation, Vector3 MousePos, MOIS.MouseButtonID id)
 {
     if (!Edit) return;
     float intens = 0;
     if (operation == MapEditorOperation.TERRAIN_DEFFORM)
     {
         intens = 0.05f;
         if (id == MOIS.MouseButtonID.MB_Right) intens = -intens;
         Map.mTMgr.Deform((int)MousePos.x, (int)MousePos.z, EditingBrush, intens);
         //DrawEditCursor();
     }
     if (operation == MapEditorOperation.TERRAIN_TEXTURING)
     {
         intens = 0.5f;
         Map.mSMgr.Paint(BufferTextureNumber, (int)MousePos.x, (int)MousePos.z, EditingBrush, intens);
     }
 }
コード例 #9
0
ファイル: Core.cs プロジェクト: secred/Tachycardia
 public bool KeyReleased(MOIS.KeyEvent keyEventRef)
 {
     return true;
 }
コード例 #10
0
ファイル: Core.cs プロジェクト: secred/Tachycardia
 public bool KeyPressed(MOIS.KeyEvent keyEventRef)
 {
     return true;
 }
コード例 #11
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 public void MousePress(MOIS.MouseEvent evt, MOIS.MouseButtonID id)
 {
     UserInterface.MousePress(evt, id);
     OnMousePress(evt, id);
 }
コード例 #12
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 public void KeyPress(MOIS.KeyEvent evt)
 {
     OnKeyPress(evt);
 }
コード例 #13
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 protected virtual void OnMousePress(MOIS.MouseEvent evt, MOIS.MouseButtonID id)
 {
 }
コード例 #14
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 protected virtual void OnKeyPress(MOIS.KeyEvent evt)
 {
 }
コード例 #15
0
        bool Keyboard_KeyPressed(MOIS.KeyEvent arg)
        {
            if (!PressedKeys.Contains(arg.key))
                PressedKeys.Add(arg.key);

            if (OgreEngine.mGame.World.Map.MapEditor != null && OgreEngine.mGame.World.Map.MapEditor.Edit)
            {
                OgreEngine.mGame.World.Map.MapEditor.KeyPressed(arg);
            }

            if (arg.key == MOIS.KeyCode.KC_ESCAPE) OgreEngine.exit = true;

            if (arg.key == MOIS.KeyCode.KC_F4) OgreEngine.exit = true;

            if (arg.key == MOIS.KeyCode.KC_F12) // edit
            {
                OgreEngine.mGame.World.Map.MapEditor.Edit = !OgreEngine.mGame.World.Map.MapEditor.Edit;
            }
            /*
            if (arg.key == MOIS.KeyCode.KC_SPACE) // camera mode
            {
                OgreEngine.mGame.Camera.FreeCamera = !OgreEngine.mGame.Camera.FreeCamera;
            }*/

            if (DEBUG.Active)
                if (arg.key == MOIS.KeyCode.KC_P) DEBUG.PolygonMode = DEBUG.PolygonMode == PolygonMode.PM_POINTS ? PolygonMode.PM_SOLID : DEBUG.PolygonMode == PolygonMode.PM_SOLID ? PolygonMode.PM_WIREFRAME : PolygonMode.PM_POINTS;

            /*
            if (arg.key == MOIS.KeyCode.KC_RETURN)
            {
                GameActorObject obj = new GameActorObject();
                obj.prototype = "cube.mesh";
                obj.Id = (int)OgreEngine.mGame.Frames;

                obj.AttachNode(OgreEngine.mGame.World.CreateObject(obj));
                obj.Position = new Vector3(OgreEngine.mPlayer.Position.x, OgreEngine.mPlayer.Position.y + 100, OgreEngine.mPlayer.Position.z);
                OgreEngine.mGame.World.ObjectList.Add(obj);

            }

            if (arg.key == MOIS.KeyCode.KC_F1)
            {
                if (OgreEngine.mGame.State == GameState.RUNNING)
                {
                    OgreEngine.mMenu.Show();
                    OgreEngine.mGame.State = GameState.MAINMENU;
                }
                else
                    if (OgreEngine.mGame.State == GameState.MAINMENU)
                    {
                        OgreEngine.mMenu.Hide();
                        OgreEngine.mGame.State = GameState.RUNNING;
                    }
            }

            if (arg.key == MOIS.KeyCode.KC_SPACE)
            {
                OgreEngine.mPlayer.Jump(10);
            }

            if (!PressedKeys.Contains(arg.key))
                PressedKeys.Add(arg.key);
            */
            return true;
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: vavrekmichal/Strategy
        /// <summary>
        /// Processes input from keyboard (MusicPlayer control, Game pause, save or exit).
        /// </summary>
        /// <param name="evt">The evt.</param>
        /// <returns>
        /// Returns always true.
        /// </returns>
        protected override bool OnKeyPressed(MOIS.KeyEvent evt)
        {
            base.OnKeyPressed(evt);
            switch (evt.key) {
                case MOIS.KeyCode.KC_RETURN:
                    if (Game.Initialized) {
                        Game.Paused = !Game.Paused;
                    }
                    break;
                case MOIS.KeyCode.KC_I:
                    Game.IGameSoundPlayer.VolumeUp();
                    break;
                case MOIS.KeyCode.KC_K:
                    Game.IGameSoundPlayer.VolumeDown();
                    break;
                case MOIS.KeyCode.KC_N:
                    Game.IGameSoundPlayer.PlayNextSong();
                    break;
                case MOIS.KeyCode.KC_M:
                    Game.IGameSoundPlayer.Pause();
                    break;
                case MOIS.KeyCode.KC_B:
                    Game.IGameSoundPlayer.ShowCurrentlyPlayingSong();
                    break;
                case MOIS.KeyCode.KC_R:
                    RestartCamera();
                    break;
                case MOIS.KeyCode.KC_ESCAPE:
                    // Close the program.
                    myGame.Quit();
                    break;
                case MOIS.KeyCode.KC_F5:
                    Game.Save("QuickSave.save");
                    break;

            }
            return true;
        }
コード例 #17
0
ファイル: GameState.cs プロジェクト: nigelchanyk/Archetype
 protected override void OnKeyPress(MOIS.KeyEvent evt)
 {
     if (evt.key == MOIS.KeyCode.KC_ESCAPE)
         Application.Exit = true;
 }
コード例 #18
0
        bool Keyboard_KeyReleased(MOIS.KeyEvent arg)
        {
            if (PressedKeys.Contains(arg.key))
                PressedKeys.Remove(arg.key);

            return true;
        }
コード例 #19
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 protected virtual void OnMouseMove(MOIS.MouseEvent evt)
 {
 }
コード例 #20
0
        bool Mouse_MouseMoved(MOIS.MouseEvent arg)
        {
            /*if (OgreEngine.mGame.Camera.FreeCamera)
            {
                float dx = -(float)arg.state.X.rel / 50.0f * Constants.Controls.Sensitivity;
                float dy = -(float)arg.state.Y.rel / 50.0f * Constants.Controls.Sensitivity;

                //OgreEngine.mGame.Camera.Pitch(dy);
                //OgreEngine.mGame.Camera.Yaw(dx);
            }
            else
            {
                // pokud neni free, tak tady nic
            }*/

            if (arg.state.Z.rel != 0) // zoom
            {
                Vector3 pos = OgreEngine.mGame.Camera.Position - new Vector3(0,arg.state.Z.rel/120f*Constants.PlayerCamera.ZScroll,0);
                pos.y = System.Math.Max(System.Math.Min(pos.y, Constants.PlayerCamera.MaxCamHeight), Constants.PlayerCamera.MinCamHeight);
                OgreEngine.mGame.Camera.Position = pos;
            }

            return true;
        }
コード例 #21
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 protected virtual void OnMouseRelease(MOIS.MouseEvent evt, MOIS.MouseButtonID id)
 {
 }
コード例 #22
0
        bool Mouse_MouseReleased(MOIS.MouseEvent arg, MOIS.MouseButtonID id)
        {
            if (OgreEngine.mGame.World.Map.MapEditor != null && OgreEngine.mGame.World.Map.MapEditor.Edit)
            {
                OgreEngine.mGame.World.Map.MapEditor.MouseReleased(arg, id);
            }

            return true;
        }
コード例 #23
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 public void MouseMove(MOIS.MouseEvent evt)
 {
     OnMouseMove(evt);
 }
コード例 #24
0
ファイル: App.cs プロジェクト: RainsSoft/ogreflow
        private bool KeyPressed(MOIS.KeyEvent arg)
        {
            // stop
            if(arg.key == MOIS.KeyCode.KC_ESCAPE){
                running = false;
            }

            return true;
        }
コード例 #25
0
ファイル: State.cs プロジェクト: nigelchanyk/Archetype
 public void MouseRelease(MOIS.MouseEvent evt, MOIS.MouseButtonID id)
 {
     UserInterface.MouseRelease(evt, id);
     OnMouseRelease(evt, id);
 }
コード例 #26
0
ファイル: App.cs プロジェクト: RainsSoft/ogreflow
 private bool KeyReleased(MOIS.KeyEvent arg)
 {
     return true;
 }
コード例 #27
0
ファイル: Core.cs プロジェクト: secred/Tachycardia
        /*
        private void CreateScene()
        {
        m_CurrentMap = new Map();
        m_CurrentMap.SetGraphicsMesh("Level.mesh");
        m_CurrentMap.SetCollisionMesh("LevelCol.mesh");

        CharacterProfile profile = new CharacterProfile();
        profile.m_BodyMass = 70;
        profile.m_BodyScaleFactor = new Vector3(1.5f, 1, 1.5f);
        profile.m_HeadOffset = new Vector3(0, 0.8f, 0);
        profile.m_MeshName = "Man.mesh";
        //profile.m_WalkSpeed = 0.5f;   // temporarly defined in Character.cs   ~ MDZ

        Character player = new Character(profile);
        player.SetPosition(new Vector3(0, 2, 0));
        m_ObjectManager.Add("player", player);

        Light light = Core.Singleton.SceneManager.CreateLight();
        light.Type = Light.LightTypes.LT_DIRECTIONAL;
        light.Direction = new Vector3(1, -3, 1).NormalisedCopy;
        light.DiffuseColour = new ColourValue(0.2f, 0.2f, 0.2f);

        m_SceneManager.ShadowTechnique = ShadowTechnique.SHADOWTYPE_STENCIL_MODULATIVE;
        }*/
        //overlaye na przycisk
        //hello world - ENTER
        //red - R
        //hello world na wierzch - V
        //wylacz - T
        //broken screen - B
        //bullet time (in sound) - K
        //background music play - M
        //background music pause - J
        // background music stop - N
        public bool KeyPressedHandler(MOIS.KeyEvent keyEventRef)
        {
            if (keyEventRef.key == MOIS.KeyCode.KC_RETURN)
            {
                var messageBox = OverlayManager.Singleton.GetOverlayElement("HelloWorldOverlay/MessageBox");
                messageBox.Left = (m_RenderWindow.Width - messageBox.Width) / 2;
                messageBox.Top = (m_RenderWindow.Height - messageBox.Height) / 2;

                var messageBody = OverlayManager.Singleton.GetOverlayElement("HelloWorldOverlay/MessageBox/Body");
                //messageBody.Caption = "Ssij palke :*";

                OverlayManager.Singleton.GetByName("HelloWorldOverlay").Show();
            }
            if (keyEventRef.key == MOIS.KeyCode.KC_P)
            {
                Character player = (Character)m_ObjectManager.Find("player");
                player.SetPosition(new Vector3(-148, -25, 15));
            }
            if (keyEventRef.key == MOIS.KeyCode.KC_R)
            {
                CompositorManager.Singleton.AddCompositor(m_Viewport, "Glass");
                CompositorManager.Singleton.SetCompositorEnabled(m_Viewport, "Glass", true);
            }

            if (keyEventRef.key == MOIS.KeyCode.KC_B)
            {
                OverlayManager.Singleton.GetByName("BrokenScreen").Show();
                MaterialPtr mat = MaterialManager.Singleton.GetByName("BrokenScreen");
                TextureUnitState tus = mat.GetTechnique(0).GetPass(0).GetTextureUnitState(0);
                mat.GetTechnique(0).GetPass(0).SetSceneBlending(Mogre.SceneBlendType.SBT_TRANSPARENT_ALPHA);

                tus.SetAlphaOperation(Mogre.LayerBlendOperationEx.LBX_MODULATE, Mogre.LayerBlendSource.LBS_MANUAL, Mogre.LayerBlendSource.LBS_TEXTURE, alphaLevel);
            }

            if (keyEventRef.key == MOIS.KeyCode.KC_T)
            {
                //OverlayManager.Singleton.GetByName("Red").Hide();
                CompositorManager.Singleton.SetCompositorEnabled(m_Viewport, "Glass", false);
                OverlayManager.Singleton.GetByName("HelloWorldOverlay").Hide();
                OverlayManager.Singleton.GetByName("BrokenScreen").Hide();
            }

            if (keyEventRef.key == MOIS.KeyCode.KC_M) m_SoundDict.PlayBGM();
            if (keyEventRef.key == MOIS.KeyCode.KC_N) m_SoundDict.StopBGM();
            if (keyEventRef.key == MOIS.KeyCode.KC_J) m_SoundDict.PauseBGM();
            if (keyEventRef.key == MOIS.KeyCode.KC_K) m_SoundDict.m_IsBulletTime = true;

            if (keyEventRef.key == MOIS.KeyCode.KC_V)
            {
                OverlayManager.Singleton.GetByName("BrokenScreen").Show();
                MaterialPtr mat = MaterialManager.Singleton.GetByName("BrokenScreen");
                TextureUnitState tus = mat.GetTechnique(0).GetPass(0).GetTextureUnitState(0);
                mat.GetTechnique(0).GetPass(0).SetSceneBlending(Mogre.SceneBlendType.SBT_TRANSPARENT_ALPHA);

                if (alphaLevel > 0.0f)
                    alphaLevel -= 0.1f;
                else alphaLevel = 1.0f;

                tus.SetAlphaOperation(Mogre.LayerBlendOperationEx.LBX_MODULATE, Mogre.LayerBlendSource.LBS_MANUAL, Mogre.LayerBlendSource.LBS_TEXTURE, alphaLevel);

            }
            return true;
        }
コード例 #28
0
ファイル: App.cs プロジェクト: RainsSoft/ogreflow
 private bool MouseMoved(MOIS.MouseEvent arg)
 {
     return true;
 }
コード例 #29
0
ファイル: Core.cs プロジェクト: secred/Tachycardia
 public bool KeyReleasedHandler(MOIS.KeyEvent keyEventRef)
 {
     if (keyEventRef.key == MOIS.KeyCode.KC_K) m_SoundDict.m_IsBulletTime = false;
     return true;
 }
コード例 #30
0
ファイル: App.cs プロジェクト: RainsSoft/ogreflow
 private bool MouseReleased(MOIS.MouseEvent arg, MOIS.MouseButtonID id)
 {
     return true;
 }