public Tank(Model model, GraphicsDevice device, Camera camera, GraphicsDeviceManager graphics, String name) : base(model) { this.name = name; graphicsDeviceManager = graphics; mousePick = new MousePick(device, camera); boneTransforms = new Matrix[model.Bones.Count]; // references to bones to animate turretBone = model.Bones["turret_geo"]; leftBackWheelBone = model.Bones["l_back_wheel_geo"]; rightBackWheelBone = model.Bones["r_back_wheel_geo"]; leftFrontWheelBone = model.Bones["l_front_wheel_geo"]; rightFrontWheelBone = model.Bones["r_front_wheel_geo"]; cannonBone = model.Bones["canon_geo"]; // store the original transform matrix, otherwise animations on rotations will be all wonky turretTransform = turretBone.Transform; leftBackWheelTransform = leftBackWheelBone.Transform; rightBackWheelTransform = rightBackWheelBone.Transform; leftFrontWheelTransform = leftFrontWheelBone.Transform; rightFrontWheelTransform = rightFrontWheelBone.Transform; cannonTransform = cannonBone.Transform; health = maxHealth; }
void Awake() { this.receivers = new List<ContextObject>(); instance = this; }