public static void ServerInitialize(MemberPhysicalObject obj, PhysicalObject parent, Vector2 positionRelativeToParent, float directionRelativeToParent) { obj.positionRelativeToParent.Value = positionRelativeToParent; obj.directionRelativeToParent.Value = directionRelativeToParent; obj.parent.Value = parent; parent.Add(obj); }
public override float WorldDirection() { PhysicalObject parentObj = (PhysicalObject)this.Parent; if (parentObj != null) { return(this.DirectionRelativeToParent + parentObj.WorldDirection()); } else { return(0); } }
public override Vector2 WorldPosition() { if (this.Parent == null) { return(new Vector2(0)); } else { PhysicalObject parentObj = (PhysicalObject)this.Parent; if (parentObj != null) { return(Vector2Utils.RotateVector2(this.PositionRelativeToParent, parentObj.WorldDirection()) + parentObj.WorldPosition()); } else { return(new Vector2(float.NaN)); } } }
public static void ServerInitialize(Gun obj, PhysicalObject parent, Vector2 position, float direction) { MemberPhysicalObject.ServerInitialize(obj, parent, position, direction); }
public static void ServerInitialize(Turret obj, PhysicalObject parent, Vector2 position, float direction, float range, ControlState controller) { MemberPhysicalObject.ServerInitialize(obj, parent, position, direction); obj.Range = range; obj.controller = controller; Gun gun = new Gun(obj.Game); Gun.ServerInitialize(gun, obj, new Vector2(37, 0), 0); obj.Game.GameObjectCollection.Add(gun); }