public SecurityController(string name, Actor parentActor, bool bEnabled,
     int maxSweepAngle, int sweepSpeed)
     : base(name, parentActor, bEnabled)
 {
     this.maxSweepAngle = maxSweepAngle;
     this.sweepSpeed = sweepSpeed;
 }
 public CharacterRotatorInteractionController(Main game, string name, Actor parentActor, Actor targetActor, bool bEnabled)
     : base(name, parentActor, bEnabled)
 {
     this.game = game;
     this.targetActor = targetActor;
     this.isRotating = false;
 }
 public OffsetController(string name, Actor parentActor, bool bEnabled, Vector3 maxOffset, float speed)
     : base(name, parentActor, bEnabled)
 {
     this.maxOffset = maxOffset;
     this.originalTranslation = ParentActor.Transform3D.Translation;
     this.speed = speed;
 }
 public TransitionController(string name, Actor parentActor, bool bEnabled,
     Actor actor1, Actor actor2, float timeInSecs)
     : base(name, parentActor, bEnabled)
 {
     this.track = new Camera3DTrack(CurveLoopType.Constant);
     //set the initial position of the camera
     this.track.Add(actor1.Transform3D.Translation, actor1.Transform3D.Look, actor1.Transform3D.Up, 0);
     this.track.Add(actor2.Transform3D.Translation, actor2.Transform3D.Look, actor2.Transform3D.Up, timeInSecs);
 }
        public RailController(string name, Actor parentActor, bool bEnabled, 
            RailParameters railParameters, Actor targetActor)
            : base(name, parentActor, bEnabled)
        {
            this.railParameters = railParameters;
            this.targetActor = targetActor;

            //set the initial position of the camera
            this.ParentActor.Transform3D.Translation = railParameters.MidPoint;
        }
        public RailCharacterFollowController(string name, Actor parentActor, bool bEnabled, RailParameters railParameters, Actor targetActor, float distanceToTarget)
            : base(name, parentActor, bEnabled)
        {
            this.railParameters = railParameters;
            this.targetActor = targetActor;
            this.distanceToTarget = distanceToTarget;

            //put the camera on the rail mid point
            this.ParentActor.Transform3D.Translation = railParameters.Start;
        }
        public RailCamera3D(string id, ObjectType objectType,
            Transform3D transform, ProjectionParameters projectionParameters, 
            Viewport viewPort, RailParameters railParameters, Actor targetActor)
            : base(id, objectType, transform, projectionParameters, viewPort)
        {
            this.railParameters = railParameters;
            this.targetActor = targetActor;

            //put the camera on the rail mid point
            this.Transform3D.Translation = railParameters.MidPoint;
        }
        public ThirdPersonCamera3D(string id, ObjectType objectType, Transform3D transform,
            ProjectionParameters projectionParameters,
            Viewport viewPort, Actor targetActor,
            int elevationAngle, int distance)
            : base(id, objectType, transform, projectionParameters, viewPort)
        {
            this.targetActor = targetActor;
            this.elevationAngle = elevationAngle;
            this.distance = distance;

            this.lerpSpeed = 0.05f;// med = 0.1f, fast = 0.2f
            this.oldTranslation = this.Transform3D.Translation;
            this.oldLook = this.Transform3D.Look;
            this.oldUp = this.Transform3D.Up;
        }
 public RotateCameraController(string name, Actor parentActor, bool bEnabled, Actor targetActor)
     : base(name, parentActor, bEnabled)
 {
     this.targetActor = targetActor;
 }
 public ProximityPlayerController(string name, Actor parentActor, bool bEnabled, Actor targetActor, float distance)
     : base(name, parentActor, bEnabled)
 {
     this.targetActor = targetActor;
     this.distance = distance;
 }
 public void SetParentActor(Actor parentActor)
 {
     this.parentActor = parentActor;
 }
 public Controller(string name, Actor parentActor, bool bEnabled)
 {
     this.name = name;
     this.parentActor = parentActor;
     this.bEnabled = bEnabled;
 }
 public RotorController(string name, Actor parentActor, bool bEnabled)
     : base(name, parentActor, bEnabled)
 {
     this.running = false;
 }
 public CharacterMoveController(Main game, string name, Actor parentActor, bool bEnabled, Camera3D camera)
     : base(name, parentActor, bEnabled)
 {
     this.game = game;
     this.camera = camera;
 }
 public ShakeController(string name, Actor parentActor, bool bEnabled)
     : base(name, parentActor, bEnabled)
 {
     this.timer = 3000;
 }