public static void Assign(this Entity entity, UpdatePositionMsg msg) { EntityHelper.SetEntityId(entity, msg.Id); entity.Get<Pos>().X = msg.X; entity.Get<Pos>().Y = msg.Y; entity.Get<Motion>().Dir = msg.Dir; entity.Get<Motion>().Dir = msg.Speed; }
internal bool SetPos(Entity admin, [CommandArgument("새로운 X 위치", 0)] double newX, [CommandArgument("새로운 Y 위치", 0)] double newY) { if (!admin.Has<Pos>()) return false; var msg = new UpdatePositionMsg {X = newX, Y = newY, InstanceMove = true}; admin.Assign(msg); PositionSystem.Global.Move(admin); return true; }
public static UpdatePositionMsg ToUpdatePositionMsg(this Entity entity) { var msg = new UpdatePositionMsg(); Assign(msg, entity); return msg; }