mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 10:46:17 +00:00
提交
This commit is contained in:
@@ -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();
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fdc20d5f68c44f11ba0f08c304cb5fae
|
||||
timeCreated: 1706518761
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user