public GameObjectManager(World world, RenderManager renderMan, EffectManager effectManager) { _world = world; _renderManager = renderMan; _effectManager = effectManager; }
public GameObject GetItem(RenderManager.Texture _type) { GameObject item = GetBase(); item.Sprite = _renderManager.GetSprite(_type); item.Reward = new Reward(); switch(_type){ case RenderManager.Texture.DRUGS: item.Reward.EvilPoints = 20; break; case RenderManager.Texture.KNIFE: item.Reward.EvilPoints = 100; item.Reward.Type = Reward.RewardType.BUNNY; break; case RenderManager.Texture.BUNNY_GIRL: item.Reward.GoodPoints = 100; item.Reward.Type = Reward.RewardType.BUNNY; break; case RenderManager.Texture.BUNNY: item.Reward.Type = Reward.RewardType.BUNNY; item.CapturedSprite = _renderManager.GetSprite(RenderManager.Texture.BUNNY_CAPTURED); break; case RenderManager.Texture.BIBLE: item.Reward.GoodPoints = 20; break; case RenderManager.Texture.VEGETABLE: item.Reward.GoodPoints = 10; break; case RenderManager.Texture.GAME: item.Reward.EvilPoints = 10; break; } item.Pickupable = true; item.Body = BodyFactory.CreateRectangle(_world, 1f, 1f, 1.0f); item.Body.Position = RandomPlace(); item.Body.UserData = item; item.Body.BodyType = BodyType.Static; item.Body.Mass = 1.0f; item.Type = _type; item.Body.IgnoreCollisionWith(good.Body); item.Body.IgnoreCollisionWith(evil.Body); return item; }
public Ragdoll(World world, Body head, RenderManager renderMan) { _head = head; CreateBody(world, _head.Position, renderMan); CreateJoints(world); }
//Torso private void CreateBody(World world, Vector2 position, RenderManager renderMan) { //Body _body = BodyFactory.CreateRoundedRectangle(world, .5f, .5f, 0.1f, 0.1f, 2, 10f); _body.BodyType = BodyType.Dynamic; _body.Mass = 2f; _body.Position = position + new Vector2(0f, .8f); /* //Left Arm _lowerLeftArm = BodyFactory.CreateCapsule(world, .5f, 0.1f, ArmDensity); _lowerLeftArm.BodyType = BodyType.Dynamic; _lowerLeftArm.AngularDamping = LimbAngularDamping; _lowerLeftArm.Mass = 2f; _lowerLeftArm.Rotation = 1.4f; _lowerLeftArm.Position = position + new Vector2(-1f, .5f); _upperLeftArm = BodyFactory.CreateCapsule(world, .5f, 0.1f, ArmDensity); _upperLeftArm.BodyType = BodyType.Dynamic; _upperLeftArm.AngularDamping = LimbAngularDamping; _upperLeftArm.Mass = 2f; _upperLeftArm.Rotation = 1.4f; _upperLeftArm.Position = position + new Vector2(-1f, 0.9f); //Right Arm _lowerRightArm = BodyFactory.CreateCapsule(world, .5f, 0.1f, ArmDensity); _lowerRightArm.BodyType = BodyType.Dynamic; _lowerRightArm.AngularDamping = LimbAngularDamping; _lowerRightArm.Mass = 2f; _lowerRightArm.Rotation = -1.4f; _lowerRightArm.Position = position + new Vector2(1f, .5f); _upperRightArm = BodyFactory.CreateCapsule(world, .5f, 0.1f, ArmDensity); _upperRightArm.BodyType = BodyType.Dynamic; _upperRightArm.AngularDamping = LimbAngularDamping; _upperRightArm.Mass = 2f; _upperRightArm.Rotation = -1.4f; _upperRightArm.Position = position + new Vector2(2f, 1.8f); //Left Leg _lowerLeftLeg = BodyFactory.CreateCapsule(world, .5f, 0.1f, LegDensity); _lowerLeftLeg.BodyType = BodyType.Dynamic; _lowerLeftLeg.AngularDamping = LimbAngularDamping; _lowerLeftLeg.Mass = 2f; _lowerLeftLeg.Position = position + new Vector2(-0.3f, 4f); _upperLeftLeg = BodyFactory.CreateCapsule(world, .5f, 0.1f, LegDensity); _upperLeftLeg.BodyType = BodyType.Dynamic; _upperLeftLeg.AngularDamping = LimbAngularDamping; _upperLeftLeg.Mass = 2f; _upperLeftLeg.Position = position + new Vector2(-0.3f, 3f); //Right Leg _lowerRightLeg = BodyFactory.CreateCapsule(world, .5f, 0.1f, LegDensity); _lowerRightLeg.BodyType = BodyType.Dynamic; _lowerRightLeg.AngularDamping = LimbAngularDamping; _lowerRightLeg.Mass = 2f; _lowerRightLeg.Position = position + new Vector2(0.3f, 4f); _upperRightLeg = BodyFactory.CreateCapsule(world, .5f, 0.1f, LegDensity); _upperRightLeg.BodyType = BodyType.Dynamic; _upperRightLeg.AngularDamping = LimbAngularDamping; _upperRightLeg.Mass = 2f; _upperRightLeg.Position = position + new Vector2(0.3f, 3f);*/ }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> public void Initialize(GraphicsDevice graphicsDevice) { _graphicsDevice = graphicsDevice; _renderManager = new RenderManager(_graphicsDevice); _effectManager = new EffectManager(Content); _gameObjectManager = new GameObjectManager(_world, _renderManager, _effectManager); }