public Turret(long _uniqueId, Vector3 _position, Quaternion _rotation, String _modelFile, Vector3 _fireConeNormal, float _fireConeAngle, Battleship _parent)
            : base(_uniqueId, _position, _rotation, _modelFile)
        {
            Health = MAX_HEALTH;

            fireConeNormalVector = _fireConeNormal;
            fireConeNormalVector.Normalize(); // Just in case
            fireConeAngle = MathHelper.ToRadians(_fireConeAngle);

            parent = _parent;

            assignedPhase = nextAssignedPhase;
            switch (nextAssignedPhase)
            {
                case activationPhase.first: nextAssignedPhase = activationPhase.second; break;
                case activationPhase.second: nextAssignedPhase = activationPhase.third; break;
                case activationPhase.third: nextAssignedPhase = activationPhase.first; break;
            }

            MAX_SLERP = SLERP_SPEED;

            Rotation = AdjustRotationNoLimit(Vector3.Backward, fireConeNormalVector, Vector3.Up);

            fireTimer = FIRE_TIMER;

            detectionSphere = new CollisionSphere(_position, FIRE_RANGE);
            detectionSphere.Active = true;
        }
 public EsxolusTurret(long _uniqueId, Vector3 _position, Quaternion _rotation, Vector3 _fireConeNormal, float _fireConeAngle, Battleship _parent)
     : base(_uniqueId, _position, _rotation, "Models/Ships/esxolus_capital_ship_turret_model", _fireConeNormal, _fireConeAngle, _parent)
 {
     // CollisionBase = new CollisionSphere(_position, 10);
     team = Ship.Team.Esxolus;
 }
 public HalkTurret(long _uniqueId, Vector3 _position, Quaternion _rotation, Vector3 _fireConeNormal, float _fireConeAngle, Battleship _parent)
     : base(_uniqueId, _position, _rotation, "Models/Ships/HalkTurretBall", _fireConeNormal, _fireConeAngle, _parent)
 {
     // CollisionBase = new CollisionSphere(_position, 10);
     team = Ship.Team.Halk;
 }
 public static HalkTurret createHalkTurret(Vector3 position, Quaternion rotation, Vector3 fireConeNormal, float fireConeAngle, Battleship parent)
 {
     return ((HalkTurret)Space394Game.GameInstance.CurrentScene.addSceneObject(new HalkTurret(seed += seedIncrement, position, rotation, fireConeNormal, fireConeAngle, parent)));
 }