Пример #1
0
        protected override void Run(ETModel.Session session, Actor_StateSync message)
        {
            UnitComponent unitComponent = ETModel.Game.Scene.GetComponent <UnitComponent>();

            foreach (UnitStateInfo stateInfo in message.States)
            {
                Unit unit = unitComponent.Get(stateInfo.UnitId);
                if (unit == null)
                {
                    continue;
                }

                UnitState state = stateInfo.Read();

                if (stateInfo.UnitId == PlayerComponent.Instance.MyPlayer.UnitId)
                {
                    ClientPredictionComponent clientPredictionComponent = ETModel.Game.Scene.GetComponent <ClientPredictionComponent>();
                    clientPredictionComponent.SetVerifyState(state);
                }
                else
                {
                    UnitStateComponent unitStateComponent = unit.GetComponent <UnitStateComponent>();
                    unitStateComponent.SetState(state);
                }
            }
        }
Пример #2
0
        protected override void Run(ETModel.Session session, Actor_ServerCommond message)
        {
            ClientPredictionComponent clientPredictionComponent = ETModel.Game.Scene.GetComponent <ClientPredictionComponent>();

            foreach (Command command in message.Result)
            {
                clientPredictionComponent.Verify(command);
            }
        }