mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 19:34:47 +00:00
修复主从交互bug
This commit is contained in:
parent
ca64b708ac
commit
b65b860b98
@ -806,12 +806,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
|
@ -688,6 +688,7 @@
|
||||
<Compile Include="Assets\JNGame\Math\BaseType\LFloat.Extension.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Dynamic\Io\DtVoxelFileWriter.cs" />
|
||||
<Compile Include="Assets\Scripts\AppGame\GActionEnum.cs" />
|
||||
<Compile Include="Assets\Scripts\Game\View\VDEntityBasis.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\RcObjImporterContext.cs" />
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\EntityIndex\AbstractEntityIndex.cs" />
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas.CodeGeneration.Attributes\src\EntityIndex\PrimaryEntityIndexAttribute.cs" />
|
||||
@ -703,7 +704,6 @@
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\IRcRand.cs" />
|
||||
<Compile Include="Assets\JNGame\Math\BaseType\LVector2.cs" />
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\Context.cs" />
|
||||
<Compile Include="Assets\Scripts\Game\View\VDEntityBasis.cs" />
|
||||
<None Include="Assets\TextMesh Pro\Shaders\TMPro.cginc" />
|
||||
<None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Overlay.shader" />
|
||||
<None Include="Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.xml" />
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
LocalClientConnect = 11, //客户端连接 (用于客户端通知)
|
||||
LocalClientDisconnect = 12, //客户端断开 (用于客户端通知)
|
||||
ServerClientConnect = 13, //服务器客户端连接 (用于服务端通知)
|
||||
ServerClientDisconnect = 14, //服务器客户端断开 (用于服务端通知)
|
||||
ServerClientConnect = 13, //服务器客户端连接 (用于业务服务端通知)
|
||||
ServerClientDisconnect = 14, //服务器客户端断开 (用于业务服务端通知)
|
||||
|
||||
NSyncFrameStart = 100, //帧同步开始
|
||||
NSyncFrameEnd = 101, //帧同步结束
|
||||
|
@ -26,6 +26,6 @@ namespace JNGame.Sync.State.Tile.Entity.Component
|
||||
public virtual void OnTileEnter(){}
|
||||
|
||||
public virtual void OnTileExit(){}
|
||||
|
||||
public void OnTileSlaveExit(){}
|
||||
}
|
||||
}
|
@ -125,6 +125,7 @@ namespace JNGame.Sync.State.Tile.Entity
|
||||
if (isHost && !isContains)
|
||||
{
|
||||
OnTileExit();
|
||||
if (SyncTile.IsSlave) OnTileSlaveExit();
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,5 +148,13 @@ namespace JNGame.Sync.State.Tile.Entity
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnTileSlaveExit()
|
||||
{
|
||||
//给组件生命周期
|
||||
foreach (var component in GetComponents())
|
||||
{
|
||||
(component as JNTileComponent)?.OnTileSlaveExit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -13,5 +13,10 @@
|
||||
/// </summary>
|
||||
public void OnTileExit();
|
||||
|
||||
/// <summary>
|
||||
/// 从服务器 - 退出当前区块
|
||||
/// </summary>
|
||||
public void OnTileSlaveExit();
|
||||
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using DotRecast.Core.Collections;
|
||||
using Entitas;
|
||||
using JNGame.Sync.Entity;
|
||||
using JNGame.Sync.Frame.Entity.Component.Components;
|
||||
@ -17,18 +18,20 @@ namespace JNGame.Sync.Frame.Entity
|
||||
|
||||
//方便查抄的实体Map
|
||||
public Dictionary<ulong, T> Entities = new ();
|
||||
|
||||
public JNContext(): base((new T()).NewCLookup().Count, () => new T())
|
||||
|
||||
public JNContext()
|
||||
: this((new T()).NewCLookup().Count, () => new T())
|
||||
{
|
||||
CLookup = (new T()).NewCLookup();
|
||||
}
|
||||
|
||||
public JNContext(int totalComponents, Func<T> entityFactory) : base(totalComponents, entityFactory)
|
||||
public JNContext(int totalComponents, Func<T> entityFactory) : this(totalComponents, 0, null, null, entityFactory)
|
||||
{
|
||||
}
|
||||
|
||||
public JNContext(int totalComponents, int startCreationIndex, ContextInfo contextInfo, Func<IEntity, IAERC> aercFactory, Func<T> entityFactory) : base(totalComponents, startCreationIndex, contextInfo, aercFactory, entityFactory)
|
||||
public JNContext(int totalComponents, int startCreationIndex, ContextInfo contextInfo, Func<IEntity, IAERC> aercFactory, Func<T> entityFactory)
|
||||
: base(totalComponents, startCreationIndex, contextInfo, aercFactory, entityFactory)
|
||||
{
|
||||
CLookup = (new T()).NewCLookup();
|
||||
}
|
||||
|
||||
public JNSyncService GetSync()
|
||||
@ -96,8 +99,20 @@ namespace JNGame.Sync.Frame.Entity
|
||||
BindLifeCycle(entity);
|
||||
return entity;
|
||||
}
|
||||
|
||||
//生效延迟销毁
|
||||
public void DelayDestroy()
|
||||
{
|
||||
GetEntities().ForEach(child =>
|
||||
{
|
||||
if (child.IsDelayDestroy)
|
||||
{
|
||||
child.Destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//帧同步 生命周期
|
||||
//生命周期
|
||||
public virtual void OnSyncStart(){}
|
||||
|
||||
public virtual void OnSyncUpdate(int dt)
|
||||
@ -122,6 +137,7 @@ namespace JNGame.Sync.Frame.Entity
|
||||
public abstract void InitReference(JNSyncService data);
|
||||
public void AddEntity(ulong id,JNEntity entity);
|
||||
public void RemoveEntity(ulong id);
|
||||
public void DelayDestroy();
|
||||
|
||||
}
|
||||
|
||||
|
@ -19,12 +19,18 @@ namespace JNGame.Sync.Entity
|
||||
}
|
||||
|
||||
//给所有实体推帧
|
||||
public void Simulate()
|
||||
public virtual void Simulate()
|
||||
{
|
||||
for (var i = 0; i < allContexts.Length; i++)
|
||||
{
|
||||
(allContexts[i] as IJNContext)?.OnSyncUpdate(Sync.DeltaTime);
|
||||
}
|
||||
|
||||
//延迟销毁
|
||||
for (var i = 0; i < allContexts.Length; i++)
|
||||
{
|
||||
(allContexts[i] as IJNContext)?.DelayDestroy();
|
||||
}
|
||||
}
|
||||
|
||||
public T GetContext<T>() where T : IContext
|
||||
|
@ -50,6 +50,8 @@ namespace JNGame.Sync.Entity
|
||||
/// </summary>
|
||||
public LVector3 Position => Transform.Position;
|
||||
|
||||
public bool IsDelayDestroy { get; private set; } = false;
|
||||
|
||||
public virtual void OnInit(IJNContext context,ulong id = 0)
|
||||
{
|
||||
Context = context;
|
||||
@ -127,12 +129,18 @@ namespace JNGame.Sync.Entity
|
||||
|
||||
public override void Destroy()
|
||||
{
|
||||
//清理缓存
|
||||
Context.RemoveEntity(Id);
|
||||
OnSyncDestroy();
|
||||
RemoveAllComponents();
|
||||
base.Destroy();
|
||||
}
|
||||
|
||||
public void DelayDestroy()
|
||||
{
|
||||
IsDelayDestroy = true;
|
||||
}
|
||||
|
||||
//生命周期
|
||||
public virtual void OnSyncStart(){}
|
||||
|
||||
@ -146,7 +154,11 @@ namespace JNGame.Sync.Entity
|
||||
}
|
||||
|
||||
public virtual void OnSyncDestroy()
|
||||
{}
|
||||
{
|
||||
_id = 0;
|
||||
IsDelayDestroy = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -148,7 +148,6 @@ namespace JNGame.Sync.System.Data
|
||||
if (NodeContext.Query(child.Key) is null)
|
||||
{
|
||||
Delete(child.Key);
|
||||
return;
|
||||
}
|
||||
|
||||
//主动更新
|
||||
@ -179,7 +178,7 @@ namespace JNGame.Sync.System.Data
|
||||
{
|
||||
var entity = NodeContext.Query(keyValue.Key);
|
||||
//给从服务器发送数据
|
||||
if (IsMaster && entity is not null && entity.IsSyncSlave)
|
||||
if (IsMaster && ((entity is not null && entity.IsSyncSlave) || keyValue.Value == SDByteOperate.Delete))
|
||||
{
|
||||
slave[keyValue.Key] = keyValue.Value;
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ namespace AppGame
|
||||
public static readonly JNGClientGroup Client = new JNGClientGroup();
|
||||
public static readonly JNGResService Resource = new JNGResService();
|
||||
public static readonly JNGGame Game = new JNGGame();
|
||||
public static readonly JNGSocket Socket = new JNGSocket();
|
||||
public static readonly JAPI API = new(new JAPIConfig(){BaseURL = "http://127.0.0.1:8080"});
|
||||
public static readonly GAPI GAPI = new GAPI();
|
||||
public static readonly EventDispatcher Event = new();
|
||||
@ -50,7 +49,6 @@ namespace AppGame
|
||||
Client,
|
||||
Resource,
|
||||
Game,
|
||||
// Socket,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ namespace AppGame.Sync
|
||||
protected override void OnSendInput(JNFrameInputs inputs)
|
||||
{
|
||||
//发送帧数据给服务端
|
||||
App.Socket.Send((int)NActionEnum.NSyncFrameInput,inputs);
|
||||
App.Business.Send((int)NActionEnum.NSyncFrameInput,inputs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -89,7 +89,7 @@ namespace AppGame.Sync
|
||||
if (inputs.Inputs.Count > 0)
|
||||
{
|
||||
//发送帧数据给服务端
|
||||
App.Socket.Send((int)NActionEnum.NSyncFrameInput,inputs);
|
||||
App.Business.Send((int)NActionEnum.NSyncFrameInput,inputs);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ namespace AppGame.Systems
|
||||
private void OnNSyncStateDataUpdate(byte[] data)
|
||||
{
|
||||
var info = JNStateItemData.Parser.ParseFrom(data);
|
||||
App.Game.AddState(info);
|
||||
App.Game.SyncState(info,true,false);
|
||||
}
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ namespace AppGame.Systems
|
||||
//生效全局回调
|
||||
allData.Data.Data.ForEach(child =>
|
||||
{
|
||||
App.Game.AddState(child);
|
||||
App.Game.SyncState(child,true,false);
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ using System.Threading.Tasks;
|
||||
using AppGame.Sync;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using DotRecast.Core.Collections;
|
||||
using Game.Logic.System;
|
||||
using Google.Protobuf;
|
||||
using JNGame.Network;
|
||||
using JNGame.Sync.State.Tile;
|
||||
@ -31,6 +32,7 @@ namespace AppGame.Systems.CServer
|
||||
AddListener((int)NActionEnum.NSyncTileInput,OnNSyncTileInput);
|
||||
AddListener((int)NActionEnum.NSyncTileAllUpdate,OnNSyncTileAllUpdate);
|
||||
AddListener((int)NActionEnum.NSyncTileGetTileInfo,OnNSyncTileGetTileInfo);
|
||||
AddListener((int)NActionEnum.LocalClientDisconnect,OnLocalClientDisconnect);
|
||||
|
||||
OnInit_Game();
|
||||
|
||||
@ -38,6 +40,7 @@ namespace AppGame.Systems.CServer
|
||||
await base.OnInit();
|
||||
}
|
||||
|
||||
|
||||
public override void OnClose()
|
||||
{
|
||||
isInit = false;
|
||||
@ -165,5 +168,23 @@ namespace AppGame.Systems.CServer
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 有客户端断开连接
|
||||
/// </summary>
|
||||
private void OnLocalClientDisconnect(JNServerParam args)
|
||||
{
|
||||
|
||||
if (App.Game.Server is null) return;
|
||||
//只有绑定过ID 的客户端才可以执行操作
|
||||
if (!ids.ContainsKey(args.Client)) return;
|
||||
App.Game.Server.GetSystems<DGBasisSystem>().ForEach(child =>
|
||||
{
|
||||
child.OnPlayerExitServer(ids[args.Client]);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -74,7 +74,7 @@ namespace AppGame.Systems
|
||||
private void OnNSyncStateDataUpdate(byte[] data)
|
||||
{
|
||||
var info = JNStateItemData.Parser.ParseFrom(data);
|
||||
App.Game.AddState(info);
|
||||
App.Game.SyncState(info,false,true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -91,7 +91,7 @@ namespace AppGame.Systems
|
||||
//生效全局状态
|
||||
allData.Data.Data.ForEach(child =>
|
||||
{
|
||||
App.Game.AddState(child);
|
||||
App.Game.SyncState(child,false,true);
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -112,24 +112,30 @@ namespace AppGame.Systems
|
||||
/// <summary>
|
||||
/// 接收状态数据
|
||||
/// </summary>
|
||||
public void AddState(JNStateItemData frame)
|
||||
public void SyncState(JNStateItemData frame,bool isSyncClient,bool isSyncServer)
|
||||
{
|
||||
var message = new Dictionary<ulong, byte[]>();
|
||||
foreach (var data in frame.Messages)
|
||||
{
|
||||
message.Add(data.Key,data.Value.Data.ToByteArray());
|
||||
}
|
||||
|
||||
client?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
|
||||
if (isSyncClient)
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
server?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
client?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
}
|
||||
if (isSyncServer)
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
server?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,6 +8,8 @@ namespace Game.JNGFrame.Logic.Entity
|
||||
{
|
||||
|
||||
public override IContext[] allContexts { get; } = { new EDNodeContext(),new EDPlayerContext(),new EDBossContext(), };
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -2,6 +2,8 @@
|
||||
using JNGame.Sync.Frame.Service;
|
||||
using JNGame.Sync.State.Tile;
|
||||
using JNGame.Sync.State.Tile.Entity;
|
||||
using JNGame.Sync.System.Data;
|
||||
using NotImplementedException = System.NotImplementedException;
|
||||
|
||||
namespace Game.Logic.Entity
|
||||
{
|
||||
@ -24,7 +26,17 @@ namespace Game.Logic.Entity
|
||||
}
|
||||
return LVector3.Down;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override void TileSyncData(ISTileData data)
|
||||
{
|
||||
Transform.Position = data.GetDataPosition();
|
||||
}
|
||||
|
||||
public override void OnTileSlaveExit()
|
||||
{
|
||||
base.OnTileSlaveExit();
|
||||
//从服务器 - 实体移出后立即删除
|
||||
Destroy();
|
||||
}
|
||||
}
|
||||
}
|
@ -34,6 +34,10 @@ namespace Game.JNGFrame.Logic.Entity.Controller
|
||||
|
||||
public override void OnSyncStart()
|
||||
{
|
||||
|
||||
//Player 同步到从服务器
|
||||
TileEntity.IsSyncSlave = true;
|
||||
|
||||
base.OnSyncStart();
|
||||
Move.Speed = LFloat.L10;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Game.JNGFrame.Logic.Entity.Controller;
|
||||
using Entitas;
|
||||
using Game.JNGFrame.Logic.Entity.Controller;
|
||||
using Game.Logic.Entity.Nodes;
|
||||
using Game.Logic.Entity.Nodes.Component.Components;
|
||||
using JNGame.Sync.State.Tile.Entity;
|
||||
@ -7,6 +8,7 @@ namespace Game.JNGFrame.Logic.Entity.Contexts
|
||||
{
|
||||
public sealed partial class EDPlayerContext : JNTileContext<EDPlayer>
|
||||
{
|
||||
|
||||
protected override EDPlayer BindComponent(EDPlayer entity)
|
||||
{
|
||||
base.BindComponent(entity);
|
||||
@ -14,5 +16,6 @@ namespace Game.JNGFrame.Logic.Entity.Contexts
|
||||
entity.AddComponent<EDPlayerController>();
|
||||
return entity;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -13,12 +13,6 @@ namespace Game.Logic.Entity.Nodes
|
||||
public EDMoveComponent Move => CLookup.Query<EDMoveComponent>(this);
|
||||
public EDBossController Controller => CLookup.Query<EDBossController>(this);
|
||||
|
||||
public override void TileSyncData(ISTileData data)
|
||||
{
|
||||
var nodeData = data as EDBossData;
|
||||
Transform.Position = nodeData.Value.Position.ToLVector3();
|
||||
}
|
||||
|
||||
public override JNEntityLookup NewCLookup()
|
||||
{
|
||||
return new EDBoosLookup();
|
||||
|
@ -12,13 +12,6 @@ namespace Game.Logic.Entity.Nodes
|
||||
|
||||
public EDMoveComponent Move => CLookup.Query<EDMoveComponent>(this);
|
||||
|
||||
|
||||
public override void TileSyncData(ISTileData data)
|
||||
{
|
||||
var nodeData = data as EDNodeData;
|
||||
Transform.Position = nodeData.Value.Position.ToLVector3();
|
||||
}
|
||||
|
||||
public override JNEntityLookup NewCLookup()
|
||||
{
|
||||
return new EDNodeLookup();
|
||||
|
@ -16,9 +16,9 @@ namespace Game.Logic.Entity.Nodes
|
||||
|
||||
public override void TileSyncData(ISTileData data)
|
||||
{
|
||||
base.TileSyncData(data);
|
||||
var nodeData = data as EDPlayerData;
|
||||
Controller.AuthBind(nodeData.Value.Auth.Value);
|
||||
Transform.Position = nodeData.Value.Position.ToLVector3();
|
||||
}
|
||||
|
||||
public override JNEntityLookup NewCLookup()
|
||||
|
@ -30,5 +30,11 @@ namespace Game.Logic.System
|
||||
return LVector3.Down;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [状态同步生命周期] 玩家离开服务器 不在游戏线程中执行
|
||||
/// </summary>
|
||||
public virtual void OnPlayerExitServer(int auth){}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
using DotRecast.Core.Collections;
|
||||
using Game.Input;
|
||||
using Game.JNGFrame.Logic.Entity;
|
||||
using Game.JNGFrame.Logic.Entity.Contexts;
|
||||
using Game.Logic.Entity.Nodes;
|
||||
using JNGame.Math;
|
||||
@ -40,5 +39,20 @@ namespace Game.Logic.System.Logic
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void OnPlayerExitServer(int auth)
|
||||
{
|
||||
base.OnPlayerExitServer(auth);
|
||||
|
||||
NodeContext.GetHostEntities().ForEach(child =>
|
||||
{
|
||||
if (child.Controller.Auth == auth)
|
||||
{
|
||||
child.DelayDestroy();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -14,6 +14,9 @@ namespace Game.JNGFrame.View.Entity
|
||||
public GameObject VWorld => App.Resource.VWorld;
|
||||
public GameObject Player => App.Resource.Player;
|
||||
public CinemachineFreeLook FreeLook => App.Resource.FreeLook;
|
||||
|
||||
//本地玩家 视图
|
||||
private GameObject LocalView;
|
||||
|
||||
public VDPlayers(SViewSystem root) : base(root)
|
||||
{
|
||||
@ -67,9 +70,20 @@ namespace Game.JNGFrame.View.Entity
|
||||
|
||||
public override GameObject NewView(EDPlayerData data)
|
||||
{
|
||||
var gameObject = Object.Instantiate(Player, VWorld.transform);
|
||||
gameObject.name = $"Player_{data.Id}";
|
||||
return gameObject;
|
||||
GameObject view;
|
||||
//如果这个角色是自己 则 直接拿自己的 View
|
||||
if (App.IsClient() && data.Value.Auth == App.ClientID)
|
||||
{
|
||||
if (LocalView is null) LocalView = Object.Instantiate(Player, VWorld.transform);
|
||||
view = LocalView;
|
||||
}
|
||||
else
|
||||
{
|
||||
view = Object.Instantiate(Player, VWorld.transform);
|
||||
}
|
||||
|
||||
view.name = $"Player_{data.Id}";
|
||||
return view;
|
||||
}
|
||||
|
||||
public override EDPlayerData[] GetData()
|
||||
@ -80,7 +94,10 @@ namespace Game.JNGFrame.View.Entity
|
||||
public override void ViewRemove(GameObject view)
|
||||
{
|
||||
view.transform.DOKill();
|
||||
Object.Destroy(view);
|
||||
if (LocalView != view)
|
||||
{
|
||||
Object.Destroy(view);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1979,8 +1979,8 @@
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SecureProtocol\util\encoders\UrlBase64.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SocketIO.3\Events\TypedEventTable.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SecureProtocol\asn1\x509\Target.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SocketIO.3\Transports\WebSocketTransport.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\Extensions\Timer.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SocketIO.3\Transports\WebSocketTransport.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SecureProtocol\crypto\signers\Iso9796d2PssSigner.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SecureProtocol\crypto\generators\KDFDoublePipelineIterationBytesGenerator.cs" />
|
||||
<Compile Include="Assets\Plugins\Best HTTP\Source\SecureProtocol\security\JksStore.cs" />
|
||||
@ -2809,12 +2809,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
|
@ -1,3 +0,0 @@
|
||||
Base path: 'C:/APP/UnityEdit/2021.3.33f1c1/Editor/Data', plugins path 'C:/APP/UnityEdit/2021.3.33f1c1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
@ -839,12 +839,12 @@
|
||||
<Reference Include="System.Xml.XPath.XDocument">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TestRunner">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -916,12 +916,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="StompyRobot.SRF.csproj">
|
||||
|
@ -830,12 +830,12 @@
|
||||
<Reference Include="System.Xml.XPath.XDocument">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TestRunner">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -861,12 +861,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
|
@ -806,12 +806,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="UniTask.csproj">
|
||||
|
@ -806,12 +806,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="UniTask.csproj">
|
||||
|
@ -826,12 +826,12 @@
|
||||
<Reference Include="System.Xml.XPath.XDocument">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TestRunner">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -878,12 +878,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="UniTask.csproj">
|
||||
|
@ -810,12 +810,12 @@
|
||||
<Reference Include="Unity.TextMeshPro">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="UniTask.csproj">
|
||||
|
@ -878,12 +878,12 @@
|
||||
<Reference Include="System.Xml.Serialization">
|
||||
<HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEditor.UI">
|
||||
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
|
@ -119,7 +119,7 @@ MonoBehaviour:
|
||||
m_MinSize: {x: 400, y: 200}
|
||||
m_MaxSize: {x: 32384, y: 16192}
|
||||
vertical: 0
|
||||
controlID: 22
|
||||
controlID: 82
|
||||
--- !u!114 &6
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
@ -144,7 +144,7 @@ MonoBehaviour:
|
||||
m_MinSize: {x: 300, y: 200}
|
||||
m_MaxSize: {x: 24288, y: 16192}
|
||||
vertical: 1
|
||||
controlID: 23
|
||||
controlID: 83
|
||||
--- !u!114 &7
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
@ -170,7 +170,7 @@ MonoBehaviour:
|
||||
m_MinSize: {x: 300, y: 100}
|
||||
m_MaxSize: {x: 24288, y: 8096}
|
||||
vertical: 0
|
||||
controlID: 24
|
||||
controlID: 28
|
||||
--- !u!114 &8
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
@ -243,8 +243,8 @@ MonoBehaviour:
|
||||
y: 0
|
||||
width: 609
|
||||
height: 528
|
||||
m_MinSize: {x: 102, y: 121}
|
||||
m_MaxSize: {x: 4002, y: 4021}
|
||||
m_MinSize: {x: 100, y: 100}
|
||||
m_MaxSize: {x: 4000, y: 4000}
|
||||
m_ActualView: {fileID: 20}
|
||||
m_Panes:
|
||||
- {fileID: 20}
|
||||
@ -394,23 +394,23 @@ MonoBehaviour:
|
||||
m_SceneHierarchy:
|
||||
m_TreeViewState:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: d2e4ffff28e5ffffe6e7ffffeae7ffff14eaffff6aeaffff28edffff2cedffffa8f6fffffef6ffffbcf9ffffc0f9ffff1afbffff
|
||||
m_SelectedIDs: 169d0000
|
||||
m_LastClickedID: 40214
|
||||
m_ExpandedIDs: f2beffff0ecaffff64caffff22cdffff26cdffff94e1ffff80e5ffff26f6ffff7cf6ffff3af9ffff3ef9ffff1afbffff12910000ee9c0000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
m_OriginalName:
|
||||
m_Name: World
|
||||
m_OriginalName: World
|
||||
m_EditFieldRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 0
|
||||
height: 0
|
||||
m_UserData: 0
|
||||
m_UserData: 40174
|
||||
m_IsWaitingForDelay: 0
|
||||
m_IsRenaming: 0
|
||||
m_OriginalEventType: 11
|
||||
m_OriginalEventType: 0
|
||||
m_IsRenamingFilename: 0
|
||||
m_ClientGUIView: {fileID: 8}
|
||||
m_SearchString:
|
||||
@ -734,9 +734,9 @@ MonoBehaviour:
|
||||
m_PlayAudio: 0
|
||||
m_AudioPlay: 0
|
||||
m_Position:
|
||||
m_Target: {x: 66.17166, y: 74.382965, z: -68.47802}
|
||||
m_Target: {x: 104.11677, y: 87.14451, z: -68.7427}
|
||||
speed: 2
|
||||
m_Value: {x: 66.17166, y: 74.382965, z: -68.47802}
|
||||
m_Value: {x: 104.11677, y: 87.14451, z: -68.7427}
|
||||
m_RenderMode: 0
|
||||
m_CameraMode:
|
||||
drawMode: 0
|
||||
@ -783,13 +783,13 @@ MonoBehaviour:
|
||||
m_GridAxis: 1
|
||||
m_gridOpacity: 0.5
|
||||
m_Rotation:
|
||||
m_Target: {x: -0.2639696, y: -0.106222175, z: 0.029262349, w: -0.95822775}
|
||||
m_Target: {x: -0.35256705, y: -0.0022476835, z: 0.000847305, w: -0.9357961}
|
||||
speed: 2
|
||||
m_Value: {x: -0.26396698, y: -0.106221125, z: 0.02926206, w: -0.9582183}
|
||||
m_Value: {x: -0.35256287, y: -0.002247657, z: 0.000847295, w: -0.93578506}
|
||||
m_Size:
|
||||
m_Target: 2.598076
|
||||
m_Target: 0.8660254
|
||||
speed: 2
|
||||
m_Value: 2.598076
|
||||
m_Value: 0.8660254
|
||||
m_Ortho:
|
||||
m_Target: 0
|
||||
speed: 2
|
||||
@ -897,9 +897,9 @@ MonoBehaviour:
|
||||
m_IsLocked: 0
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs: 26e80000
|
||||
m_LastClickedID: 59430
|
||||
m_ExpandedIDs: 000000000a740000
|
||||
m_SelectedIDs: 8e740000
|
||||
m_LastClickedID: 29838
|
||||
m_ExpandedIDs: 000000002274000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -927,7 +927,7 @@ MonoBehaviour:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000000a740000
|
||||
m_ExpandedIDs: 0000000022740000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -952,9 +952,9 @@ MonoBehaviour:
|
||||
m_Icon: {fileID: 0}
|
||||
m_ResourceFile:
|
||||
m_ListAreaState:
|
||||
m_SelectedInstanceIDs: f62f0100
|
||||
m_LastClickedInstanceID: 77814
|
||||
m_HadKeyboardFocusLastEvent: 0
|
||||
m_SelectedInstanceIDs: ce2e0000
|
||||
m_LastClickedInstanceID: 11982
|
||||
m_HadKeyboardFocusLastEvent: 1
|
||||
m_ExpandedInstanceIDs: c623000000000000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user