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); }
/// <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); }