Ejemplo n.º 1
0
 public static EGgGameEvent_Game ToType(FECgGameEvent e)
 {
     if (e == EGgGameEvent.StartMoveForward)
     {
         return(EGgGameEvent_Game.StartMoveForward);
     }
     if (e == EGgGameEvent.StopMoveForward)
     {
         return(EGgGameEvent_Game.StopMoveForward);
     }
     if (e == EGgGameEvent.StartMoveBackward)
     {
         return(EGgGameEvent_Game.StartMoveBackward);
     }
     if (e == EGgGameEvent.StopMoveBackward)
     {
         return(EGgGameEvent_Game.StopMoveBackward);
     }
     if (e == EGgGameEvent.StartJump)
     {
         return(EGgGameEvent_Game.StartJump);
     }
     if (e == EGgGameEvent.StopJump)
     {
         return(EGgGameEvent_Game.StopJump);
     }
     if (e == EGgGameEvent.StartFire)
     {
         return(EGgGameEvent_Game.StartFire);
     }
     if (e == EGgGameEvent.StopFire)
     {
         return(EGgGameEvent_Game.StopFire);
     }
     return(EGgGameEvent_Game.MAX);
 }
Ejemplo n.º 2
0
        protected override void PostProcessInput(float deltaTime)
        {
            base.PostProcessInput(deltaTime);

            FGgManager_Input manager = (FGgManager_Input)Manager_Input;

            manager.PostProcessInput(deltaTime);

            FCgInputFrame inputFrame = manager.CurrentInputFrame;

            // Reset PriorityList
            foreach (FCgGameEventInfo info in GameEventInfoPriorityList)
            {
                info.Reset();
            }

            // Process GameEventDefinitions
            foreach (FCgGameEventDefinition def in manager.GameEventDefinitions_Game)
            {
                def.Sentence.ProcessInput(inputFrame);

                if (def.Sentence.Completed)
                {
                    EGgGameEvent_Game e = FEGgGameEvent_Game_Helper.ToType(def.Event);
                    GameEventInfoPriorityList[(byte)e].Event = def.Event;
                }
            }
            // Process QueuedGameEvents
            foreach (FCgGameEventInfo info in manager.QueuedGameEventInfosForNextFrame)
            {
                FECgGameEvent     _event = info.Event;
                EGgGameEvent_Game e      = FEGgGameEvent_Game_Helper.ToType(_event);

                GameEventInfoPriorityList[(byte)e].Event = _event;
            }

            // Add events to Local SnapShot
            MGgPlayerState myPlayerState = (MGgPlayerState)PlayerState;

            //myPlayerState.CurrentSnapShot.Reset();

            for (byte i = 0; i < EGG_GAME_EVENT_GAME_MAX; ++i)
            {
                FCgGameEventInfo info = GameEventInfoPriorityList[i];

                if (!info.IsValid())
                {
                    continue;
                }

                myPlayerState.CurrentSnapShot.AddGameEvent(info.Event);
            }

            FGgSnapShot_Player snapShot = (FGgSnapShot_Player)myPlayerState.CurrentSnapShot;

            snapShot.CurrentMousePosition = manager.CurrentMousePosition;

            //myPlayerState.ProcessCurrentLocalSnapShot(deltaTime);

            manager.ClearQueuedGameEvents();
        }