Example #1
0
        public Fireball(Vector3 vel, Player owner, CompositeModel model)
            : base(model)
        {
            this.velocity = vel;
            this.owner = owner;
            this.model = model;

            this.model.addCollisionCylinder(2f, 1f, Vector3.Up * 0.5f);
            this.model.addBoundingCylinder(2f, 1f, Vector3.Up * 0.5f);
        }
Example #2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            ScreenSplit scMode = ScreenSplit.two;
            FLOATINGBOXCOUNT = 150;
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            sobelEffect = Content.Load<Effect>("Sobel2");

            renderMaster = new RenderMaster(scMode, GraphicsDevice, spriteBatch, sobelEffect,  bounds);

            world = new World(renderMaster);

            world.addModel("terrain", Content.Load<Model>("terrain"));
            world.addModel("tower", Content.Load<Model>("tower"));
            world.addModel("wiz", Content.Load<Model>("wiz"));
            world.addModel("fireball", Content.Load<Model>("fireball"));
            world.addModel("testbox", Content.Load<Model>("testbox"));

            tower = new Tower( new CompositeModel(world.getModel("tower"), new Vector3(0f, 0f, 0f), Matrix.CreateFromYawPitchRoll(0f, 0f, 0f)));

            float dist = 300f;
            for (int i = 0; i < 8; i++)
            {
                world.add(new Tower(new CompositeModel(world.getModel("tower"),new Vector3(
                            (dist  + i % 2 * (dist / 2)) * (float)Math.Sin(i * (Math.PI / 4) ),
                            -20 * (1 + i),
                            (dist  + i % 2 * (dist / 2)) * (float)Math.Cos(i * (Math.PI / 4) )),
                            Matrix.CreateRotationZ(0f))));
            }

            Random r = new Random();
            Color c;
            TestBox t;
            for (int i = 0; i < FLOATINGBOXCOUNT; i++)
            {

                c = new Color((int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255));
                t = new TestBox(new CompositeModel(world.getModel("testbox"), new Vector3(-500 + r.Next(1000),  r.Next(800), -500f + r.Next(1000)), Matrix.CreateRotationY((float)(r.NextDouble() * Math.PI)),c));

                world.add(t);
            }

            Controller p1 = new XboxController(PlayerIndex.One);
            Controller p2 = new KeyboardController();       //XboxController(PlayerIndex.Two);
            Controller p3 = new XboxController(PlayerIndex.Three);////XboxController(PlayerIndex.Two);
            Controller p4 = new XboxController(PlayerIndex.Four);// new KeyboardController();//XboxController(PlayerIndex.Two);

            world.add(p1);
            world.add(p2);
            world.add(p3);
            world.add(p4);

            Color c1 = new Color((int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255));
            Color c2 = new Color((int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255));
            Color c3 = new Color((int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255));
            Color c4 = new Color((int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255), (int)(r.NextDouble() * 255));

            playerOne = new Player(new CompositeModel(world.getModel("wiz"), new Vector3(0f, (float)TOWERHEIGHT - 350, 30f), Matrix.CreateFromYawPitchRoll(45f, 0f, 0f), c1),
                new Camera(graphics.GraphicsDevice, new Vector3(50, 120, 50), new Vector3(0f, 63f, 0f), scMode),p1);//

            playerTwo = new Player(new CompositeModel(world.getModel("wiz"), new Vector3(0f, (float)TOWERHEIGHT - 350, -30f), Matrix.CreateFromYawPitchRoll(0f, 0f, 0f), c2),
                new Camera(graphics.GraphicsDevice, new Vector3(50, 120, 50), new Vector3(0f, 63f, 0f), scMode), p2);

            playerThree = new Player(new CompositeModel(world.getModel("wiz"), new Vector3(30f, (float)TOWERHEIGHT - 350, 0f), Matrix.CreateFromYawPitchRoll(0f, 0f, 0f), c3),
                new Camera(graphics.GraphicsDevice, new Vector3(50, 120, 50), new Vector3(0f, 63f, 0f), scMode), p1);

            playerFour = new Player(new CompositeModel(world.getModel("wiz"), new Vector3(-30f, (float)TOWERHEIGHT - 350, 0f), Matrix.CreateFromYawPitchRoll(0f, 0f, 0f), c4),
                new Camera(graphics.GraphicsDevice, new Vector3(50, 120, 50), new Vector3(0f, 63f, 0f), scMode), p1);

            world.add(playerOne);
            world.add(playerTwo);
            //world.add(playerThree);//
            //world.add(playerFour);

            world.add(tower);
        }