Merge branch 'master' of http://git.axibug.com/sin365/AxibugEmuOnline
This commit is contained in:
commit
c6d3ac4aea
@ -11,7 +11,7 @@ namespace AxiReplay
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 服务器远端当前帧
|
/// 服务器远端当前帧
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int mRemoteFrameIdx { get; private set; } = int.MinValue;
|
public int mRemoteFrameIdx { get; private set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Remote 2 Client Frame Gap
|
/// Remote 2 Client Frame Gap
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -40,6 +40,7 @@ namespace AxiReplay
|
|||||||
mCurrReplay.FrameStartID = int.MinValue;
|
mCurrReplay.FrameStartID = int.MinValue;
|
||||||
mNextReplay = default(ReplayStep);
|
mNextReplay = default(ReplayStep);
|
||||||
mNextReplay.FrameStartID = 0;
|
mNextReplay.FrameStartID = 0;
|
||||||
|
mRemoteFrameIdx = 0;
|
||||||
}
|
}
|
||||||
public void InData(ReplayStep inputData, int ServerFrameIdx)
|
public void InData(ReplayStep inputData, int ServerFrameIdx)
|
||||||
{
|
{
|
||||||
@ -51,10 +52,22 @@ namespace AxiReplay
|
|||||||
TakeFrame(1, out data, out frameDiff, out inputDiff);
|
TakeFrame(1, out data, out frameDiff, out inputDiff);
|
||||||
return frameDiff > 0;
|
return frameDiff > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool TryGetNextFrame(int targetFrame, out ReplayStep data, out int frameDiff, out bool inputDiff)
|
||||||
|
{
|
||||||
|
TakeFrameToTargetFrame(targetFrame, out data, out frameDiff, out inputDiff);
|
||||||
|
return frameDiff > 0;
|
||||||
|
}
|
||||||
|
|
||||||
void TakeFrame(int addFrame, out ReplayStep data, out int bFrameDiff, out bool inputDiff)
|
void TakeFrame(int addFrame, out ReplayStep data, out int bFrameDiff, out bool inputDiff)
|
||||||
{
|
{
|
||||||
inputDiff = false;
|
|
||||||
int targetFrame = mCurrClientFrameIdx + addFrame;
|
int targetFrame = mCurrClientFrameIdx + addFrame;
|
||||||
|
TakeFrameToTargetFrame(targetFrame, out data, out bFrameDiff, out inputDiff);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TakeFrameToTargetFrame(int targetFrame, out ReplayStep data, out int bFrameDiff, out bool inputDiff)
|
||||||
|
{
|
||||||
|
inputDiff = false;
|
||||||
if (targetFrame <= mNextReplay.FrameStartID + 1 && targetFrame <= mRemoteFrameIdx && mNetReplayQueue.Count > 0)
|
if (targetFrame <= mNextReplay.FrameStartID + 1 && targetFrame <= mRemoteFrameIdx && mNetReplayQueue.Count > 0)
|
||||||
{
|
{
|
||||||
//当前帧追加
|
//当前帧追加
|
||||||
|
Loading…
Reference in New Issue
Block a user