public Tank(Game g, Vector3 p) : base(g, p) { controlState = new TankControlState(); wheelrotations[0] = 0; wheelrotations[1] = 0; wheelrotations[2] = 0; wheelrotations[3] = 0; cdrawer = new ColliderDrawer(g, this.getCollidable()); }
public override void LoadContent(ContentManager contentMan) { Matrix shapeTransform = Matrix.Identity; model = loadedModels[type]; switch (type) { case 0: collide = new AARectangleCollidable(this.position, 485); this.position.Y += 220; shapeTransform = Matrix.CreateScale(130) * Matrix.CreateTranslation(this.position); break; case 1: collide = new CircleCollidable(this.position, 265); this.position.Y += 253; shapeTransform = Matrix.CreateScale(100) * Matrix.CreateRotationX((float)Math.PI / 2) * Matrix.CreateTranslation(this.position); break; case 2: collide = new CircleCollidable(this.position, 165); this.position.Y += 190; shapeTransform = Matrix.CreateScale(80) * Matrix.CreateRotationX((float)Math.PI / 2) * Matrix.CreateTranslation(this.position); break; } boneOriginTransforms = new Matrix[model.Bones.Count]; for (int i = 0; i < model.Bones.Count; i++) { boneOriginTransforms[i] = model.Bones[i].Transform * shapeTransform; } tex = loadedTextures[textype]; colliderDrawer = new ColliderDrawer(this.game, this.getCollidable()); }