Esempio n. 1
0
        protected override void ExecWhenObserving(PlayerEntity player, IUserCmd cmd)
        {
            int observedObjId = player.gamePlay.CameraEntityId;

            var observedPlayer = _playerContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.Player));

            if (observedPlayer != null)
            {
                UpdateCollisionLayerMask(observedPlayer);
                var punchRotation = new Vector3(2 * observedPlayer.orientation.PunchPitch,
                                                observedPlayer.orientation.PunchYaw, observedPlayer.orientation.FireRoll);

                UpdateCollisions(observedPlayer.cameraStateOutputNew, player.cameraFinalOutputNew, punchRotation,
                                 observedPlayer, true, cmd.ClientTime);
            }
            else
            {
                var observedFreeMove =
                    _freeMoveContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.FreeMove));
                if (observedFreeMove != null)
                {
                    CalcuWhenObserveFreeMove(player, observedFreeMove);
                }
            }
        }
Esempio n. 2
0
        protected override void DoSetData(PointerData data)
        {
            var player = _playerContext.flagSelfEntity;

            if (null == player)
            {
                Logger.Error("player self entity is null ");
            }
            var freeMoveEntity = _freeMoveContext.GetEntityWithEntityKey(new EntityKey(FreeObjectCastData.EntityId(data.IdList), (short)EEntityType.FreeMove));

            if (null == freeMoveEntity)
            {
                Logger.Error("free move entity is null !");
                return;
            }

            if (IsUntouchableOffGround(player, freeMoveEntity.position.Value, freeMoveEntity.unityGameObject.UnityObject))
            {
                Tip = "";
                return;
            }
            switch (freeMoveEntity.freeData.Cat)
            {
            case FreeEntityConstant.DeadBoxGroup:
                if (freeMoveEntity.hasFreeData)
                {
                    var freeDataValue = freeMoveEntity.freeData.Value;
                    if (StringUtil.IsNullOrEmpty(freeDataValue))
                    {
                        Logger.Error("dead box free data value is missing.");
                    }
                    else
                    {
                        Tip = string.Format(ScriptLocalization.client_actiontip.deadbox, freeDataValue);
                    }
                }
                else
                {
                    Logger.Error("no free data attached to free move entity ");
                }
                break;

            case FreeEntityConstant.DropBoxGroup:
                Tip = ScriptLocalization.client_actiontip.dropbox;
                break;

            default:
                Tip = "";
                Logger.ErrorFormat("illegal category {0}", freeMoveEntity.freeData.Cat);
                break;
            }
        }
        private void CalcuWhenObserving(PlayerEntity playerEntity)
        {
            int observedObjId = playerEntity.gamePlay.CameraEntityId;

            var observedPlayer = _playerContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.Player));

            if (observedPlayer != null)
            {
                CalcuWhenObservePlayer(playerEntity, observedPlayer);
                return;
            }

            var observedFreeMove =
                _freeMoveContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.FreeMove));

            if (observedFreeMove != null)
            {
                CalcuWhenObserveFreeMove(playerEntity, observedFreeMove);
            }
        }
Esempio n. 4
0
        protected override void ExecWhenObserving(PlayerEntity player, IUserCmd cmd)
        {
            int observedObjId = player.gamePlay.CameraEntityId;

            var observedPlayer = _playerContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.Player));

            if (observedPlayer != null)
            {
                CalcuWhenObservePlayer(player, observedPlayer);
            }
            else
            {
                var observedFreeMove =
                    _freeMoveContext.GetEntityWithEntityKey(new EntityKey(observedObjId, (short)EEntityType.FreeMove));
                if (observedFreeMove != null)
                {
                    CalcuWhenObserveFreeMove(player, observedFreeMove);
                }
            }
        }