/// <summary> /// コンストラクタ /// </summary> public MoveReportSender() { PrevPosition .Skip(1) .ThrottleFirst(TimeSpan.FromSeconds(3.0)) .Subscribe((Pos) => { var Packet = new PacketPlayerMove(Pos.ToVec3()); NetworkCore.Instance.SendReport(Packet); }); }
/// <summary> /// Update /// </summary> public override void OnUpdate() { ElapsedTime += Time.deltaTime; if (ElapsedTime >= Interval) { ElapsedTime -= Interval; if (!OwnerTransform.position.Equals(PrevPosition)) { PrevPosition = OwnerTransform.position; PacketPlayerMove Packet = new PacketPlayerMove(new PositionPack(PrevPosition.x, PrevPosition.y, PrevPosition.z, OwnerTransform.eulerAngles.y)); GameServerConnection.Instance.SendPacket(Packet); } } }