优化属性更新逻辑

This commit is contained in:
DESKTOP-5RP3AKU\Jisol 2024-09-22 03:27:16 +08:00
parent c59ebd6280
commit 81fee86ba7
54 changed files with 271 additions and 97 deletions

View File

@ -806,12 +806,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
</ItemGroup> </ItemGroup>

View File

@ -159,7 +159,7 @@
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\Collections\RcStackArray8.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\Collections\RcStackArray8.cs" />
<Compile Include="Assets\JNGame\Map\2DPathFinding\NavMesh\PathFinder\Funnel.cs" /> <Compile Include="Assets\JNGame\Map\2DPathFinding\NavMesh\PathFinder\Funnel.cs" />
<Compile Include="Assets\Scripts\Game\Logic\Entity\Nodes\Contexts\EDNodeContext.cs" /> <Compile Include="Assets\Scripts\Game\Logic\Entity\Nodes\Contexts\EDNodeContext.cs" />
<Compile Include="Assets\Scripts\Game\Data\NetDataEnum.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\NetDataEnum.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast.Toolset\Gizmos\RcCapsuleGizmo.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast.Toolset\Gizmos\RcCapsuleGizmo.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Crowd\DtCrowdAgentParams.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Crowd\DtCrowdAgentParams.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast.Toolset\Tools\RcCrowdAgentData.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast.Toolset\Tools\RcCrowdAgentData.cs" />
@ -181,7 +181,7 @@
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Entity\Exceptions\EntityDoesNotHaveComponentException.cs" /> <Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Entity\Exceptions\EntityDoesNotHaveComponentException.cs" />
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\ContextExtension.cs" /> <Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\ContextExtension.cs" />
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\SimpleElevator.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\SimpleElevator.cs" />
<Compile Include="Assets\Scripts\Game\Data\GDataBaseSystem.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\GDataBaseSystem.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\Buffers\RcCyclicBuffer.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\Buffers\RcCyclicBuffer.cs" />
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\FadeOutNearbyObjects\CinemachineFadeOutNearbyObjects.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\FadeOutNearbyObjects\CinemachineFadeOutNearbyObjects.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcHeightfieldLayerSet.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcHeightfieldLayerSet.cs" />
@ -332,7 +332,7 @@
<Compile Include="Assets\JNGame\Math\BaseType\LQuaternion.cs" /> <Compile Include="Assets\JNGame\Math\BaseType\LQuaternion.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Extras\Unity\Astar\ZipBinaryReader.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Extras\Unity\Astar\ZipBinaryReader.cs" />
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas.CodeGeneration.Attributes\src\PostConstructorAttribute.cs" /> <Compile Include="Assets\JNGame\Plugins\Entitas\Entitas.CodeGeneration.Attributes\src\PostConstructorAttribute.cs" />
<Compile Include="Assets\Scripts\Game\Data\DStateBasisData.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\DStateBasisData.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtNavMesh.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtNavMesh.cs" />
<Compile Include="Assets\JNGame\Map\2DPathFinding\NavMesh\NavMesh\TriangleEdge.cs" /> <Compile Include="Assets\JNGame\Map\2DPathFinding\NavMesh\NavMesh\TriangleEdge.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcContours.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcContours.cs" />
@ -376,7 +376,7 @@
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcConstants.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcConstants.cs" />
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas.Unity\src\EntityLink.cs" /> <Compile Include="Assets\JNGame\Plugins\Entitas\Entitas.Unity\src\EntityLink.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtQueryData.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtQueryData.cs" />
<Compile Include="Assets\Scripts\Game\Data\EDPlayerDataSystem.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\EDPlayerDataSystem.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Extras\Jumplink\JumpSegment.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Extras\Jumplink\JumpSegment.cs" />
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\Anywhere Door\TagChanger.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\Anywhere Door\TagChanger.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcCommons.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcCommons.cs" />
@ -430,7 +430,7 @@
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Models\UnityCharacter\Scripts\CharacterMovement2D.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Models\UnityCharacter\Scripts\CharacterMovement2D.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\RcResources.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\RcResources.cs" />
<Compile Include="Assets\JNGame\Map\2DPathFinding\BSP\BspTreeNode.cs" /> <Compile Include="Assets\JNGame\Map\2DPathFinding\BSP\BspTreeNode.cs" />
<Compile Include="Assets\Scripts\Game\Data\EDNodeDataSystem.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\EDNodeDataSystem.cs" />
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\InvokeEventFromInspector.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\InvokeEventFromInspector.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtOffMeshConnection.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour\DtOffMeshConnection.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.TileCache\Io\DtTileCacheSetHeader.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.TileCache\Io\DtTileCacheSetHeader.cs" />
@ -582,7 +582,7 @@
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Crowd\DtObstacleSegment.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Crowd\DtObstacleSegment.cs" />
<Compile Include="Assets\JNGame\Sync\App\Tile\IJNTileCycle.cs" /> <Compile Include="Assets\JNGame\Sync\App\Tile\IJNTileCycle.cs" />
<Compile Include="Assets\JNGame\Sync\App\State\JNSStateClientService.cs" /> <Compile Include="Assets\JNGame\Sync\App\State\JNSStateClientService.cs" />
<Compile Include="Assets\Scripts\Game\Data\EDBossDataSystem.cs" /> <Compile Include="Assets\Scripts\Game\Data\State\EDBossDataSystem.cs" />
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\InputSystemHelper.cs" /> <Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\InputSystemHelper.cs" />
<Compile Include="Assets\Scripts\TextMain.cs" /> <Compile Include="Assets\Scripts\TextMain.cs" />
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\RcByteUtils.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\RcByteUtils.cs" />
@ -703,6 +703,7 @@
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\IRcRand.cs" /> <Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\IRcRand.cs" />
<Compile Include="Assets\JNGame\Math\BaseType\LVector2.cs" /> <Compile Include="Assets\JNGame\Math\BaseType\LVector2.cs" />
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\Context.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\TMPro.cginc" />
<None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Overlay.shader" /> <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" /> <None Include="Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.xml" />

View File

@ -1,4 +1,5 @@
using JNGame.Sync.Entity; using JNGame.Sync.Entity;
using JNGame.Sync.Frame.Entity;
using JNGame.Sync.Frame.Entity.Components; using JNGame.Sync.Frame.Entity.Components;
using JNGame.Sync.State.Tile.Entity.Component; using JNGame.Sync.State.Tile.Entity.Component;
using JNGame.Sync.System.Data; using JNGame.Sync.System.Data;
@ -86,8 +87,27 @@ namespace JNGame.Sync.State.Tile.Entity
public abstract void TileSyncData(ISTileData data); public abstract void TileSyncData(ISTileData data);
public override void OnInit(IJNContext context, ulong id = 0)
{
base.OnInit(context, id);
//如果不是Tile系统则直接拥有权限
if (Context.GetSync() is not JNSSTileServerService)
{
IsHost = true;
IsSelfCreate = true;
}
}
public virtual void HostUpdate() public virtual void HostUpdate()
{ {
//如果不是Tile系统则直接返回
if (Context.GetSync() is not JNSSTileServerService)
{
return;
}
bool isContains = SyncTile.IsContains(Position); bool isContains = SyncTile.IsContains(Position);
bool isHost = IsHost; bool isHost = IsHost;

View File

@ -50,7 +50,7 @@ namespace JNGame.Sync.Entity
/// </summary> /// </summary>
public LVector3 Position => Transform.Position; public LVector3 Position => Transform.Position;
public void OnInit(IJNContext context,ulong id = 0) public virtual void OnInit(IJNContext context,ulong id = 0)
{ {
Context = context; Context = context;
_id = id; _id = id;

View File

@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Concurrent;
using System.Collections.Generic;
using DotRecast.Core.Collections; using DotRecast.Core.Collections;
using UnityEngine; using UnityEngine;
using NotImplementedException = System.NotImplementedException; using NotImplementedException = System.NotImplementedException;
@ -6,6 +7,16 @@ using NotImplementedException = System.NotImplementedException;
namespace JNGame.Sync.System.Data namespace JNGame.Sync.System.Data
{ {
public static class SDByteOperate
{
public static readonly byte[] Delete = { 0 }; //删除
public static bool IsDelete(byte[] value)
{
return value.Length == 1 && value[0] == Delete[0];
}
}
public enum SStateDataEnum public enum SStateDataEnum
{ {
Server, Server,
@ -57,7 +68,7 @@ namespace JNGame.Sync.System.Data
/// <summary> /// <summary>
/// 状态同步的数据系统 (支持网络数据) /// 状态同步的数据系统 (支持网络数据)
/// 注意:帧同步也可以使用不过不建议 因为会有额外开销 除非你的游戏 经常在帧同步或者状态同步之间切换 /// 注意:帧同步也可以使用不过不建议 因为会有额外开销 除非你的游戏 经常在帧同步或者状态同步之间切换 如果你要在帧同步系统中使用 则使用 ServerClient类型
/// </summary> /// </summary>
public abstract class SStateDataSystem<T> : SDataSystem<T>,ISStateDataSystem where T : ISStateData,new() public abstract class SStateDataSystem<T> : SDataSystem<T>,ISStateDataSystem where T : ISStateData,new()
{ {
@ -80,9 +91,9 @@ namespace JNGame.Sync.System.Data
Type = type; Type = type;
} }
public override void OnSyncUpdate(int dt) public override void OnSyncUpdate(int dt)
{ {
while (WaitUBytes.Count > 0) while (WaitUBytes.Count > 0)
{ {
OnUByteUpdate(WaitUBytes.Dequeue()); OnUByteUpdate(WaitUBytes.Dequeue());
@ -241,7 +252,7 @@ namespace JNGame.Sync.System.Data
/// </summary> /// </summary>
public virtual void Delete(ulong id) public virtual void Delete(ulong id)
{ {
UBytes[id] = SDByteOperate.DELETE; UBytes[id] = SDByteOperate.Delete;
} }
} }

View File

@ -77,7 +77,6 @@ namespace JNGame.Sync.System.Data
public bool IsMaster => TileSync is not null && TileSync.IsMaster; public bool IsMaster => TileSync is not null && TileSync.IsMaster;
public bool IsSlave => TileSync is not null && TileSync.IsSlave; public bool IsSlave => TileSync is not null && TileSync.IsSlave;
protected STileDataSystem(SStateDataEnum type) : base(type) protected STileDataSystem(SStateDataEnum type) : base(type)
{ {
} }
@ -113,6 +112,14 @@ namespace JNGame.Sync.System.Data
public override void OnSyncUpdate(int dt) public override void OnSyncUpdate(int dt)
{ {
//如果不是Tile系统直接调用base
if (Sync is not JNSSTileServerService)
{
base.OnSyncUpdate(dt);
return;
}
while (WaitUBytes.Count > 0) while (WaitUBytes.Count > 0)
{ {
OnUByteUpdate(WaitUBytes.Dequeue()); OnUByteUpdate(WaitUBytes.Dequeue());

View File

@ -1,23 +1,11 @@
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using DotRecast.Core.Collections;
using JNGame.Sync.Frame.Service; using JNGame.Sync.Frame.Service;
using NotImplementedException = System.NotImplementedException; using NotImplementedException = System.NotImplementedException;
namespace JNGame.Sync.System namespace JNGame.Sync.System
{ {
public class SDByteOperate
{
public static readonly byte[] DELETE = { 0 }; //删除
public static bool IsDelete(byte[] value)
{
return value.Length == 1 && value[0] == DELETE[0];
}
}
/// <summary> /// <summary>
/// 数据接口 /// 数据接口
/// </summary> /// </summary>
@ -76,7 +64,7 @@ namespace JNGame.Sync.System
} }
/// <summary> /// <summary>
/// 返回最新数据 (收集最新的ISData数据 正常来讲只有服务端会运行) /// 返回最新数据 (收集最新的ISData数据)
/// </summary> /// </summary>
public virtual ConcurrentDictionary<ulong, T> GetLatest() public virtual ConcurrentDictionary<ulong, T> GetLatest()
{ {

View File

@ -17,7 +17,7 @@ namespace JNGame.Sync.View
public abstract class ViewData<T> : IViewData where T : ISData public abstract class ViewData<T> : IViewData where T : ISData
{ {
private Dictionary<ulong, ViewGameObject> views = new(); protected Dictionary<ulong, ViewGameObject> views = new();
private SViewSystem root; private SViewSystem root;
public SViewSystem Root => root; public SViewSystem Root => root;

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using JNGame.Util;
using UnityEngine; using UnityEngine;
namespace Plugins.JNGame.Util namespace Plugins.JNGame.Util
@ -108,6 +109,30 @@ namespace Plugins.JNGame.Util
} }
} }
/// <summary>
/// 主线程分发事件 [禁止帧同步中使用主线分发事件]
/// </summary>
public void TryMainDispatch<T>(string eventId, T args)
{
UnityMainThreadDispatcher.Instance.Enqueue(() =>
{
try
{
Dispatch<T>(eventId,args);
}catch(Exception e){Debug.LogError(e.Message);}
});
}
public void TryMainDispatch(string eventId)
{
UnityMainThreadDispatcher.Instance.Enqueue(() =>
{
try
{
Dispatch(eventId);
}catch(Exception e){Debug.LogError(e.Message);}
});
}
public void Reset() public void Reset()
{ {
EventHandlers = new(); EventHandlers = new();

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: cecc61f462364f198db69cf70c6c557d
timeCreated: 1726941153

View File

@ -10,6 +10,10 @@ using JNGame.Sync.System.Data;
namespace Game.JNGState.Logic.Data namespace Game.JNGState.Logic.Data
{ {
public enum EDPlayerValueCode : int
{
Auth = 201
}
[Serializable] [Serializable]
public class EDPlayerValue : GDataValue public class EDPlayerValue : GDataValue
@ -46,7 +50,11 @@ namespace Game.JNGState.Logic.Data
public override void UData(EDPlayerValue data) public override void UData(EDPlayerValue data)
{ {
base.UData(data); base.UData(data);
if (data.Auth is not null) Value.Auth = data.Auth; if (data.Auth is not null)
{
Value.Auth = data.Auth;
WriteUpdate((int)EDPlayerValueCode.Auth);
}
} }
} }

View File

@ -9,17 +9,41 @@ using JNGame.Sync.System;
using JNGame.Sync.System.Data; using JNGame.Sync.System.Data;
using Plugins.JNGame.Network.Action; using Plugins.JNGame.Network.Action;
using Plugins.JNGame.Util; using Plugins.JNGame.Util;
using TouchSocket.Core;
namespace Game.JNGState.Logic.Data namespace Game.JNGState.Logic.Data
{ {
public enum GDataValueCode : int
{
Position = 101
}
[Serializable] [Serializable]
public class GDataValue public class GDataValue
{ {
public DValuePosition Position = null; public DValuePosition Position = null;
} }
public class GDataBase<Self,T,N> : ISTileData where Self : GDataBase<Self,T,N> where T : GDataValue,new() where N : JNTileEntity public abstract class IGDataBase : ISTileData
{
//计入修改
public readonly ConcurrentList<int> WriteCodes = new();
/// <summary>
/// 计入修改
/// </summary>
/// <param name="code"></param>
public void WriteUpdate(int code)
{
if (WriteCodes.Contains(code)) return;
WriteCodes.Add(code);
}
}
public class GDataBase<Self,T,N> : IGDataBase where Self : GDataBase<Self,T,N> where T : GDataValue,new() where N : JNTileEntity
{ {
public readonly T Value = new (); public readonly T Value = new ();
@ -93,7 +117,11 @@ namespace Game.JNGState.Logic.Data
/// </summary> /// </summary>
public virtual void UData(T data) public virtual void UData(T data)
{ {
if (data.Position is not null) Value.Position = data.Position; if (data.Position is not null)
{
Value.Position = data.Position;
WriteUpdate((int)GDataValueCode.Position);
}
} }
public override LVector3 GetDataPosition() public override LVector3 GetDataPosition()

View File

@ -12,29 +12,30 @@ using UnityEngine;
namespace Game.JNGFrame.View.Entity namespace Game.JNGFrame.View.Entity
{ {
public class VDBoss : ViewData<EDBossData> public class VDBoss : VDEntityBasis<EDBossData>
{ {
public GameObject VWorld => App.Resource.VWorld; public GameObject VWorld => App.Resource.VWorld;
public GameObject Boss => App.Resource.Boss; public GameObject Boss => App.Resource.Boss;
public VDBoss(SViewSystem root) : base(root) public VDBoss(SViewSystem root) : base(root)
{ {
Register((int)GDataValueCode.Position, OnUpdatePosition);
} }
public override void ViewUpdate(EDBossData data, GameObject view) private void OnUpdatePosition((GameObject View, EDBossData Data) tuple)
{ {
var (view, data) = tuple;
view.name = $"Boss_{data.Id}";
if (data.Value.Position != null) if (data.Value.Position != null)
{ {
view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f); view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f);
} }
} }
public override GameObject NewView(EDBossData data) public override GameObject NewView(EDBossData data)
{ {
return Object.Instantiate(Boss, VWorld.transform); var view = Object.Instantiate(Boss, VWorld.transform);
view.name = $"Boss_{data.Id}";
return view;
} }
public override EDBossData[] GetData() public override EDBossData[] GetData()

View File

@ -10,28 +10,32 @@ using UnityEngine;
namespace Game.JNGFrame.View.Entity namespace Game.JNGFrame.View.Entity
{ {
public class VDNodes : ViewData<EDNodeData> public class VDNodes : VDEntityBasis<EDNodeData>
{ {
public GameObject VWorld => App.Resource.VWorld; public GameObject VWorld => App.Resource.VWorld;
public GameObject Player => App.Resource.Player; public GameObject Player => App.Resource.Player;
public VDNodes(SViewSystem root) : base(root) public VDNodes(SViewSystem root) : base(root)
{ {
Register((int)GDataValueCode.Position, OnUpdatePosition);
} }
public override void ViewUpdate(EDNodeData data, GameObject view) /// <summary>
/// 更新位置
/// </summary>
private void OnUpdatePosition((GameObject View, EDNodeData Data) tuple)
{ {
var (view, data) = tuple;
view.name = $"Node_{data.Id}";
if (data.Value.Position != null) if (data.Value.Position != null)
{ {
view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f); view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f);
} }
} }
public override GameObject NewView(EDNodeData data) public override GameObject NewView(EDNodeData data)
{ {
return Object.Instantiate(Player, VWorld.transform); var view = Object.Instantiate(Player, VWorld.transform);
view.name = $"Node_{data.Id}";
return view;
} }
public override EDNodeData[] GetData() public override EDNodeData[] GetData()

View File

@ -9,7 +9,7 @@ using UnityEngine;
namespace Game.JNGFrame.View.Entity namespace Game.JNGFrame.View.Entity
{ {
public class VDPlayers : ViewData<EDPlayerData> public class VDPlayers : VDEntityBasis<EDPlayerData>
{ {
public GameObject VWorld => App.Resource.VWorld; public GameObject VWorld => App.Resource.VWorld;
public GameObject Player => App.Resource.Player; public GameObject Player => App.Resource.Player;
@ -17,11 +17,19 @@ namespace Game.JNGFrame.View.Entity
public VDPlayers(SViewSystem root) : base(root) public VDPlayers(SViewSystem root) : base(root)
{ {
Register((int)GDataValueCode.Position, OnUpdatePosition);
Register((int)EDPlayerValueCode.Auth, OnUpdateAuth);
} }
public override void ViewUpdate(EDPlayerData data, GameObject view) /// <summary>
/// 更新坐标
/// </summary>
/// <param name="tuple"></param>
private void OnUpdatePosition((GameObject View, EDPlayerData Data) tuple)
{ {
view.name = $"Player_{data.Id}"; var (view, data) = tuple;
//更新位置 //更新位置
if (data.Value.Position != null) if (data.Value.Position != null)
@ -29,6 +37,22 @@ namespace Game.JNGFrame.View.Entity
view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f); view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f);
} }
if (data.Value.Auth == App.ClientID)
{
//更新本地玩家位置
if (data.Value.Position != null) App.Game.GetClient<JNGTileClientSystem>()?.SetPlayerPosition(data.Value.Position.ToLVector3());
}
}
/// <summary>
/// 更新权限
/// </summary>
private void OnUpdateAuth((GameObject View, EDPlayerData Data) tuple)
{
var (view, data) = tuple;
//权限操作 //权限操作
if (App.IsClient() && data.Value.Auth == App.ClientID) if (App.IsClient() && data.Value.Auth == App.ClientID)
{ {
@ -37,9 +61,6 @@ namespace Game.JNGFrame.View.Entity
FreeLook.LookAt = view.transform; FreeLook.LookAt = view.transform;
FreeLook.Follow = view.transform; FreeLook.Follow = view.transform;
//更新玩家位置
if (data.Value.Position != null) App.Game.GetClient<JNGTileClientSystem>()?.SetPlayerPosition(data.Value.Position.ToLVector3());
} }
} }
@ -47,7 +68,7 @@ namespace Game.JNGFrame.View.Entity
public override GameObject NewView(EDPlayerData data) public override GameObject NewView(EDPlayerData data)
{ {
var gameObject = Object.Instantiate(Player, VWorld.transform); var gameObject = Object.Instantiate(Player, VWorld.transform);
// gameObject.transform.DOMove(gameObject.transform.position + new Vector3(0,0,1000), 100); gameObject.name = $"Player_{data.Id}";
return gameObject; return gameObject;
} }

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using DotRecast.Core.Collections;
using Game.JNGState.Logic.Data;
using JNGame.Sync.System;
using JNGame.Sync.View;
using Plugins.JNGame.Util;
using UnityEngine;
namespace Game.JNGFrame.View
{
public abstract class VDEntityBasis<T> : ViewData<T> where T : IGDataBase
{
private readonly Dictionary<int, Action<(GameObject View, T Data)>> Event = new();
protected VDEntityBasis(SViewSystem root) : base(root)
{
}
public override void Execute()
{
base.Execute();
//调用改动
var dataList = GetData();
foreach (var data in dataList){
if (views.TryGetValue(data.Id,out var view))
{
data.WriteCodes.ForEach(code =>
{
Event[code]?.Invoke((view.Data,data));
});
}
}
}
public override void ViewUpdate(T data, GameObject view)
{
}
public void Register(int code,Action<(GameObject View, T Data)> action)
{
Event[code] = action;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d099ea459fc642698d0c5dcdbb1fa64a
timeCreated: 1726944240

View File

@ -2809,12 +2809,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
</ItemGroup> </ItemGroup>

View File

@ -839,12 +839,12 @@
<Reference Include="System.Xml.XPath.XDocument"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TestRunner"> <Reference Include="UnityEngine.TestRunner">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
</Reference> </Reference>

View File

@ -916,12 +916,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="StompyRobot.SRF.csproj"> <ProjectReference Include="StompyRobot.SRF.csproj">

View File

@ -830,12 +830,12 @@
<Reference Include="System.Xml.XPath.XDocument"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TestRunner"> <Reference Include="UnityEngine.TestRunner">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
</Reference> </Reference>

View File

@ -861,12 +861,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
</ItemGroup> </ItemGroup>

View File

@ -806,12 +806,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="UniTask.csproj"> <ProjectReference Include="UniTask.csproj">

View File

@ -806,12 +806,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="UniTask.csproj"> <ProjectReference Include="UniTask.csproj">

View File

@ -826,12 +826,12 @@
<Reference Include="System.Xml.XPath.XDocument"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TestRunner"> <Reference Include="UnityEngine.TestRunner">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll</HintPath>
</Reference> </Reference>

View File

@ -878,12 +878,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="UniTask.csproj"> <ProjectReference Include="UniTask.csproj">

View File

@ -810,12 +810,12 @@
<Reference Include="Unity.TextMeshPro"> <Reference Include="Unity.TextMeshPro">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="UniTask.csproj"> <ProjectReference Include="UniTask.csproj">

View File

@ -878,12 +878,12 @@
<Reference Include="System.Xml.Serialization"> <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> <HintPath>C:\APP\UnityEdit\2021.3.33f1c1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.UI"> <Reference Include="UnityEditor.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath> <HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI">
<HintPath>D:\Jisol\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
</ItemGroup> </ItemGroup>

View File

@ -19,7 +19,7 @@ MonoBehaviour:
width: 1920 width: 1920
height: 1037 height: 1037
m_ShowMode: 4 m_ShowMode: 4
m_Title: "\u6E38\u620F" m_Title: "\u63A7\u5236\u53F0"
m_RootView: {fileID: 2} m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 300} m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000} m_MaxSize: {x: 10000, y: 10000}
@ -119,7 +119,7 @@ MonoBehaviour:
m_MinSize: {x: 400, y: 200} m_MinSize: {x: 400, y: 200}
m_MaxSize: {x: 32384, y: 16192} m_MaxSize: {x: 32384, y: 16192}
vertical: 0 vertical: 0
controlID: 87 controlID: 22
--- !u!114 &6 --- !u!114 &6
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -144,7 +144,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 200} m_MinSize: {x: 300, y: 200}
m_MaxSize: {x: 24288, y: 16192} m_MaxSize: {x: 24288, y: 16192}
vertical: 1 vertical: 1
controlID: 42 controlID: 23
--- !u!114 &7 --- !u!114 &7
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -170,7 +170,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 100} m_MinSize: {x: 300, y: 100}
m_MaxSize: {x: 24288, y: 8096} m_MaxSize: {x: 24288, y: 8096}
vertical: 0 vertical: 0
controlID: 43 controlID: 24
--- !u!114 &8 --- !u!114 &8
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -396,7 +396,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: b8cdfeff0ecefeffccd0feffd0d0feff4ce7feffa2e7feff60eafeff64eafeff4e18ffff681fffffbe1fffff7c22ffff8022ffff4825ffff6630ffffbc30ffff7a33ffff7e33ffff0238ffff5838ffff163bffff1a3bffff0248ffff5848ffff164bffff1a4bffffdc54ffff1857ffff6e57ffff2c5affff305affff3c6affff926affff506dffff546dffffd28dffff4e9bffff36aaffff5eabffff8028010052300100 m_ExpandedIDs: d2e4ffff28e5ffffe6e7ffffeae7ffff14eaffff6aeaffff28edffff2cedffffa8f6fffffef6ffffbcf9ffffc0f9ffff1afbffff
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -734,9 +734,9 @@ MonoBehaviour:
m_PlayAudio: 0 m_PlayAudio: 0
m_AudioPlay: 0 m_AudioPlay: 0
m_Position: m_Position:
m_Target: {x: 22.490227, y: 27.807896, z: -23.089281} m_Target: {x: 66.17166, y: 74.382965, z: -68.47802}
speed: 2 speed: 2
m_Value: {x: 22.490227, y: 27.807896, z: -23.089281} m_Value: {x: 66.17166, y: 74.382965, z: -68.47802}
m_RenderMode: 0 m_RenderMode: 0
m_CameraMode: m_CameraMode:
drawMode: 0 drawMode: 0
@ -783,9 +783,9 @@ MonoBehaviour:
m_GridAxis: 1 m_GridAxis: 1
m_gridOpacity: 0.5 m_gridOpacity: 0.5
m_Rotation: m_Rotation:
m_Target: {x: -0.36437556, y: 0.18858139, z: -0.07560821, w: -0.9088209} m_Target: {x: -0.2639696, y: -0.106222175, z: 0.029262349, w: -0.95822775}
speed: 2 speed: 2
m_Value: {x: -0.36437473, y: 0.18858096, z: -0.07560804, w: -0.90881884} m_Value: {x: -0.26396698, y: -0.106221125, z: 0.02926206, w: -0.9582183}
m_Size: m_Size:
m_Target: 2.598076 m_Target: 2.598076
speed: 2 speed: 2
@ -899,7 +899,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: 26e80000 m_SelectedIDs: 26e80000
m_LastClickedID: 59430 m_LastClickedID: 59430
m_ExpandedIDs: 0000000014e8000000ca9a3b m_ExpandedIDs: 000000000a740000
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -927,7 +927,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: m_ExpandedIDs: 000000000a740000
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name: