Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="part"></param>
 public void UpdateGameObjectPart(GameObjectPart part)
 {
     Id = part.Id;
     SetPhysicsPosition(part.PositionX, part.PositionY);
     SetWidth(part.Width);
     SetHeight(part.Height);
 }
Exemplo n.º 2
0
        public void Execute()
        {
            foreach (Shape shape in _shapes)
            {
                _createdFixtures.Add(_body.CreateFixture(shape));
            }

            _objectPart = CommonHelpers.FindGameObjectPart(_gameObject, _body);
            _objectPart.Sprites.Add(_sprite);

            _gameObject.World.ProcessChanges();
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reader"></param>
        public virtual void FromNetwork(BinaryReader reader)
        {
            var gameObjPart = new GameObjectPart();

            gameObjPart.FromNetwork(reader);
            UpdateGameObjectPart(gameObjPart);

            var physicPart = new PhysicObjectPart();

            physicPart.FromNetwork(reader);
            UpdatePhysicPart(physicPart);
        }
 public void Execute()
 {
     foreach (GameObjectPart part in _objectToAdd)
     {
         if (part.Sprites[0].Texture == null)
             throw new NullReferenceException("Texture cannot be null.");
         GameObjectPart tempPart = part.DeepClone(_goalObject.World, _position);
         _addedObjects.Add(tempPart);
         _goalObject.AddPart(tempPart);
     }
     _goalObject.World.ProcessChanges();
 }
        private void DrawObjectPart(GameObjectPart objectPart, Color color)
        {
            List <Fixture> fixtureList = objectPart.Body.FixtureList;
            Transform      xf;

            objectPart.Body.GetTransform(out xf);
            if (DrawAssociatedJoints)
            {
                JointEdge iterator = objectPart.Body.JointList;
                while (iterator != null)
                {
                    DrawJoint(iterator.Joint, Color.Multiply(Color.Blue, 0.5f));
                    iterator = iterator.Next;
                }
            }
            foreach (Fixture fix in fixtureList)
            {
                DrawShape(fix, xf, Color.Multiply(color, 0.5f));
            }
        }