/// <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); }
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(); }
/// <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)); } }