Exemple #1
0
 public GlidingPoseMotor(ECameraPoseMode modeId,
                         HashSet <ECameraPoseMode> excludes,
                         IMotorActive active,
                         Motors m) : base(modeId, excludes, active, m)
 {
     _bezierUtil.CreateRandomPoints(1f, 1.5f, -2, 2, -0.3f, 0.3f, 4);
 }
Exemple #2
0
 public GlidingPoseMotor(ECameraPoseMode modeId,
                         CameraConfigItem config,
                         HashSet <ECameraPoseMode> excludes,
                         IMotorActive active, int transitionTime = 200
                         ) : base(modeId, config, excludes, active, transitionTime)
 {
     _bezierUtil.CreateRandomPoints(1f, 1.5f, -2, 2, -0.3f, 0.3f, 4);
 }
Exemple #3
0
 public CameraConfigItem GetCameraConfigItem(ECameraPoseMode Type)
 {
     foreach (var cameraConfigItem in PoseConfigs)
     {
         if (cameraConfigItem.CameraType.Equals(Type))
         {
             return(cameraConfigItem);
         }
     }
     return(null);
 }
        public DeadPoseMotor(ECameraPoseMode modeId, CameraConfigItem config, HashSet <ECameraPoseMode> excludes, IMotorActive active, DeadCameraConfig deadConfig) : base(modeId, config, excludes, active)
        {
            _config = deadConfig;

            CameraActionManager.AddAction(CameraActionType.Enter, SubCameraMotorType.Pose, (int)modeId,
                                          (player, state) =>
            {
                player.orientation.Pitch = 0;
                Debug.Log("Enter dead pose");
            });
            _finalRotation = deadConfig.Roatation;
        }
Exemple #5
0
 public DeadPoseMotor(ECameraPoseMode modeId, HashSet <ECameraPoseMode> excludes, IMotorActive active, DeadCameraConfig deadConfig, Motors m) : base(modeId, excludes, active, m)
 {
     _motors.ActionManager.AddAction(CameraActionType.Enter, SubCameraMotorType.Pose, (int)modeId,
                                     (player, state) =>
     {
         player.cameraStateOutputNew.LastPitchWhenAlive = player.cameraFinalOutputNew.EulerAngle.x;
         //中途加入时不切三人称
         if (player.gamePlay.IsObserving())
         {
             player.characterBoneInterface.CharacterBone.SetThridPerson();
         }
     });
 }
Exemple #6
0
        public DrivePoseMotor(ECameraPoseMode modeId,
                              HashSet <ECameraPoseMode> excludes,
                              VehicleContext vehicleContext,
                              FreeMoveContext freeMoveContext,
                              Motors m
                              ) : base(m)
        {
            _modeId = (short)modeId;
            _motors = m;

            this.excludes = new HashSet <short>();
            foreach (var e in excludes)
            {
                this.excludes.Add((short)e);
            }

            _order = SingletonManager.Get <CameraConfigManager>().GetRoleConfig()
                     .GetCameraConfigItem((ECameraPoseMode)_modeId).Order;

            _motors.ActionManager.AddAction(CameraActionType.Enter, SubCameraMotorType.Pose, (int)modeId,
                                            (player, state) =>
            {
                if (player.IsOnVehicle())
                {
                    var vehicle = vehicleContext.GetEntityWithEntityKey(player.controlledVehicle.EntityKey);
                    player.controlledVehicle.CameraAnchorOffset    = vehicle.vehicleAssetInfo.CameraAnchorOffset;
                    player.controlledVehicle.CameraDistance        = vehicle.vehicleAssetInfo.CameraDistance;
                    player.controlledVehicle.CameraRotationDamping = vehicle.vehicleAssetInfo.CameraRotationDamping;
                }

                var cameraEulerAngle = player.cameraFinalOutputNew.EulerAngle;

                var carEulerAngle = player.cameraArchor.ArchorEulerAngle;

                var t           = cameraEulerAngle - carEulerAngle;
                state.FreeYaw   = t.y;
                state.FreePitch = t.x;
            });
            _motors.ActionManager.AddAction(CameraActionType.Leave, SubCameraMotorType.Pose, (int)modeId,
                                            (player, state) =>
            {
                var rotation             = player.cameraFinalOutputNew.EulerAngle;
                player.orientation.Yaw   = YawPitchUtility.Normalize(rotation.y);
                player.orientation.Pitch = YawPitchUtility.Normalize(rotation.x);

                state.LastFreePitch = 0;
                state.LastFreeYaw   = 0;
                state.FreeYaw       = 0f;
                state.FreePitch     = 0f;
            });
        }
Exemple #7
0
        private int PoseTransitionTime(ECameraPoseMode lastMode, ECameraPoseMode curMode)
        {
            var config = _config.PoseConfigs[(int)curMode];

            if (config.PoseTransitionItems == null)
            {
                return(config.DefaultTime);
            }
            foreach (var item in config.PoseTransitionItems)
            {
                if (item.LastState == lastMode)
                {
                    return(item.BaseTime);
                }
            }
            return(config.DefaultTime);
        }
Exemple #8
0
        public NormalPoseMotor(ECameraPoseMode modeId,
                               CameraConfig config,
                               HashSet <ECameraPoseMode> excludes,
                               IMotorActive active
                               )
        {
            _modeId    = (short)modeId;
            _motorType = SubCameraMotorType.Pose;

            this._excludes = new HashSet <short>();
            foreach (var e in excludes)
            {
                this._excludes.Add((short)e);
            }

            _config = config.GetCameraConfigItem(modeId);
            _active = active;
        }
        public NormalPoseMotor(ECameraPoseMode modeId,
                               CameraConfigItem config,
                               HashSet <ECameraPoseMode> excludes,
                               IMotorActive active, int transitionTime = 200
                               )
        {
            _modeId = (short)modeId;

            this._excludes = new HashSet <short>();
            foreach (var e in excludes)
            {
                this._excludes.Add((short)e);
            }

            _transitionTime = transitionTime;
            _config         = config;
            _active         = active;
        }
        public NormalPoseMotor(ECameraPoseMode modeId,
                               HashSet <ECameraPoseMode> excludes,
                               IMotorActive active, Motors m) : base(m)
        {
            _modeId    = (short)modeId;
            _motorType = SubCameraMotorType.Pose;

            this._excludes = new HashSet <short>();
            foreach (var e in excludes)
            {
                this._excludes.Add((short)e);
            }

            _order = SingletonManager.Get <CameraConfigManager>().GetRoleConfig()
                     .GetCameraConfigItem((ECameraPoseMode)_modeId).Order;

            _active = active;
        }
Exemple #11
0
 public AirplanePoseMotor(ECameraPoseMode modeId, CameraConfigItem config, HashSet <ECameraPoseMode> excludes, VehicleContext vehicleContext, FreeMoveContext freeMoveContext) :
     base(modeId, config, excludes, vehicleContext, freeMoveContext)
 {
 }
 public AirplanePoseMotor(ECameraPoseMode modeId, HashSet <ECameraPoseMode> excludes, VehicleContext vehicleContext, FreeMoveContext freeMoveContext, Motors m) :
     base(modeId, excludes, vehicleContext, freeMoveContext, m)
 {
 }