This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-29 19:07:52 +08:00
parent 01293d9c30
commit 09db51f67b
62 changed files with 17325 additions and 1910 deletions

View File

@@ -0,0 +1,17 @@
using UnityEngine;
namespace Plugins.JNGame.Sync.Frame.game
{
public abstract class IJNSyncFrameComponent : MonoBehaviour
{
//标识
[HideInInspector]
public int _nId;
[HideInInspector]
public int NID => _nId;
//获取同步类
protected abstract JNSyncFrame GetSync();
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fdc20d5f68c44f11ba0f08c304cb5fae
timeCreated: 1706518761

View File

@@ -7,12 +7,8 @@ namespace Plugins.JNGame.Sync.Frame.game
{
//所有帧同步组件的基类
public abstract class JNSyncFrameComponent<T> : MonoBehaviour
public abstract class JNSyncFrameComponent<T> : IJNSyncFrameComponent
{
//标识
private int _nId;
public int NID => _nId;
//当前输入
private T _input;
@@ -21,31 +17,28 @@ namespace Plugins.JNGame.Sync.Frame.game
public Boolean isInput => this._input == null;
//是否初始化完成
[HideInInspector]
public Boolean isSyncInitSuccess = false;
//清空输入
public void ClearInput(){
this._input = default(T);
}
private void Awake()
{
//向帧同步获取Id
this._nId = GetSync().nSyncID();
this._nId = this.GetSync().nSyncID();
GetSync().AddSyncActor(this);
this.OnSyncLoad();
}
//初始化完成
public void OnSyncInitSuccess(){}
//获取同步类
protected abstract JNSyncFrame GetSync();
//加载
public abstract void OnSyncLoad();
//解析
public T Decoder(byte[] bytes)
{
@@ -57,7 +50,6 @@ namespace Plugins.JNGame.Sync.Frame.game
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(input));
}
//帧同步
public abstract void OnSyncUpdate(int dt,JNFrameInfo frame,T input);