Example #1
0
        public void AddTankModel(Vector3 position, TankStatusMode tankStatus)
        {
            TankModel newDModel = new TankModel(tankStatus, tankModel, Matrix.CreateScale(0.08f) * Matrix.CreateTranslation(position.X, position.Y, position.Z), new Vector3(0, 1, 0), sceneManager.GetCity().GetCityMap());

            octreeRoot.Add(newDModel);
            tank = newDModel;
        }
Example #2
0
        public SceneManager(Game game)
            : base(game)
        {
            this.game = game;

            floorEffect = Game.Content.Load <Effect>("effects");
            player      = Game.Content.Load <PlayerData>("Configuration/PlayerData");
            tankmode    = Game.Content.Load <Mode[]>(@"Configuration/TankMode");
            world       = Game.Content.Load <WorldMatrix>("Configuration/WorldData");
            tankStatus  = new TankStatusMode(tankmode[0]);


            city             = new City();
            background       = new BackGround(game);
            inputHandler     = new InputHandler();
            textHandler      = new TextHandler();
            levelHander      = new GameLevelHandler(Game.Content);
            explosionHandler = new ExplosionHandler(game);
            gameMenu         = new GameMenuScreen(game, levelHander);
            worldData        = new GameWorldData(world);
            camera           = new FirstPersonCamera(game);
            background.InitializeModel(floorEffect);

            camera.prepareCamera();
            camera.setWeapon(Game.Content.Load <Model>(@"Models\weapon"));
        }
Example #3
0
        public TankModel(TankStatusMode tankStaus, Model inModel, Matrix inWorldMatrix, Vector3 newDirection, int[,] cityMap)
            : base(inModel, inWorldMatrix, newDirection)
        {
            leftBackWheelBone   = inModel.Bones["l_back_wheel_geo"];
            rightBackWheelBone  = inModel.Bones["r_back_wheel_geo"];
            leftFrontWheelBone  = inModel.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = inModel.Bones["r_front_wheel_geo"];
            leftSteerBone       = inModel.Bones["l_steer_geo"];
            rightSteerBone      = inModel.Bones["r_steer_geo"];
            turretBone          = inModel.Bones["turret_geo"];
            cannonBone          = inModel.Bones["canon_geo"];
            hatchBone           = inModel.Bones["hatch_geo"];

            // Store the original transform matrix for each animating bone.
            leftBackWheelTransform   = leftBackWheelBone.Transform;
            rightBackWheelTransform  = rightBackWheelBone.Transform;
            leftFrontWheelTransform  = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;
            leftSteerTransform       = leftSteerBone.Transform;
            rightSteerTransform      = rightSteerBone.Transform;
            turretTransform          = turretBone.Transform;
            cannonTransform          = cannonBone.Transform;
            hatchTransform           = hatchBone.Transform;

            // Allocate the transform matrix array.
            worldMatrix    = inWorldMatrix;
            this.direction = newDirection;
            this.cityMap   = cityMap;
            this.tankStaus = tankStaus;
            //targetDestination = new Vector3(700,0,-700);
            finder = new PathFinder();
            finder.SetUpMap(cityMap);
            pathToTargetDestination = new LinkedList <Vector2>();
            isMoving           = false;
            currentTurnedAngle = 0;
            ActivateWanderMode();
            cannonMovingUp = true;
            enableAttack   = false;

            produceHealthGlobeCD             = 30000;
            timeSinceLastHealthGlobeProduced = 0;
            healthGlobe = 0;
        }
Example #4
0
 public void Initialize(int[] enemyData, TankStatusMode tankstatus, GameTime gametime, PlayerData player)
 {
     AddPlayerModel(new Vector3(player.startPosition_x, 0, player.startPosition_z));
     AddTankModel(new Vector3(0, 0, 0), tankstatus);
 }