mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
Merge branch 'TEngine_v_3.0.0'
This commit is contained in:
12
.gitignore
vendored
12
.gitignore
vendored
@@ -103,4 +103,16 @@ Sandbox/
|
||||
#Luban
|
||||
Luban/.cache.meta
|
||||
GenerateDatas/
|
||||
|
||||
#HybridCLR
|
||||
Assets/HybridCLRData.meta
|
||||
UserSettings/Search.settings
|
||||
|
||||
#Unity UserSettings
|
||||
UserSettings/Search.index
|
||||
UserSettings/Layouts/default-2021.dwlt
|
||||
|
||||
#UnityOnlineServiceData
|
||||
Assets/UnityOnlineServiceData.meta
|
||||
Assets/UnityOnlineServiceData
|
||||
|
||||
|
@@ -3,7 +3,8 @@
|
||||
"rootNamespace": "BattleCore.Runtime",
|
||||
"references": [
|
||||
"GUID:aa06d4cc755c979489c256c1bcca1dfb",
|
||||
"GUID:d8b63aba1907145bea998dd612889d6b"
|
||||
"GUID:d8b63aba1907145bea998dd612889d6b",
|
||||
"GUID:a90b2d3377c5e4a4db95cc44fb82045e"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
75
Assets/GameScripts/HotFix/GameBase/BaseLogicSys.cs
Normal file
75
Assets/GameScripts/HotFix/GameBase/BaseLogicSys.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 基础LogicSys,生命周期由TEngine实现,推荐给系统实现,
|
||||
/// 减少多余的Mono,保持系统层面只有一个Update。
|
||||
/// 用主Mono来驱动LogicSys的生命周期。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">逻辑系统类型。</typeparam>
|
||||
public abstract class BaseLogicSys<T> : ILogicSys where T : new()
|
||||
{
|
||||
private static T _instance;
|
||||
|
||||
public static bool HasInstance => _instance != null;
|
||||
|
||||
public static T Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (null == _instance)
|
||||
{
|
||||
_instance = new T();
|
||||
}
|
||||
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
#region virtual function
|
||||
public virtual bool OnInit()
|
||||
{
|
||||
if (null == _instance)
|
||||
{
|
||||
_instance = new T();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual void OnStart()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnLateUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnFixedUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnRoleLogout()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDestroy()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDrawGizmos()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnApplicationPause(bool pause)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnMapChanged()
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
3
Assets/GameScripts/HotFix/GameBase/BaseLogicSys.cs.meta
Normal file
3
Assets/GameScripts/HotFix/GameBase/BaseLogicSys.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc4ce19b17fd4277951d189b66f503e2
|
||||
timeCreated: 1683120353
|
212
Assets/GameScripts/HotFix/GameBase/BehaviourSingleton.cs
Normal file
212
Assets/GameScripts/HotFix/GameBase/BehaviourSingleton.cs
Normal file
@@ -0,0 +1,212 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 通过LogicSys来驱动且具备Unity完整生命周期的单例(不继承MonoBehaviour)
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public abstract class BehaviourSingleton<T> : BaseBehaviourSingleton where T : BaseBehaviourSingleton, new()
|
||||
{
|
||||
private static T _instance;
|
||||
|
||||
public static T Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (null == _instance)
|
||||
{
|
||||
_instance = new T();
|
||||
Log.Assert(_instance != null);
|
||||
_instance.Awake();
|
||||
RegSingleton(_instance);
|
||||
}
|
||||
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
private static void RegSingleton(BaseBehaviourSingleton inst)
|
||||
{
|
||||
BehaviourSingleSystem.Instance.RegSingleton(inst);
|
||||
}
|
||||
}
|
||||
|
||||
public class BaseBehaviourSingleton
|
||||
{
|
||||
public bool IsStart = false;
|
||||
|
||||
public virtual void Active()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Awake()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual bool IsHaveLateUpdate()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void Start()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Update()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void LateUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Destroy()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnPause()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnResume()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDrawGizmos()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class BehaviourSingleSystem : BaseLogicSys<BehaviourSingleSystem>
|
||||
{
|
||||
private readonly List<BaseBehaviourSingleton> _listInst = new List<BaseBehaviourSingleton>();
|
||||
private readonly List<BaseBehaviourSingleton> _listStart = new List<BaseBehaviourSingleton>();
|
||||
private readonly List<BaseBehaviourSingleton> _listUpdate = new List<BaseBehaviourSingleton>();
|
||||
private readonly List<BaseBehaviourSingleton> _listLateUpdate = new List<BaseBehaviourSingleton>();
|
||||
|
||||
public void RegSingleton(BaseBehaviourSingleton inst)
|
||||
{
|
||||
Log.Assert(!_listInst.Contains(inst));
|
||||
_listInst.Add(inst);
|
||||
_listStart.Add(inst);
|
||||
}
|
||||
|
||||
public void UnRegSingleton(BaseBehaviourSingleton inst)
|
||||
{
|
||||
if (inst == null)
|
||||
{
|
||||
Log.Error($"BaseBehaviourSingleton Is Null");
|
||||
return;
|
||||
}
|
||||
|
||||
Log.Assert(_listInst.Contains(inst));
|
||||
if (_listInst.Contains(inst))
|
||||
{
|
||||
_listInst.Remove(inst);
|
||||
}
|
||||
|
||||
if (_listStart.Contains(inst))
|
||||
{
|
||||
_listStart.Remove(inst);
|
||||
}
|
||||
|
||||
if (_listUpdate.Contains(inst))
|
||||
{
|
||||
_listUpdate.Remove(inst);
|
||||
}
|
||||
|
||||
if (_listLateUpdate.Contains(inst))
|
||||
{
|
||||
_listLateUpdate.Remove(inst);
|
||||
}
|
||||
|
||||
inst.Destroy();
|
||||
inst = null;
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
var listStart = _listStart;
|
||||
var listToUpdate = _listUpdate;
|
||||
var listToLateUpdate = _listLateUpdate;
|
||||
if (listStart.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < listStart.Count; i++)
|
||||
{
|
||||
var inst = listStart[i];
|
||||
Log.Assert(!inst.IsStart);
|
||||
|
||||
inst.IsStart = true;
|
||||
inst.Start();
|
||||
listToUpdate.Add(inst);
|
||||
|
||||
if (inst.IsHaveLateUpdate())
|
||||
{
|
||||
listToLateUpdate.Add(inst);
|
||||
}
|
||||
}
|
||||
|
||||
listStart.Clear();
|
||||
}
|
||||
|
||||
var listUpdateCnt = listToUpdate.Count;
|
||||
for (int i = 0; i < listUpdateCnt; i++)
|
||||
{
|
||||
var inst = listToUpdate[i];
|
||||
|
||||
TProfiler.BeginFirstSample(inst.GetType().FullName);
|
||||
inst.Update();
|
||||
TProfiler.EndFirstSample();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnLateUpdate()
|
||||
{
|
||||
var listLateUpdate = _listLateUpdate;
|
||||
var listLateUpdateCnt = listLateUpdate.Count;
|
||||
for (int i = 0; i < listLateUpdateCnt; i++)
|
||||
{
|
||||
var inst = listLateUpdate[i];
|
||||
|
||||
TProfiler.BeginFirstSample(inst.GetType().FullName);
|
||||
inst.LateUpdate();
|
||||
TProfiler.EndFirstSample();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDestroy()
|
||||
{
|
||||
for (int i = 0; i < _listInst.Count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
inst.Destroy();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnApplicationPause(bool pause)
|
||||
{
|
||||
for (int i = 0; i < _listInst.Count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
if (pause)
|
||||
{
|
||||
inst.OnPause();
|
||||
}
|
||||
else
|
||||
{
|
||||
inst.OnResume();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < _listInst.Count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
inst.OnDrawGizmos();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c0e9c1c8c9d4ce99a1c991fb62a0256
|
||||
timeCreated: 1683120460
|
8
Assets/GameScripts/HotFix/GameLogic/Camera.meta
Normal file
8
Assets/GameScripts/HotFix/GameLogic/Camera.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1d862c80fdc1e684e8ff3b6ae7707b79
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
24
Assets/GameScripts/HotFix/GameLogic/Camera/CameraUtils.cs
Normal file
24
Assets/GameScripts/HotFix/GameLogic/Camera/CameraUtils.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using TEngine;
|
||||
using UnityEngine;
|
||||
#if ENABLE_URP
|
||||
using UnityEngine.Rendering.Universal;
|
||||
#endif
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
public class CameraUtils
|
||||
{
|
||||
public static void AddCameraStack(Camera camera,Camera mainCamera)
|
||||
{
|
||||
#if ENABLE_URP
|
||||
if (mainCamera != null)
|
||||
{
|
||||
// 通过脚本的方式,只要能找到 camera 不轮是否跨 base 相机的场景,都可以 Add 进 Stack
|
||||
mainCamera.GetComponent<UniversalAdditionalCameraData>().cameraStack.Add(GameModule.UI.UICamera);
|
||||
}
|
||||
#else
|
||||
Log.Fatal("Could not add camera stack because had no URP-Render-Pip");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6375b5490bbdcc145a24706a6c4e9cb7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -5,7 +5,9 @@
|
||||
"GUID:08c3762f54316454ca6b6fbcb22b40e5",
|
||||
"GUID:a90b2d3377c5e4a4db95cc44fb82045e",
|
||||
"GUID:aa06d4cc755c979489c256c1bcca1dfb",
|
||||
"GUID:6055be8ebefd69e48b49212b09b47b2f"
|
||||
"GUID:641632c4f8079b94f963b5284d859a12",
|
||||
"GUID:6055be8ebefd69e48b49212b09b47b2f",
|
||||
"GUID:15fc0a57446b3144c949da3e2b9737a9"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
@@ -14,6 +16,12 @@
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"versionDefines": [
|
||||
{
|
||||
"name": "com.unity.render-pipelines.universal",
|
||||
"expression": "",
|
||||
"define": "ENABLE_URP"
|
||||
}
|
||||
],
|
||||
"noEngineReferences": false
|
||||
}
|
65
Assets/GameScripts/HotFix/GameProto/ConfigUtility.cs
Normal file
65
Assets/GameScripts/HotFix/GameProto/ConfigUtility.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TEngine;
|
||||
|
||||
namespace GameProto
|
||||
{
|
||||
/// <summary>
|
||||
/// 指定Key委托。
|
||||
/// </summary>
|
||||
/// <typeparam name="TKey">键。</typeparam>
|
||||
/// <typeparam name="TValue">值。</typeparam>
|
||||
public delegate TKey ConvertDictionaryKey<out TKey, in TValue>(TValue val);
|
||||
|
||||
/// <summary>
|
||||
/// 配置表辅助工具。
|
||||
/// </summary>
|
||||
public static class ConfigUtility
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成64long的主键。
|
||||
/// </summary>
|
||||
/// <param name="key1">键1。</param>
|
||||
/// <param name="key2">键2。</param>
|
||||
/// <returns>64long的主键。</returns>
|
||||
public static UInt64 Make64Key(uint key1, uint key2)
|
||||
{
|
||||
return ((UInt64)key1 << 32) | key2;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 拷贝配置表字典。
|
||||
/// </summary>
|
||||
/// <param name="dict">拷贝地址。</param>
|
||||
/// <param name="source">拷贝源。</param>
|
||||
/// <param name="convKey">指定主键。</param>
|
||||
/// <typeparam name="TKey">键。</typeparam>
|
||||
/// <typeparam name="TValue">值。</typeparam>
|
||||
/// <returns>是否拷贝成功。</returns>
|
||||
public static bool CopyConfigDict<TKey, TValue>(ref Dictionary<TKey, TValue> dict,List<TValue> source, ConvertDictionaryKey<TKey, TValue> convKey)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
dict.Clear();
|
||||
|
||||
bool failed = false;
|
||||
for (int i = 0; i < source.Count; i++)
|
||||
{
|
||||
var data = source[i];
|
||||
TKey key = convKey(data);
|
||||
if (dict.ContainsKey(key))
|
||||
{
|
||||
Log.Fatal("Copy Config Failed: {0} IndexOf {1} Had Repeated Key: {2} ", typeof(TValue).Name, i + 1, key);
|
||||
failed = true;
|
||||
break;
|
||||
}
|
||||
|
||||
dict.Add(key, data);
|
||||
}
|
||||
return !failed;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e278e636820842f293e2a765962ad4f8
|
||||
timeCreated: 1683300170
|
@@ -28,6 +28,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1633508802563447727}
|
||||
m_RootOrder: 0
|
||||
@@ -104,6 +105,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 947380016692030854}
|
||||
m_Father: {fileID: 1633508802563447727}
|
||||
@@ -229,6 +231,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4232232858152633415}
|
||||
m_RootOrder: 0
|
||||
@@ -309,6 +312,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1633508802563447727}
|
||||
m_RootOrder: 2
|
||||
@@ -404,6 +408,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1183389821019440696}
|
||||
m_Father: {fileID: 1753386200549547019}
|
||||
@@ -505,7 +510,6 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1753386200549547019}
|
||||
- component: {fileID: 2395469539571654547}
|
||||
m_Layer: 5
|
||||
m_Name: TopNode
|
||||
m_TagString: Untagged
|
||||
@@ -523,6 +527,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4232232858152633415}
|
||||
- {fileID: 3038352660368000718}
|
||||
@@ -535,18 +540,6 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: -100}
|
||||
m_SizeDelta: {x: 0, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2395469539571654547
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4664656392582353123}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c0a563c3e931db74f94f9991270a2dee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7836612998133337201
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -573,6 +566,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3254196395727856927}
|
||||
m_Father: {fileID: 2347891492826839465}
|
||||
@@ -612,6 +606,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1753386200549547019}
|
||||
m_RootOrder: 2
|
||||
@@ -706,6 +701,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 947380016692030854}
|
||||
m_RootOrder: 0
|
||||
@@ -780,6 +776,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4652061626151979521}
|
||||
- {fileID: 2347891492826839465}
|
||||
@@ -839,6 +836,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1753386200549547019}
|
||||
m_RootOrder: 1
|
||||
|
@@ -150,6 +150,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 2
|
||||
@@ -228,6 +229,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 0
|
||||
@@ -277,6 +279,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 828420966}
|
||||
m_RootOrder: 0
|
||||
@@ -374,6 +377,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 828420966}
|
||||
m_RootOrder: 1
|
||||
@@ -448,6 +452,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 10
|
||||
@@ -492,6 +497,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 88107082}
|
||||
- {fileID: 110205811}
|
||||
@@ -527,6 +533,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 828420966}
|
||||
m_RootOrder: 2
|
||||
@@ -543,6 +550,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
@@ -592,6 +600,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 8
|
||||
@@ -635,6 +644,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 4
|
||||
@@ -680,6 +690,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 7
|
||||
@@ -738,6 +749,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 3
|
||||
@@ -793,6 +805,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2061060682}
|
||||
m_Father: {fileID: 0}
|
||||
@@ -825,6 +838,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 1
|
||||
@@ -868,6 +882,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 9
|
||||
@@ -964,6 +979,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
@@ -995,6 +1011,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 6
|
||||
@@ -1047,6 +1064,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 43232120}
|
||||
- {fileID: 1823887563}
|
||||
@@ -1112,6 +1130,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 5
|
||||
@@ -1155,6 +1174,7 @@ Transform:
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 11
|
||||
|
448
Assets/TEngine/Editor/ProtoGenTools/ProtoScriptTools.cs
Normal file
448
Assets/TEngine/Editor/ProtoGenTools/ProtoScriptTools.cs
Normal file
@@ -0,0 +1,448 @@
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using TEngine;
|
||||
using TEngine.Editor;
|
||||
using Debug = UnityEngine.Debug;
|
||||
|
||||
class GenNetScriptWindow : EditorWindow
|
||||
{
|
||||
private static GenNetScriptWindow _window = null;
|
||||
|
||||
//绑定通知协议
|
||||
private StringBuilder _strBindNotify;
|
||||
|
||||
//枚举对应协议号
|
||||
private readonly Dictionary<string, int> _dicName2ID = new Dictionary<string, int>();
|
||||
|
||||
//xxx.xml下的协议枚举list
|
||||
private readonly Dictionary<string, List<string>> _dicPath2Name = new Dictionary<string, List<string>>();
|
||||
|
||||
//协议号有没有被勾选
|
||||
private readonly Dictionary<int, bool> _dicID2Select = new Dictionary<int, bool>();
|
||||
|
||||
//记录回包协议号
|
||||
private readonly Dictionary<int, int> _dicID2ID = new Dictionary<int, int>();
|
||||
|
||||
private Vector2 _scrollPos;
|
||||
private Vector2 _fileListScrollPos;
|
||||
|
||||
private string _path = @"G:\github\TEngine\Luban\Proto\pb_schemas\";
|
||||
private readonly List<string> _filePathList = new List<string>();
|
||||
private string _curSelectFile = string.Empty;
|
||||
|
||||
private string _filterFileName = string.Empty;
|
||||
private string _filterProName = string.Empty;
|
||||
|
||||
[MenuItem("TEngine/协议生成工具|Protobuf Tools")]
|
||||
static void OpenGenNetScriptWindow()
|
||||
{
|
||||
if (!_window)
|
||||
{
|
||||
_window = ScriptableObject.CreateInstance<GenNetScriptWindow>();
|
||||
_window.maxSize = new Vector2(1000, 800);
|
||||
_window.minSize = _window.maxSize / 2;
|
||||
_window.LoadLastPath();
|
||||
}
|
||||
|
||||
_window.ShowUtility();
|
||||
}
|
||||
|
||||
void OnGUI()
|
||||
{
|
||||
EditorGUILayout.PrefixLabel("protoPath");
|
||||
_path = EditorGUILayout.TextField(_path);
|
||||
var r = EditorGUILayout.BeginHorizontal("Button");
|
||||
if (GUI.Button(r, GUIContent.none))
|
||||
{
|
||||
ReadPath();
|
||||
}
|
||||
GUILayout.Label("Search");
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
|
||||
//加个文件筛选
|
||||
//EditorGUILayout.BeginHorizontal();
|
||||
GUILayout.Label("filter file:");
|
||||
_filterFileName = GUILayout.TextField(_filterFileName);
|
||||
//EditorGUILayout.EndHorizontal();
|
||||
//显示文件名部分
|
||||
if (_filePathList.Count > 0)
|
||||
{
|
||||
_fileListScrollPos = EditorGUILayout.BeginScrollView(_fileListScrollPos, GUILayout.Width(r.width), GUILayout.Height(200));
|
||||
for (int i = 0; i < _filePathList.Count; ++i)
|
||||
{
|
||||
var fileName = Path.GetFileNameWithoutExtension(_filePathList[i]);
|
||||
if (!string.IsNullOrEmpty(_filterFileName) && fileName.IndexOf(_filterFileName, StringComparison.Ordinal) == -1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (GUILayout.Button(fileName))
|
||||
{
|
||||
_curSelectFile = _filePathList[i];
|
||||
LoadSelectFile();
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
GUILayout.Label("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
|
||||
|
||||
if (!string.IsNullOrEmpty(_curSelectFile))
|
||||
{
|
||||
//加个协议筛选
|
||||
GUILayout.Label("filter proto:");
|
||||
_filterProName = GUILayout.TextField(_filterProName);
|
||||
|
||||
_scrollPos = EditorGUILayout.BeginScrollView(_scrollPos, GUILayout.Width(r.width), GUILayout.Height(200));
|
||||
var fileName2 = Path.GetFileNameWithoutExtension(_curSelectFile);
|
||||
List<string> list;
|
||||
if (_dicPath2Name.TryGetValue(fileName2, out list))
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
for (int i = 0; i < list.Count; ++i)
|
||||
{
|
||||
var cmdName = list[i];
|
||||
//筛选一下,忽略大小写
|
||||
if (!string.IsNullOrEmpty(_filterProName) && cmdName.ToLower().IndexOf(_filterProName.ToLower()) == -1)
|
||||
continue;
|
||||
var cmdID = _dicName2ID[cmdName];
|
||||
EditorGUILayout.BeginHorizontal(GUIStyle.none);
|
||||
//协议名
|
||||
EditorGUILayout.LabelField(cmdName);
|
||||
//toggle
|
||||
if (!_dicID2Select.ContainsKey(cmdID))
|
||||
_dicID2Select[cmdID] = false;
|
||||
_dicID2Select[cmdID] = EditorGUILayout.Toggle(cmdID.ToString(),_dicID2Select[cmdID]);
|
||||
//回包协议号
|
||||
if (!_dicID2ID.ContainsKey(cmdID))
|
||||
{
|
||||
if (cmdName.EndsWith("REQ"))
|
||||
_dicID2ID[cmdID] = cmdID + 1;
|
||||
else
|
||||
_dicID2ID[cmdID] = 0;
|
||||
}
|
||||
_dicID2ID[cmdID] = EditorGUILayout.IntField(_dicID2ID[cmdID]);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(_curSelectFile))
|
||||
{
|
||||
if (GUILayout.Button("GenSelect"))
|
||||
{
|
||||
OnClickGenBtn(false);
|
||||
}
|
||||
if (GUILayout.Button("GenAll"))
|
||||
{
|
||||
OnClickGenBtn(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (GUILayout.Button("导出Proto To Csharp|Export Proto To Csharp"))
|
||||
{
|
||||
ExportProto();
|
||||
}
|
||||
}
|
||||
|
||||
#region 加载
|
||||
private void LoadLastPath()
|
||||
{
|
||||
if (PlayerPrefs.HasKey("GenNetScriptWindow.Path"))
|
||||
{
|
||||
_path = PlayerPrefs.GetString("GenNetScriptWindow.Path");
|
||||
}
|
||||
ReadPath();
|
||||
}
|
||||
|
||||
private void ReadPath()
|
||||
{
|
||||
PlayerPrefs.SetString("GenNetScriptWindow.Path", _path);
|
||||
_filePathList.Clear();
|
||||
_curSelectFile = String.Empty;
|
||||
JustLoadFileList(_filePathList, _path);
|
||||
}
|
||||
|
||||
private void JustLoadFileList(List<string> exportList, string folderPath, bool deep = false)
|
||||
{
|
||||
if (!LoadFoldChildFileList(exportList, folderPath, deep))
|
||||
{
|
||||
EditorUtility.DisplayDialog("folder not exist", "folder not exist:"+_path, "ok");
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadSelectFile()
|
||||
{
|
||||
_dicID2Select.Clear();
|
||||
_dicID2ID.Clear();
|
||||
_dicName2ID.Clear();
|
||||
|
||||
var xmlFilePath = _curSelectFile;
|
||||
var fileName = Path.GetFileNameWithoutExtension(xmlFilePath);
|
||||
var protocolNameList = new List<string>();
|
||||
//读xml
|
||||
if (fileName.StartsWith("proto_cs"))
|
||||
{
|
||||
Debug.Log("load xml.name:" + fileName);
|
||||
XmlDocument xmlDoc = new XmlDocument();
|
||||
xmlDoc.Load(xmlFilePath);
|
||||
GenProtocolNameList(xmlDoc.ChildNodes, protocolNameList);
|
||||
_dicPath2Name[fileName] = protocolNameList;
|
||||
Debug.Log(fileName + " success.");
|
||||
}
|
||||
}
|
||||
|
||||
private bool LoadFoldChildFileList(List<string> exportList, string folderPath, bool deep = false)
|
||||
{
|
||||
if (!Directory.Exists(folderPath))
|
||||
{
|
||||
Log.Error("folder not exist: {0}", folderPath);
|
||||
return false;
|
||||
}
|
||||
|
||||
string[] subFile = Directory.GetFiles(folderPath);
|
||||
foreach (string fileName in subFile)
|
||||
{
|
||||
//有些筛选条件,直接写死这里了。方便
|
||||
var name = Path.GetFileNameWithoutExtension(fileName);
|
||||
if (name.StartsWith("proto_cs"))
|
||||
exportList.Add(fileName);
|
||||
}
|
||||
|
||||
if (deep)
|
||||
{
|
||||
string[] subFolders = Directory.GetDirectories(folderPath);
|
||||
foreach (string folderName in subFolders)
|
||||
{
|
||||
LoadFoldChildFileList(exportList, folderName);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//把macro里的协议号和协议枚举名对应起来
|
||||
private void GenProtocolNameList(XmlNodeList nodeList, List<string> nameList)
|
||||
{
|
||||
foreach (XmlNode node in nodeList)
|
||||
{
|
||||
if (node.Attributes == null)
|
||||
continue;
|
||||
if (node.Name == "macro")
|
||||
{
|
||||
var name = node.Attributes.GetNamedItem("name").Value;
|
||||
if (name.StartsWith("CS_CMD") || name.StartsWith("CS_NOTIFY"))
|
||||
{
|
||||
var id = Convert.ToInt32(node.Attributes.GetNamedItem("value").Value);
|
||||
_dicName2ID[name] = id;
|
||||
if (nameList != null)
|
||||
nameList.Add(name);
|
||||
}
|
||||
}
|
||||
GenProtocolNameList(node.ChildNodes, nameList);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 点击处理
|
||||
private void OnClickGenBtn(bool genAll)
|
||||
{
|
||||
_strBindNotify = new StringBuilder();
|
||||
bool needRegCmdHandle = false;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
List<int> listGenId = new List<int>();
|
||||
var iter = _dicID2Select.GetEnumerator();
|
||||
while (iter.MoveNext())
|
||||
{
|
||||
if (iter.Current.Value || genAll)
|
||||
{
|
||||
int resId = iter.Current.Key;
|
||||
int resID;
|
||||
if (_dicID2ID.TryGetValue(resId, out resID))
|
||||
{
|
||||
if (resID != 0)
|
||||
{
|
||||
var oneStr = GenOneReq(resId, resID);
|
||||
sb.Append(oneStr);
|
||||
sb.Append("\n\n");
|
||||
listGenId.Add(resId);
|
||||
listGenId.Add(resID);
|
||||
}
|
||||
else if (!listGenId.Contains(resId))
|
||||
{
|
||||
needRegCmdHandle = true;
|
||||
var oneStr = GenOneReq(0, resId);
|
||||
sb.Append(oneStr);
|
||||
sb.Append("\n\n");
|
||||
listGenId.Add(resId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (needRegCmdHandle)
|
||||
{
|
||||
sb.Append("public void RegCmdHandle()\n");
|
||||
sb.Append("{\n");
|
||||
sb.Append(_strBindNotify);
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
TextEditor te = new TextEditor();
|
||||
te.text = sb.ToString();
|
||||
te.SelectAll();
|
||||
te.Copy();
|
||||
}
|
||||
|
||||
private static readonly Dictionary<string, string> TempParamDic = new Dictionary<string, string>();
|
||||
private static string _reqClassName = string.Empty;
|
||||
private static string _resClassName = string.Empty;
|
||||
private static string _reqEnumName = string.Empty;
|
||||
private static string _resEnumName = string.Empty;
|
||||
private static string _reqDesc = string.Empty;
|
||||
private static bool _resResult;
|
||||
|
||||
private string GenOneReq(int reqId, int resId)
|
||||
{
|
||||
TempParamDic.Clear();
|
||||
_reqClassName = string.Empty;
|
||||
_resClassName = string.Empty;
|
||||
_reqEnumName = string.Empty;
|
||||
_resEnumName = string.Empty;
|
||||
_resResult = false;
|
||||
|
||||
var xmlFilePath = _curSelectFile;
|
||||
var fileName = Path.GetFileNameWithoutExtension(xmlFilePath);
|
||||
//读xml
|
||||
if (fileName.StartsWith("proto_cs"))
|
||||
{
|
||||
Debug.Log("load xml.name:" + fileName);
|
||||
XmlDocument xmlDoc = new XmlDocument();
|
||||
xmlDoc.Load(xmlFilePath);
|
||||
_GenOneReq(xmlDoc.ChildNodes, reqId,resId);
|
||||
Debug.Log(fileName + " success.");
|
||||
|
||||
var sb = new StringBuilder();
|
||||
sb.Append("#region ");
|
||||
sb.Append(_reqDesc);
|
||||
sb.Append(string.Format("\n//{0}\n", _reqDesc));
|
||||
if (reqId != 0)
|
||||
{
|
||||
sb.Append("public void ");
|
||||
sb.Append(_reqClassName.Substring(2));
|
||||
sb.Append("(");
|
||||
foreach (var item in TempParamDic)
|
||||
{
|
||||
sb.Append(string.Format("{0} {1}, ", item.Value, item.Key));
|
||||
}
|
||||
sb.Remove(sb.Length - 2, 2);//把多余的逗号和空格删了
|
||||
sb.Append(")\n{\n");
|
||||
sb.Append(string.Format("\tCSPkg reqPkg = ProtoUtil.BuildCSMsg(netMacros.{0});\n", _reqEnumName));
|
||||
sb.Append(string.Format("\t{0} reqData = reqPkg.Body.{1};\n", _reqClassName, _reqClassName.Substring(2)));
|
||||
foreach (var item in TempParamDic)
|
||||
{
|
||||
sb.Append(string.Format("\treqData.{0} = {0};\n", item.Key));
|
||||
}
|
||||
|
||||
sb.Append("\n");
|
||||
sb.Append(string.Format("\tGameClient.Instance.SendCSMsg(reqPkg, netMacros.{0}, {1});\n", _resEnumName,
|
||||
_resClassName.Substring(2)));
|
||||
sb.Append("}\n\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
_strBindNotify.Append(string.Format("\t\tGameClient.Instance.RegCmdHandle(netMacros.{0}, {1});\n", _resEnumName, _resClassName.Substring(2)));
|
||||
}
|
||||
|
||||
//回包
|
||||
sb.Append(string.Format("private void {0}(CSMsgResult result, CSPkg msg)\n", _resClassName.Substring(2)));
|
||||
sb.Append("{\n");
|
||||
sb.Append(string.Format("\tif (DodUtil.CheckHaveError(result, msg, typeof({0})))\n", _resClassName));
|
||||
sb.Append("\t\treturn;\n\n");
|
||||
sb.Append(string.Format("\t{0} resData = msg.Body.{1};\n", _resClassName, _resClassName.Substring(2)));
|
||||
if (_resResult)
|
||||
{
|
||||
sb.Append("\tif (resData.Result.Ret != 0)\n");
|
||||
sb.Append("\t{\n");
|
||||
sb.Append("\t\tUISys.Mgr.ShowTipMsg(resData.Result);\n");
|
||||
sb.Append("\t\treturn;\n");
|
||||
sb.Append("\t}\n");
|
||||
}
|
||||
|
||||
sb.Append("\t//todo\n");
|
||||
sb.Append("}\n#endregion");
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void _GenOneReq(XmlNodeList nodeList, int reqId,int resId)
|
||||
{
|
||||
foreach (XmlNode node in nodeList)
|
||||
{
|
||||
if (node.Attributes == null)
|
||||
continue;
|
||||
if (node.Name.Equals("macro"))
|
||||
{
|
||||
var name = node.Attributes.GetNamedItem("name").Value;
|
||||
if (name.StartsWith("CS_CMD") || name.StartsWith("CS_NOTIFY"))
|
||||
{
|
||||
var id = Convert.ToInt32(node.Attributes.GetNamedItem("value").Value);
|
||||
if (id == reqId)
|
||||
_reqEnumName = name;
|
||||
if (id == resId)
|
||||
_resEnumName = name;
|
||||
}
|
||||
}
|
||||
|
||||
if (node.Name.Equals("struct"))
|
||||
{
|
||||
if (node.Attributes.GetNamedItem("id") == null)
|
||||
continue;
|
||||
var enumName = node.Attributes.GetNamedItem("id").Value;
|
||||
if (enumName.Equals(_reqEnumName))
|
||||
{
|
||||
var name = node.Attributes.GetNamedItem("name").Value;
|
||||
_reqClassName = name;
|
||||
if (node.Attributes.GetNamedItem("name") != null)
|
||||
{
|
||||
_reqDesc = node.Attributes.GetNamedItem("desc").Value;
|
||||
}
|
||||
foreach (XmlNode childNode in node.ChildNodes)
|
||||
{
|
||||
if (childNode != null && childNode.Name.Equals("entry"))
|
||||
{
|
||||
var paramName = childNode.Attributes.GetNamedItem("name").Value;
|
||||
var paramType = childNode.Attributes.GetNamedItem("type").Value;
|
||||
TempParamDic.Add(paramName, paramType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (enumName.Equals(_resEnumName))
|
||||
{
|
||||
var className = node.Attributes.GetNamedItem("name").Value;
|
||||
_resClassName = className;
|
||||
}
|
||||
}
|
||||
_GenOneReq(node.ChildNodes, reqId, resId);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导出协议ToCsharp
|
||||
|
||||
private void ExportProto()
|
||||
{
|
||||
ProtoGenTools.Export();
|
||||
}
|
||||
#endregion
|
||||
}
|
11
Assets/TEngine/Editor/ProtoGenTools/ProtoScriptTools.cs.meta
Normal file
11
Assets/TEngine/Editor/ProtoGenTools/ProtoScriptTools.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 989d4686a599e7047bba6f0cbb1bb5e7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -15,7 +15,7 @@ namespace TEngine.Editor.UI
|
||||
Generate(false);
|
||||
}
|
||||
|
||||
[MenuItem("GameObject/ScriptGenerator/UIProperty UniTask", priority = 43)]
|
||||
[MenuItem("GameObject/ScriptGenerator/UIProperty - UniTask", priority = 43)]
|
||||
public static void MemberPropertyUniTask()
|
||||
{
|
||||
Generate(false, true);
|
||||
@@ -27,7 +27,7 @@ namespace TEngine.Editor.UI
|
||||
Generate(true);
|
||||
}
|
||||
|
||||
[MenuItem("GameObject/ScriptGenerator/UIPropertyAndListener UniTask", priority = 44)]
|
||||
[MenuItem("GameObject/ScriptGenerator/UIPropertyAndListener - UniTask", priority = 44)]
|
||||
public static void MemberPropertyAndListenerUniTask()
|
||||
{
|
||||
Generate(true, true);
|
||||
|
@@ -42,9 +42,9 @@ MonoBehaviour:
|
||||
m_Gitee: 1
|
||||
HotUpdateAssemblies:
|
||||
- GameBase.dll
|
||||
- GameLogic.dll
|
||||
- GameProto.dll
|
||||
- BattleCore.Runtime.dll
|
||||
- GameLogic.dll
|
||||
AOTMetaAssemblies:
|
||||
- mscorlib.dll
|
||||
- System.dll
|
||||
|
@@ -30,7 +30,7 @@ public class HybridCLRCustomGlobalSettings
|
||||
|
||||
[Header("Auto sync with [HybridCLRGlobalSettings]")]
|
||||
[Tooltip("You should modify the file form file path [Assets/CustomHybridCLR/Settings/HybridCLRGlobalSettings.asset]")]
|
||||
public List<string> HotUpdateAssemblies = new List<string>() { "GameBase.dll","GameLogic.dll","GameProto.dll","BattleCore.Runtime.dll","Assembly-CSharp.dll"};
|
||||
public List<string> HotUpdateAssemblies = new List<string>() { "GameBase.dll","GameProto.dll","BattleCore.Runtime.dll","GameLogic.dll"};
|
||||
|
||||
[Header("Need manual setting!")] public List<string> AOTMetaAssemblies= new List<string>() {"mscorlib.dll","System.dll","System.Core.dll" };
|
||||
|
||||
|
107
Assets/TEngine/Runtime/Utility/ByteHelper.cs
Normal file
107
Assets/TEngine/Runtime/Utility/ByteHelper.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
using System.Text;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
public static class ByteHelper
|
||||
{
|
||||
public static string ToHex(this byte b)
|
||||
{
|
||||
return b.ToString("X2");
|
||||
}
|
||||
|
||||
public static string ToHex(this byte[] bytes)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
foreach (byte b in bytes)
|
||||
{
|
||||
stringBuilder.Append(b.ToString("X2"));
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
public static string ToHex(this byte[] bytes, string format)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
foreach (byte b in bytes)
|
||||
{
|
||||
stringBuilder.Append(b.ToString(format));
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
public static string ToHex(this byte[] bytes, int offset, int count)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (int i = offset; i < offset + count; ++i)
|
||||
{
|
||||
stringBuilder.Append(bytes[i].ToString("X2"));
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
public static string ToStr(this byte[] bytes)
|
||||
{
|
||||
return Encoding.Default.GetString(bytes);
|
||||
}
|
||||
|
||||
public static string ToStr(this byte[] bytes, int index, int count)
|
||||
{
|
||||
return Encoding.Default.GetString(bytes, index, count);
|
||||
}
|
||||
|
||||
public static string Utf8ToStr(this byte[] bytes)
|
||||
{
|
||||
return Encoding.UTF8.GetString(bytes);
|
||||
}
|
||||
|
||||
public static string Utf8ToStr(this byte[] bytes, int index, int count)
|
||||
{
|
||||
return Encoding.UTF8.GetString(bytes, index, count);
|
||||
}
|
||||
|
||||
public static void WriteTo(this byte[] bytes, int offset, uint num)
|
||||
{
|
||||
bytes[offset] = (byte)(num & 0xff);
|
||||
bytes[offset + 1] = (byte)((num & 0xff00) >> 8);
|
||||
bytes[offset + 2] = (byte)((num & 0xff0000) >> 16);
|
||||
bytes[offset + 3] = (byte)((num & 0xff000000) >> 24);
|
||||
}
|
||||
|
||||
public static void WriteTo(this byte[] bytes, int offset, int num)
|
||||
{
|
||||
bytes[offset] = (byte)(num & 0xff);
|
||||
bytes[offset + 1] = (byte)((num & 0xff00) >> 8);
|
||||
bytes[offset + 2] = (byte)((num & 0xff0000) >> 16);
|
||||
bytes[offset + 3] = (byte)((num & 0xff000000) >> 24);
|
||||
}
|
||||
|
||||
public static void WriteTo(this byte[] bytes, int offset, byte num)
|
||||
{
|
||||
bytes[offset] = num;
|
||||
}
|
||||
|
||||
public static void WriteTo(this byte[] bytes, int offset, short num)
|
||||
{
|
||||
bytes[offset] = (byte)(num & 0xff);
|
||||
bytes[offset + 1] = (byte)((num & 0xff00) >> 8);
|
||||
}
|
||||
|
||||
public static void WriteTo(this byte[] bytes, int offset, ushort num)
|
||||
{
|
||||
bytes[offset] = (byte)(num & 0xff);
|
||||
bytes[offset + 1] = (byte)((num & 0xff00) >> 8);
|
||||
}
|
||||
|
||||
public static unsafe void WriteTo(this byte[] bytes, int offset, long num)
|
||||
{
|
||||
byte* bPoint = (byte*)#
|
||||
for (int i = 0; i < sizeof(long); ++i)
|
||||
{
|
||||
bytes[offset + i] = bPoint[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
3
Assets/TEngine/Runtime/Utility/ByteHelper.cs.meta
Normal file
3
Assets/TEngine/Runtime/Utility/ByteHelper.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c577d22a071e44c6bf0c2a0ed5964fbe
|
||||
timeCreated: 1682418991
|
8
Assets/TEngine/Thirdly/Animation.meta
Normal file
8
Assets/TEngine/Thirdly/Animation.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0db55501a091a6e429dd80459f36b6af
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
9
Assets/TEngine/Thirdly/Animation/Editor.meta
Normal file
9
Assets/TEngine/Thirdly/Animation/Editor.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b94472036d46ad5498116fcc1cbf4dfe
|
||||
folderAsset: yes
|
||||
timeCreated: 1510262153
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
136
Assets/TEngine/Thirdly/Animation/Editor/AnimationClipUtil.cs
Normal file
136
Assets/TEngine/Thirdly/Animation/Editor/AnimationClipUtil.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
/*------------------------------------------------------------------------------
|
||||
Original Author: Pikachuxxxx
|
||||
Adapted By: Brandon Lyman
|
||||
This script is an adaptation of Pikachuxxxx's utiltiy to reverse an animation
|
||||
clip in Unity. Please find the original Github Gist here:
|
||||
https://gist.github.com/8101da6d14a5afde80c7c180e3a43644.git
|
||||
ABSOLUTELY ALL CREDIT FOR THIS SCRIPT goes to Pikachuxxxx. Thank you so much for
|
||||
your original script!
|
||||
Unfortunately, their method that utilizes
|
||||
"AnimationUtility.GetAllCurves()" is obsolete, according to the official
|
||||
unity documentation:
|
||||
https://docs.unity3d.com/ScriptReference/AnimationUtility.GetAllCurves.html
|
||||
The editor suggests using "AnimationUtility.GetCurveBindings()" in its stead,
|
||||
and this script reveals how that can be accomplished as it is slightly
|
||||
different from the original methodology. I also added in some logic to
|
||||
differentiate between the original clip and the new clip being created, as
|
||||
I experienced null reference exceptions after the original "ClearAllCurves()"
|
||||
call. Additionally, I placed the script's logic in a ScriptableWizard class to
|
||||
fit the needs for my project. For more information on ScriptableWizards, please
|
||||
refer to this Unity Learn Tutorial:
|
||||
https://learn.unity.com/tutorial/creating-basic-editor-tools#5cf6c8f2edbc2a160a8a0951
|
||||
Hope this helps and please comment with any questions. Thanks!
|
||||
------------------------------------------------------------------------------*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
//using static DG.DemiEditor.DeGUIKey;
|
||||
|
||||
public class SpiteAnimationClip : ScriptableWizard
|
||||
{
|
||||
public string NewFileName = "";
|
||||
|
||||
public float BeginTime = 0;
|
||||
|
||||
public float EndTime = 1;
|
||||
|
||||
[MenuItem("Tools/SplitAnimationClip...")]
|
||||
private static void SplitAnimationClipShow()
|
||||
{
|
||||
ScriptableWizard.DisplayWizard<SpiteAnimationClip>("SpiteAnimationClip...", "splite");
|
||||
}
|
||||
|
||||
private void OnWizardCreate()
|
||||
{
|
||||
string directoryPath =
|
||||
Path.GetDirectoryName(AssetDatabase.GetAssetPath(Selection.activeObject));
|
||||
string fileName =
|
||||
Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject));
|
||||
string fileExtension =
|
||||
Path.GetExtension(AssetDatabase.GetAssetPath(Selection.activeObject));
|
||||
fileName = fileName.Split('.')[0];
|
||||
|
||||
string copiedFilePath = "";
|
||||
if (NewFileName != null && NewFileName != "")
|
||||
{
|
||||
copiedFilePath = directoryPath + Path.DirectorySeparatorChar + NewFileName + fileExtension;
|
||||
}
|
||||
else
|
||||
{
|
||||
copiedFilePath = directoryPath + Path.DirectorySeparatorChar + fileName + $"_split_{BeginTime}_{EndTime}" + fileExtension;
|
||||
}
|
||||
|
||||
AnimationClip originalClip = GetSelectedClip();
|
||||
|
||||
AssetDatabase.CopyAsset(AssetDatabase.GetAssetPath(Selection.activeObject), copiedFilePath);
|
||||
|
||||
AnimationClip reversedClip = (AnimationClip)AssetDatabase.LoadAssetAtPath(copiedFilePath, typeof(AnimationClip));
|
||||
|
||||
if (originalClip == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
float clipLength = originalClip.length;
|
||||
EditorCurveBinding[] curveBindings = AnimationUtility.GetCurveBindings(originalClip);
|
||||
Debug.Log(curveBindings.Length);
|
||||
reversedClip.ClearCurves();
|
||||
float timeOffset = -1;
|
||||
foreach (EditorCurveBinding binding in curveBindings)
|
||||
{
|
||||
AnimationCurve curve = AnimationUtility.GetEditorCurve(originalClip, binding);
|
||||
var keys = new List<Keyframe>();// curve.keys;
|
||||
int keyCount = curve.keys.Length;
|
||||
for (int i = 0; i < keyCount; i++)
|
||||
{
|
||||
Keyframe K = curve.keys[i];
|
||||
|
||||
if (K.time >= BeginTime && K.time <= EndTime)
|
||||
{
|
||||
if (timeOffset < 0)
|
||||
{
|
||||
timeOffset = K.time;
|
||||
}
|
||||
K.time = K.time - timeOffset;
|
||||
keys.Add(K);
|
||||
Debug.LogError("time " + clipLength + " index " + i + " time " + K.time);
|
||||
}
|
||||
|
||||
}
|
||||
curve.keys = keys.ToArray() ;
|
||||
reversedClip.SetCurve(binding.path, binding.type, binding.propertyName, curve);
|
||||
}
|
||||
|
||||
AnimationEvent[] events = AnimationUtility.GetAnimationEvents(originalClip);
|
||||
|
||||
var eventsList= new List<AnimationEvent>();
|
||||
if (events.Length > 0)
|
||||
{
|
||||
for (int i = 0; i < events.Length; i++)
|
||||
{
|
||||
var eventTemp = events[i];
|
||||
if (eventTemp.time <= BeginTime && eventTemp.time >= EndTime)
|
||||
{
|
||||
eventTemp.time = eventTemp.time - timeOffset;
|
||||
eventsList.Add(eventTemp);
|
||||
}
|
||||
}
|
||||
AnimationUtility.SetAnimationEvents(reversedClip, eventsList.ToArray());
|
||||
}
|
||||
|
||||
Debug.Log("[[ReverseAnimationClip.cs]] Successfully reversed " +
|
||||
"animation clip " + fileName + ".");
|
||||
}
|
||||
|
||||
private AnimationClip GetSelectedClip()
|
||||
{
|
||||
Object[] clips = Selection.GetFiltered(typeof(AnimationClip), SelectionMode.Assets);
|
||||
if (clips.Length > 0)
|
||||
{
|
||||
return clips[0] as AnimationClip;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9368fbead1d3043419793a2c9c3ef030
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8be52d198504f814db7f9d88b54c5a44
|
||||
timeCreated: 1510337152
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
36
Luban/Proto/pb_schemas/proto_cs_base.proto
Normal file
36
Luban/Proto/pb_schemas/proto_cs_base.proto
Normal file
@@ -0,0 +1,36 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package GameProto;
|
||||
// 这个文件只放协议,和协议头
|
||||
|
||||
// 消息协议
|
||||
message CSPkg
|
||||
{
|
||||
CSPkgHead Head = 1; //消息协议头
|
||||
CSPkgBody Body = 2; //消息协议体
|
||||
}
|
||||
|
||||
// 消息协议头
|
||||
message CSPkgHead
|
||||
{
|
||||
uint32 MsgId = 1; //协议号
|
||||
uint32 MsgLength = 2; //协议长度
|
||||
uint32 MsgVersion = 3; //协议版本
|
||||
uint32 Echo = 4; //回带字段
|
||||
uint32 SvrTime = 5; //服务器时间
|
||||
}
|
||||
|
||||
// 消息协议体
|
||||
message CSPkgBody
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 协议ID
|
||||
enum CSMsgID
|
||||
{
|
||||
CS_START = 0;
|
||||
CS_HeartBeat = 10001;
|
||||
CS_END = 10000;
|
||||
}
|
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"com.focus-creative-games.hybridclr_unity": "2.1.0",
|
||||
"com.unity.2d.animation": "5.2.0",
|
||||
"com.unity.2d.pixel-perfect": "4.0.1",
|
||||
"com.unity.2d.psdimporter": "4.3.0",
|
||||
"com.unity.2d.animation": "7.0.9",
|
||||
"com.unity.2d.pixel-perfect": "5.0.3",
|
||||
"com.unity.2d.psdimporter": "6.0.7",
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.2d.spriteshape": "5.3.0",
|
||||
"com.unity.2d.spriteshape": "7.0.6",
|
||||
"com.unity.2d.tilemap": "1.0.0",
|
||||
"com.unity.collab-proxy": "1.15.15",
|
||||
"com.unity.ide.rider": "2.0.7",
|
||||
"com.unity.ide.visualstudio": "2.0.14",
|
||||
"com.unity.collab-proxy": "2.0.1",
|
||||
"com.unity.ide.rider": "3.0.18",
|
||||
"com.unity.ide.visualstudio": "2.0.17",
|
||||
"com.unity.ide.vscode": "1.2.5",
|
||||
"com.unity.scriptablebuildpipeline": "1.19.6",
|
||||
"com.unity.scriptablebuildpipeline": "1.20.1",
|
||||
"com.unity.test-framework": "1.1.31",
|
||||
"com.unity.textmeshpro": "3.0.6",
|
||||
"com.unity.timeline": "1.4.8",
|
||||
"com.unity.timeline": "1.6.4",
|
||||
"com.unity.ugui": "1.0.0",
|
||||
"com.unity.modules.ai": "1.0.0",
|
||||
"com.unity.modules.androidjni": "1.0.0",
|
||||
@@ -58,4 +58,4 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -8,12 +8,11 @@
|
||||
"url": "https://package.openupm.cn"
|
||||
},
|
||||
"com.unity.2d.animation": {
|
||||
"version": "5.2.0",
|
||||
"version": "7.0.9",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.common": "4.2.0",
|
||||
"com.unity.mathematics": "1.1.0",
|
||||
"com.unity.2d.common": "6.0.6",
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.modules.animation": "1.0.0",
|
||||
"com.unity.modules.uielements": "1.0.0"
|
||||
@@ -21,36 +20,38 @@
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.2d.common": {
|
||||
"version": "4.2.0",
|
||||
"version": "6.0.6",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.modules.uielements": "1.0.0"
|
||||
"com.unity.mathematics": "1.1.0",
|
||||
"com.unity.modules.uielements": "1.0.0",
|
||||
"com.unity.burst": "1.5.1"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.2d.path": {
|
||||
"version": "4.0.2",
|
||||
"version": "5.0.2",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.2d.pixel-perfect": {
|
||||
"version": "4.0.1",
|
||||
"version": "5.0.3",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.2d.psdimporter": {
|
||||
"version": "4.3.0",
|
||||
"version": "6.0.7",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.common": "4.2.0",
|
||||
"com.unity.2d.animation": "5.2.0",
|
||||
"com.unity.2d.animation": "7.0.9",
|
||||
"com.unity.2d.common": "6.0.6",
|
||||
"com.unity.2d.sprite": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
@@ -62,13 +63,13 @@
|
||||
"dependencies": {}
|
||||
},
|
||||
"com.unity.2d.spriteshape": {
|
||||
"version": "5.3.0",
|
||||
"version": "7.0.6",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.mathematics": "1.1.0",
|
||||
"com.unity.2d.common": "4.2.0",
|
||||
"com.unity.2d.path": "4.0.2",
|
||||
"com.unity.2d.common": "6.0.4",
|
||||
"com.unity.2d.path": "5.0.2",
|
||||
"com.unity.modules.physics2d": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
@@ -79,15 +80,22 @@
|
||||
"source": "builtin",
|
||||
"dependencies": {}
|
||||
},
|
||||
"com.unity.collab-proxy": {
|
||||
"version": "1.15.15",
|
||||
"depth": 0,
|
||||
"com.unity.burst": {
|
||||
"version": "1.6.6",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.services.core": "1.0.1"
|
||||
"com.unity.mathematics": "1.2.1"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.collab-proxy": {
|
||||
"version": "2.0.1",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.ext.nunit": {
|
||||
"version": "1.0.6",
|
||||
"depth": 1,
|
||||
@@ -96,16 +104,16 @@
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.ide.rider": {
|
||||
"version": "2.0.7",
|
||||
"version": "3.0.18",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.test-framework": "1.1.1"
|
||||
"com.unity.ext.nunit": "1.0.6"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.ide.visualstudio": {
|
||||
"version": "2.0.14",
|
||||
"version": "2.0.17",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -121,28 +129,19 @@
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.mathematics": {
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.6",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.scriptablebuildpipeline": {
|
||||
"version": "1.19.6",
|
||||
"version": "1.20.1",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.services.core": {
|
||||
"version": "1.0.1",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.modules.unitywebrequest": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.test-framework": {
|
||||
"version": "1.1.31",
|
||||
"depth": 0,
|
||||
@@ -164,7 +163,7 @@
|
||||
"url": "https://packages.unity.cn"
|
||||
},
|
||||
"com.unity.timeline": {
|
||||
"version": "1.4.8",
|
||||
"version": "1.6.4",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
|
17
ProjectSettings/BurstAotSettings_StandaloneWindows.json
Normal file
17
ProjectSettings/BurstAotSettings_StandaloneWindows.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"MonoBehaviour": {
|
||||
"Version": 4,
|
||||
"EnableBurstCompilation": true,
|
||||
"EnableOptimisations": true,
|
||||
"EnableSafetyChecks": false,
|
||||
"EnableDebugInAllBuilds": false,
|
||||
"UsePlatformSDKLinker": false,
|
||||
"CpuMinTargetX32": 0,
|
||||
"CpuMaxTargetX32": 0,
|
||||
"CpuMinTargetX64": 0,
|
||||
"CpuMaxTargetX64": 0,
|
||||
"CpuTargetsX32": 6,
|
||||
"CpuTargetsX64": 72,
|
||||
"OptimizeFor": 0
|
||||
}
|
||||
}
|
6
ProjectSettings/CommonBurstAotSettings.json
Normal file
6
ProjectSettings/CommonBurstAotSettings.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"MonoBehaviour": {
|
||||
"Version": 4,
|
||||
"DisabledWarnings": ""
|
||||
}
|
||||
}
|
@@ -18,9 +18,9 @@ MonoBehaviour:
|
||||
il2cppPlusRepoURL: https://gitee.com/focus-creative-games/il2cpp_plus
|
||||
hotUpdateAssemblyDefinitions:
|
||||
- {fileID: 5897886265953266890, guid: 08c3762f54316454ca6b6fbcb22b40e5, type: 3}
|
||||
- {fileID: 5897886265953266890, guid: acd6baa97ba40d3478c29cd9c76ff9e3, type: 3}
|
||||
- {fileID: 5897886265953266890, guid: a90b2d3377c5e4a4db95cc44fb82045e, type: 3}
|
||||
- {fileID: 5897886265953266890, guid: 641632c4f8079b94f963b5284d859a12, type: 3}
|
||||
- {fileID: 5897886265953266890, guid: acd6baa97ba40d3478c29cd9c76ff9e3, type: 3}
|
||||
hotUpdateAssemblies: []
|
||||
preserveHotUpdateAssemblies: []
|
||||
hotUpdateDllCompileOutputRootDir: HybridCLRData/HotUpdateDlls
|
||||
|
35
ProjectSettings/MemorySettings.asset
Normal file
35
ProjectSettings/MemorySettings.asset
Normal file
@@ -0,0 +1,35 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!387306366 &1
|
||||
MemorySettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_EditorMemorySettings:
|
||||
m_MainAllocatorBlockSize: -1
|
||||
m_ThreadAllocatorBlockSize: -1
|
||||
m_MainGfxBlockSize: -1
|
||||
m_ThreadGfxBlockSize: -1
|
||||
m_CacheBlockSize: -1
|
||||
m_TypetreeBlockSize: -1
|
||||
m_ProfilerBlockSize: -1
|
||||
m_ProfilerEditorBlockSize: -1
|
||||
m_BucketAllocatorGranularity: -1
|
||||
m_BucketAllocatorBucketsCount: -1
|
||||
m_BucketAllocatorBlockSize: -1
|
||||
m_BucketAllocatorBlockCount: -1
|
||||
m_ProfilerBucketAllocatorGranularity: -1
|
||||
m_ProfilerBucketAllocatorBucketsCount: -1
|
||||
m_ProfilerBucketAllocatorBlockSize: -1
|
||||
m_ProfilerBucketAllocatorBlockCount: -1
|
||||
m_TempAllocatorSizeMain: -1
|
||||
m_JobTempAllocatorBlockSize: -1
|
||||
m_BackgroundJobTempAllocatorBlockSize: -1
|
||||
m_JobTempAllocatorReducedBlockSize: -1
|
||||
m_TempAllocatorSizeGIBakingWorker: -1
|
||||
m_TempAllocatorSizeNavMeshWorker: -1
|
||||
m_TempAllocatorSizeAudioWorker: -1
|
||||
m_TempAllocatorSizeCloudWorker: -1
|
||||
m_TempAllocatorSizeGfx: -1
|
||||
m_TempAllocatorSizeJobWorker: -1
|
||||
m_TempAllocatorSizeBackgroundWorker: -1
|
||||
m_TempAllocatorSizePreloadManager: -1
|
||||
m_PlatformMemorySettings: {}
|
@@ -12,10 +12,11 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_EnablePreviewPackages: 1
|
||||
m_EnablePreReleasePackages: 0
|
||||
m_EnablePackageDependencies: 1
|
||||
m_AdvancedSettingsExpanded: 1
|
||||
m_ScopedRegistriesSettingsExpanded: 1
|
||||
m_SeeAllPackageVersions: 0
|
||||
oneTimeWarningShown: 1
|
||||
m_Registries:
|
||||
- m_Id: main
|
||||
@@ -24,28 +25,20 @@ MonoBehaviour:
|
||||
m_Scopes: []
|
||||
m_IsDefault: 1
|
||||
m_Capabilities: 7
|
||||
- m_Id: scoped:hybridclr_unity
|
||||
m_ConfigSource: 0
|
||||
- m_Id: scoped:project:hybridclr_unity
|
||||
m_Name: hybridclr_unity
|
||||
m_Url: https://package.openupm.cn
|
||||
m_Scopes:
|
||||
- com.focus-creative-games.hybridclr_unity
|
||||
m_IsDefault: 0
|
||||
m_Capabilities: 0
|
||||
m_UserSelectedRegistryName:
|
||||
m_ConfigSource: 4
|
||||
m_UserSelectedRegistryName: hybridclr_unity
|
||||
m_UserAddingNewScopedRegistry: 0
|
||||
m_RegistryInfoDraft:
|
||||
m_ErrorMessage:
|
||||
m_Original:
|
||||
m_Id: scoped:hybridclr_unity
|
||||
m_Name: hybridclr_unity
|
||||
m_Url: https://package.openupm.cn
|
||||
m_Scopes:
|
||||
- com.focus-creative-games.hybridclr_unity
|
||||
m_IsDefault: 0
|
||||
m_Capabilities: 0
|
||||
m_Modified: 0
|
||||
m_Name: hybridclr_unity
|
||||
m_Url: https://package.openupm.cn
|
||||
m_Scopes:
|
||||
- com.focus-creative-games.hybridclr_unity
|
||||
m_SelectedScopeIndex: 0
|
||||
m_ErrorMessage:
|
||||
m_UserModificationsInstanceId: -832
|
||||
m_OriginalInstanceId: -836
|
||||
m_LoadAssets: 0
|
||||
|
@@ -3,7 +3,7 @@
|
||||
--- !u!129 &1
|
||||
PlayerSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 22
|
||||
serializedVersion: 24
|
||||
productGUID: 31414a79c236a5c45a5b9a6d85d8615c
|
||||
AndroidProfiler: 0
|
||||
AndroidFilterTouchesWhenObscured: 0
|
||||
@@ -156,11 +156,13 @@ PlayerSettings:
|
||||
enable360StereoCapture: 0
|
||||
isWsaHolographicRemotingEnabled: 0
|
||||
enableFrameTimingStats: 0
|
||||
enableOpenGLProfilerGPURecorders: 1
|
||||
useHDRDisplay: 0
|
||||
D3DHDRBitDepth: 0
|
||||
m_ColorGamuts: 00000000
|
||||
targetPixelDensity: 30
|
||||
resolutionScalingMode: 0
|
||||
resetResolutionOnWindowResize: 0
|
||||
androidSupportedAspectRatio: 1
|
||||
androidMaxAspectRatio: 2.1
|
||||
applicationIdentifier:
|
||||
@@ -173,7 +175,7 @@ PlayerSettings:
|
||||
tvOS: 0
|
||||
overrideDefaultApplicationIdentifier: 1
|
||||
AndroidBundleVersionCode: 1
|
||||
AndroidMinSdkVersion: 19
|
||||
AndroidMinSdkVersion: 22
|
||||
AndroidTargetSdkVersion: 0
|
||||
AndroidPreferredInstallLocation: 1
|
||||
aotOptions:
|
||||
@@ -229,6 +231,7 @@ PlayerSettings:
|
||||
iOSLaunchScreeniPadCustomStoryboardPath:
|
||||
iOSDeviceRequirements: []
|
||||
iOSURLSchemes: []
|
||||
macOSURLSchemes: []
|
||||
iOSBackgroundModes: 0
|
||||
iOSMetalForceHardShadows: 0
|
||||
metalEditorSupport: 1
|
||||
@@ -374,7 +377,7 @@ PlayerSettings:
|
||||
m_Kind: 1
|
||||
m_SubKind:
|
||||
m_BuildTargetBatching: []
|
||||
m_BuildTargetSecurityBuild: []
|
||||
m_BuildTargetShaderSettings: []
|
||||
m_BuildTargetGraphicsJobs:
|
||||
- m_BuildTarget: MacStandaloneSupport
|
||||
m_GraphicsJobs: 0
|
||||
@@ -406,11 +409,13 @@ PlayerSettings:
|
||||
m_BuildTargetGraphicsAPIs:
|
||||
- m_BuildTarget: AndroidPlayer
|
||||
m_APIs: 150000000b000000
|
||||
m_Automatic: 0
|
||||
m_Automatic: 1
|
||||
- m_BuildTarget: iOSSupport
|
||||
m_APIs: 10000000
|
||||
m_Automatic: 1
|
||||
m_BuildTargetVRSettings: []
|
||||
m_DefaultShaderChunkSizeInMB: 16
|
||||
m_DefaultShaderChunkCount: 0
|
||||
openGLRequireES31: 0
|
||||
openGLRequireES31AEP: 0
|
||||
openGLRequireES32: 0
|
||||
@@ -422,6 +427,7 @@ PlayerSettings:
|
||||
m_BuildTargetGroupLightmapEncodingQuality: []
|
||||
m_BuildTargetGroupLightmapSettings: []
|
||||
m_BuildTargetNormalMapEncoding: []
|
||||
m_BuildTargetDefaultTextureCompressionFormat: []
|
||||
playModeTestRunnerEnabled: 0
|
||||
runPlayModeTestAsEditModeTest: 0
|
||||
actionOnDotNetUnhandledException: 1
|
||||
@@ -431,7 +437,7 @@ PlayerSettings:
|
||||
cameraUsageDescription: "\u662F\u5426\u5141\u8BB8\u6253\u5F00\u6444\u50CF\u5934"
|
||||
locationUsageDescription: "\u662F\u5426\u5141\u8BB8\u8BBF\u95EE\u5B9A\u4F4D"
|
||||
microphoneUsageDescription: "\u662F\u5426\u5141\u8BB8\u8BBF\u95EE\u7535\u8BDD"
|
||||
bluetoothUsageDescription:
|
||||
bluetoothUsageDescription: "\u662F\u5426\u5141\u8BB8\u8BBF\u95EE\u84DD\u7259"
|
||||
switchNMETAOverride:
|
||||
switchNetLibKey:
|
||||
switchSocketMemoryPoolSize: 6144
|
||||
@@ -440,6 +446,7 @@ PlayerSettings:
|
||||
switchScreenResolutionBehavior: 2
|
||||
switchUseCPUProfiler: 0
|
||||
switchUseGOLDLinker: 0
|
||||
switchLTOSetting: 0
|
||||
switchApplicationID: 0x01004b9000490000
|
||||
switchNSODependencies:
|
||||
switchTitleNames_0:
|
||||
@@ -515,7 +522,6 @@ PlayerSettings:
|
||||
switchReleaseVersion: 0
|
||||
switchDisplayVersion: 1.0.0
|
||||
switchStartupUserAccount: 0
|
||||
switchTouchScreenUsage: 0
|
||||
switchSupportedLanguagesMask: 0
|
||||
switchLogoType: 0
|
||||
switchApplicationErrorCodeCategory:
|
||||
@@ -557,6 +563,7 @@ PlayerSettings:
|
||||
switchNativeFsCacheSize: 32
|
||||
switchIsHoldTypeHorizontal: 0
|
||||
switchSupportedNpadCount: 8
|
||||
switchEnableTouchScreen: 1
|
||||
switchSocketConfigEnabled: 0
|
||||
switchTcpInitialSendBufferSize: 32
|
||||
switchTcpInitialReceiveBufferSize: 64
|
||||
@@ -569,6 +576,7 @@ PlayerSettings:
|
||||
switchNetworkInterfaceManagerInitializeEnabled: 1
|
||||
switchPlayerConnectionEnabled: 1
|
||||
switchUseNewStyleFilepaths: 0
|
||||
switchUseLegacyFmodPriorities: 1
|
||||
switchUseMicroSleepForYield: 1
|
||||
switchEnableRamDiskSupport: 0
|
||||
switchMicroSleepForYieldTime: 25
|
||||
@@ -668,12 +676,13 @@ PlayerSettings:
|
||||
webGLLinkerTarget: 1
|
||||
webGLThreadsSupport: 0
|
||||
webGLDecompressionFallback: 0
|
||||
webGLPowerPreference: 2
|
||||
scriptingDefineSymbols:
|
||||
1: ENABLE_LOG
|
||||
4: ENABLE_LOG
|
||||
7: ENABLE_LOG
|
||||
13: ENABLE_LOG
|
||||
14: ENABLE_LOG
|
||||
Android: ENABLE_LOG
|
||||
Standalone: ENABLE_LOG
|
||||
WebGL: ENABLE_LOG
|
||||
Windows Store Apps: ENABLE_LOG
|
||||
iPhone: ENABLE_LOG
|
||||
additionalCompilerArguments: {}
|
||||
platformArchitecture: {}
|
||||
scriptingBackend:
|
||||
@@ -685,8 +694,8 @@ PlayerSettings:
|
||||
suppressCommonWarnings: 1
|
||||
allowUnsafeCode: 1
|
||||
useDeterministicCompilation: 1
|
||||
useReferenceAssemblies: 1
|
||||
enableRoslynAnalyzers: 1
|
||||
selectedPlatform: 0
|
||||
additionalIl2CppArgs:
|
||||
scriptingRuntimeVersion: 1
|
||||
gcIncremental: 0
|
||||
@@ -766,6 +775,7 @@ PlayerSettings:
|
||||
m_VersionName:
|
||||
apiCompatibilityLevel: 6
|
||||
activeInputHandler: 0
|
||||
windowsGamepadBackendHint: 0
|
||||
cloudProjectId: 323deeed-4aa5-498b-9105-0efdb8cce118
|
||||
framebufferDepthMemorylessMode: 0
|
||||
qualitySettingsNames: []
|
||||
@@ -773,4 +783,6 @@ PlayerSettings:
|
||||
organizationId:
|
||||
cloudEnabled: 0
|
||||
legacyClampBlendShapeWeights: 0
|
||||
playerDataPath:
|
||||
forceSRGBBlit: 1
|
||||
virtualTexturingSupportEnabled: 0
|
||||
|
@@ -1,2 +1,2 @@
|
||||
m_EditorVersion: 2020.3.33f1c2
|
||||
m_EditorVersionWithRevision: 2020.3.33f1c2 (8e753a737e7b)
|
||||
m_EditorVersion: 2021.3.20f1c1
|
||||
m_EditorVersionWithRevision: 2021.3.20f1c1 (7cf0fbd73406)
|
||||
|
167
ProjectSettings/SceneTemplateSettings.json
Normal file
167
ProjectSettings/SceneTemplateSettings.json
Normal file
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"templatePinStates": [],
|
||||
"dependencyTypeInfos": [
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.AnimationClip",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEditor.Animations.AnimatorController",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.AnimatorOverrideController",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEditor.Audio.AudioMixerController",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.ComputeShader",
|
||||
"ignore": true,
|
||||
"defaultInstantiationMode": 1,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Cubemap",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.GameObject",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEditor.LightingDataAsset",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": false
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.LightingSettings",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Material",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEditor.MonoScript",
|
||||
"ignore": true,
|
||||
"defaultInstantiationMode": 1,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.PhysicMaterial",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.PhysicsMaterial2D",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Rendering.VolumeProfile",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEditor.SceneAsset",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": false
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Shader",
|
||||
"ignore": true,
|
||||
"defaultInstantiationMode": 1,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.ShaderVariantCollection",
|
||||
"ignore": true,
|
||||
"defaultInstantiationMode": 1,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Texture",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Texture2D",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.Timeline.TimelineAsset",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 0,
|
||||
"supportsModification": true
|
||||
}
|
||||
],
|
||||
"defaultDependencyTypeInfo": {
|
||||
"userAdded": false,
|
||||
"type": "<default_scene_template_dependencies>",
|
||||
"ignore": false,
|
||||
"defaultInstantiationMode": 1,
|
||||
"supportsModification": true
|
||||
},
|
||||
"newSceneOverride": 0
|
||||
}
|
@@ -13,3 +13,4 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
assetDefaultFramerate: 60
|
||||
m_DefaultFrameRate: 60
|
||||
|
0
ProjectSettings/boot.config
Normal file
0
ProjectSettings/boot.config
Normal file
@@ -5,33 +5,36 @@ EditorUserSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 4
|
||||
m_ConfigSettings:
|
||||
RecentlyUsedScenePath-0:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e662e30e7ee312badc033e7e2283e300a0be22c083b3436bc1f0702e212
|
||||
RecentlyUsedSceneGuid-0:
|
||||
value: 0557570353005959590f5f7b48700744174f417c7e717165797b1835b2b96d6a
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-1:
|
||||
RecentlyUsedScenePath-0:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e662e30e7ee312badd333faf333313b032eea3b053d181aea1e471ef8021e12
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-2:
|
||||
RecentlyUsedScenePath-1:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e662e30e7ee312badc033e7e2283e301c03fc350a393526e20f1a45e305031f08
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-3:
|
||||
RecentlyUsedScenePath-2:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e663c21e1e83d2ee7e379dde2292b353705dd350337053dfd0e1028c5451f05181ae4
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-4:
|
||||
RecentlyUsedScenePath-3:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e663c21e1e83d2ee7e379c6eb3e18091027f73d092e0d3ae1293a45e305031f08
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-5:
|
||||
RecentlyUsedScenePath-4:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e662e30e7ee312badd737fdef092f30300cea190a3a0d3ae119471ef8021e12
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-6:
|
||||
RecentlyUsedScenePath-5:
|
||||
value: 2242470311464677080f021607265a1e5932002b21382a353e662e30e7ee312badcb39eee81936323c0fee280d3d4f2afc031d12
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-7:
|
||||
RecentlyUsedScenePath-6:
|
||||
value: 22424703114646680e0b0227036c5e020204553f256522353e201a3dacf53a31f6fe
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-8:
|
||||
RecentlyUsedScenePath-7:
|
||||
value: 224247031146467a2c3a092f006c4b151b07563f22213229
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-8:
|
||||
value: 224247031146467a2c3a092f006c6b15050357012f3812353e3d5218e1f0003df1f378fce9332b25
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-9:
|
||||
value: 22424703114646680e0b0227036c52111f19563f22213229
|
||||
flags: 0
|
||||
@@ -43,9 +46,13 @@ EditorUserSettings:
|
||||
m_VCDebugCmd: 0
|
||||
m_VCDebugOut: 0
|
||||
m_SemanticMergeMode: 2
|
||||
m_DesiredImportWorkerCount: 1
|
||||
m_StandbyImportWorkerCount: 1
|
||||
m_IdleImportWorkerShutdownDelay: 60000
|
||||
m_VCShowFailedCheckout: 1
|
||||
m_VCOverwriteFailedCheckoutAssets: 1
|
||||
m_VCProjectOverlayIcons: 1
|
||||
m_VCHierarchyOverlayIcons: 1
|
||||
m_VCOtherOverlayIcons: 1
|
||||
m_VCAllowAsyncUpdate: 1
|
||||
m_ArtifactGarbageCollection: 1
|
||||
|
Reference in New Issue
Block a user