示例#1
0
 public GameObjectManager(World world, RenderManager renderMan, EffectManager effectManager)
 {
     _world = world;
     _renderManager = renderMan;
     _effectManager = effectManager;
 }
示例#2
0
        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;
        }
示例#3
0
 public Ragdoll(World world, Body head, RenderManager renderMan)
 {
     _head = head;
     CreateBody(world, _head.Position, renderMan);
     CreateJoints(world);
 }
示例#4
0
        //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);*/
        }
示例#5
0
 /// <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);
 }