public static void Assign(this Entity entity, MoveMsg 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>().Speed = msg.Speed; }
internal void OnMove(Entity entity, MessageSession session, MoveMsg msg) { entity.Assign(msg); entity.Get<Motion>().StartTime = DateTime.Now; PositionSystem.Global.Move(entity); entity.Broadcast<UpdatePositionMsg>(entity.Id); }
public static MoveMsg ToMoveMsg(this Entity entity) { var msg = new MoveMsg(); Assign(msg, entity); return msg; }