Пример #1
0
        /// <summary>
        /// Creates a new pea
        /// </summary>
        /// <param name="fx">Physics world</param>
        /// <param name="game">Game to bind to</param>
        /// <param name="controller">Controller</param>
        public DataPea(Game game, World fx, PeaController controller)
            : base(game)
        {
            // Put on floor
            Revive();

            // Create physics
            _fxPea = BodyFactory.CreateCircle(fx, ConvertUnits.ToSimUnits(16), 1f,
                ConvertUnits.ToSimUnits(this.Position) + Vector2.UnitX * ConvertUnits.ToSimUnits(18) + Vector2.UnitY * ConvertUnits.ToSimUnits(18), this);
            
            _fxPea.BodyType = BodyType.Dynamic;
            _fxPea.Mass = 1f;
            _fxPea.Restitution = 0.7f;
            _fxPea.Friction = 0.5f;
            _fxPea.LinearDamping = 0.2f;
            _fxPea.OnCollision += new OnCollisionEventHandler(_fxPea_OnCollision);
            _fxPea.OnSeparation += new OnSeparationEventHandler(_fxPea_OnSeparation);
            //_fxPea.CollisionCategories = Category.Cat2;
            //_fxPea.CollidesWith = Category.All;
            Jump(null);
           
            _collisions = new HashSet<Fixture>();
            _controller = controller;
            _controller.Register(this);

            ChangeMood(Mood.Happy);
        }