Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5887133894 | ||
![]() |
6166fd24c6 |
@@ -1,4 +1,5 @@
|
||||
using Luban;
|
||||
using GameBase;
|
||||
using GameConfig;
|
||||
using TEngine;
|
||||
using UnityEngine;
|
||||
@@ -6,12 +7,8 @@ using UnityEngine;
|
||||
/// <summary>
|
||||
/// 配置加载器。
|
||||
/// </summary>
|
||||
public class ConfigSystem
|
||||
public class ConfigSystem : Singleton<ConfigSystem>
|
||||
{
|
||||
private static ConfigSystem _instance;
|
||||
|
||||
public static ConfigSystem Instance => _instance ??= new ConfigSystem();
|
||||
|
||||
private bool _init = false;
|
||||
|
||||
private Tables _tables;
|
||||
@@ -28,8 +25,6 @@ public class ConfigSystem
|
||||
return _tables;
|
||||
}
|
||||
}
|
||||
|
||||
private IResourceModule _resourceModule;
|
||||
|
||||
/// <summary>
|
||||
/// 加载配置。
|
||||
@@ -47,12 +42,9 @@ public class ConfigSystem
|
||||
/// <returns>ByteBuf</returns>
|
||||
private ByteBuf LoadByteBuf(string file)
|
||||
{
|
||||
if (_resourceModule == null)
|
||||
{
|
||||
_resourceModule = ModuleSystem.GetModule<IResourceModule>();
|
||||
}
|
||||
TextAsset textAsset = _resourceModule.LoadAsset<TextAsset>(file);
|
||||
TextAsset textAsset = GameModule.Resource.LoadAsset<TextAsset>(file);
|
||||
byte[] bytes = textAsset.bytes;
|
||||
GameModule.Resource.UnloadAsset(textAsset);
|
||||
return new ByteBuf(bytes);
|
||||
}
|
||||
}
|
@@ -1,29 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
public static class ExternalTypeUtil
|
||||
{
|
||||
public static Vector2 NewVector2(GameConfig.vector2 v)
|
||||
{
|
||||
return new Vector2(v.X, v.Y);
|
||||
}
|
||||
|
||||
public static Vector3 NewVector3(GameConfig.vector3 v)
|
||||
{
|
||||
return new Vector3(v.X, v.Y, v.Z);
|
||||
}
|
||||
|
||||
public static Vector4 NewVector4(GameConfig.vector4 v)
|
||||
{
|
||||
return new Vector4(v.X, v.Y, v.Z, v.W);
|
||||
}
|
||||
|
||||
public static Vector2Int NewVector2Int(GameConfig.vector2int v)
|
||||
{
|
||||
return new Vector2Int(v.X, v.Y);
|
||||
}
|
||||
|
||||
public static Vector3Int NewVector3Int(GameConfig.vector3int v)
|
||||
{
|
||||
return new Vector3Int(v.X, v.Y, v.Z);
|
||||
}
|
||||
}
|
@@ -1,46 +1,17 @@
|
||||
<module name="">
|
||||
<bean name="vector2" valueType="1" sep=",">
|
||||
<var name="x" type="float" />
|
||||
<var name="y" type="float" />
|
||||
<mapper target="client" codeTarget="cs-bin,cs-simple-json,cs-newtonsoft-json">
|
||||
<option name="type" value="UnityEngine.Vector2" />
|
||||
<option name="constructor" value="ExternalTypeUtil.NewVector2" />
|
||||
</mapper>
|
||||
<var name="x" type="float"/>
|
||||
<var name="y" type="float"/>
|
||||
</bean>
|
||||
<bean name="vector3" valueType="1" sep=",">
|
||||
<var name="x" type="float" />
|
||||
<var name="y" type="float" />
|
||||
<var name="z" type="float" />
|
||||
<mapper target="client" codeTarget="cs-bin,cs-simple-json,cs-newtonsoft-json">
|
||||
<option name="type" value="UnityEngine.Vector3" />
|
||||
<option name="constructor" value="ExternalTypeUtil.NewVector3" />
|
||||
</mapper>
|
||||
<var name="x" type="float"/>
|
||||
<var name="y" type="float"/>
|
||||
<var name="z" type="float"/>
|
||||
</bean>
|
||||
<bean name="vector4" valueType="1" sep=",">
|
||||
<var name="x" type="float" />
|
||||
<var name="y" type="float" />
|
||||
<var name="z" type="float" />
|
||||
<var name="w" type="float" />
|
||||
<mapper target="client" codeTarget="cs-bin,cs-simple-json,cs-newtonsoft-json">
|
||||
<option name="type" value="UnityEngine.Vector4" />
|
||||
<option name="constructor" value="ExternalTypeUtil.NewVector4" />
|
||||
</mapper>
|
||||
</bean>
|
||||
<bean name="vector2int" valueType="1" sep=",">
|
||||
<var name="x" type="int" />
|
||||
<var name="y" type="int" />
|
||||
<mapper target="client" codeTarget="cs-bin,cs-simple-json,cs-newtonsoft-json">
|
||||
<option name="type" value="UnityEngine.Vector2Int" />
|
||||
<option name="constructor" value="ExternalTypeUtil.NewVector2Int" />
|
||||
</mapper>
|
||||
</bean>
|
||||
<bean name="vector3int" valueType="1" sep=",">
|
||||
<var name="x" type="int" />
|
||||
<var name="y" type="int" />
|
||||
<var name="z" type="int" />
|
||||
<mapper target="client" codeTarget="cs-bin,cs-simple-json,cs-newtonsoft-json">
|
||||
<option name="type" value="UnityEngine.Vector3" />
|
||||
<option name="constructor" value="ExternalTypeUtil.NewVector3" />
|
||||
</mapper>
|
||||
<var name="x" type="float"/>
|
||||
<var name="y" type="float"/>
|
||||
<var name="z" type="float"/>
|
||||
<var name="w" type="float"/>
|
||||
</bean>
|
||||
</module>
|
@@ -8,14 +8,12 @@ set DATA_OUTPATH=%WORKSPACE%/UnityProject/Assets/AssetRaw/Configs/bytes/
|
||||
set CODE_OUTPATH=%WORKSPACE%/UnityProject/Assets/GameScripts/HotFix/GameProto/GameConfig/
|
||||
|
||||
xcopy /s /e /i /y "%CONF_ROOT%\CustomTemplate\ConfigSystem.cs" "%WORKSPACE%\UnityProject\Assets\GameScripts\HotFix\GameProto\ConfigSystem.cs"
|
||||
xcopy /s /e /i /y "%CONF_ROOT%\CustomTemplate\ExternalTypeUtil.cs" "%WORKSPACE%\UnityProject\Assets\GameScripts\HotFix\GameProto\ExternalTypeUtil.cs"
|
||||
|
||||
dotnet %LUBAN_DLL% ^
|
||||
-t client ^
|
||||
-c cs-bin ^
|
||||
-d bin^
|
||||
--conf %CONF_ROOT%\luban.conf ^
|
||||
-x code.lineEnding=crlf ^
|
||||
-x outputCodeDir=%CODE_OUTPATH% ^
|
||||
-x outputDataDir=%DATA_OUTPATH%
|
||||
pause
|
||||
|
@@ -11,15 +11,12 @@ export CODE_OUTPATH="${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GamePro
|
||||
|
||||
cp -R "${CONF_ROOT}/CustomTemplate/ConfigSystem.cs" \
|
||||
"${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GameProto/ConfigSystem.cs"
|
||||
cp -R "${CONF_ROOT}/CustomTemplate/ExternalTypeUtil.cs" \
|
||||
"${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GameProto/ExternalTypeUtil.cs"
|
||||
|
||||
dotnet "${LUBAN_DLL}" \
|
||||
-t client \
|
||||
-c cs-bin \
|
||||
-d bin \
|
||||
--conf "${CONF_ROOT}/luban.conf" \
|
||||
-x code.lineEnding=crlf \
|
||||
-x outputCodeDir="${CODE_OUTPATH}" \
|
||||
-x outputDataDir="${DATA_OUTPATH}"
|
||||
|
||||
|
@@ -8,7 +8,6 @@ set DATA_OUTPATH=%WORKSPACE%/UnityProject/Assets/AssetRaw/Configs/bytes/
|
||||
set CODE_OUTPATH=%WORKSPACE%/UnityProject/Assets/GameScripts/HotFix/GameProto/GameConfig/
|
||||
|
||||
xcopy /s /e /i /y "%CONF_ROOT%\CustomTemplate\ConfigSystem.cs" "%WORKSPACE%\UnityProject\Assets\GameScripts\HotFix\GameProto\ConfigSystem.cs"
|
||||
xcopy /s /e /i /y "%CONF_ROOT%\CustomTemplate\ExternalTypeUtil.cs" "%WORKSPACE%\UnityProject\Assets\GameScripts\HotFix\GameProto\ExternalTypeUtil.cs"
|
||||
|
||||
dotnet %LUBAN_DLL% ^
|
||||
-t client ^
|
||||
@@ -16,7 +15,6 @@ dotnet %LUBAN_DLL% ^
|
||||
-d bin^
|
||||
--conf %CONF_ROOT%\luban.conf ^
|
||||
--customTemplateDir %CONF_ROOT%\CustomTemplate\CustomTemplate_Client_LazyLoad ^
|
||||
-x code.lineEnding=crlf ^
|
||||
-x outputCodeDir=%CODE_OUTPATH% ^
|
||||
-x outputDataDir=%DATA_OUTPATH%
|
||||
pause
|
||||
|
@@ -11,8 +11,6 @@ export CODE_OUTPATH="${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GamePro
|
||||
|
||||
cp -R "${CONF_ROOT}/CustomTemplate/ConfigSystem.cs" \
|
||||
"${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GameProto/ConfigSystem.cs"
|
||||
cp -R "${CONF_ROOT}/CustomTemplate/ExternalTypeUtil.cs" \
|
||||
"${WORKSPACE}/UnityProject/Assets/GameScripts/HotFix/GameProto/ExternalTypeUtil.cs"
|
||||
|
||||
dotnet "${LUBAN_DLL}" \
|
||||
-t client \
|
||||
@@ -20,7 +18,6 @@ dotnet "${LUBAN_DLL}" \
|
||||
-d bin \
|
||||
--conf "${CONF_ROOT}/luban.conf" \
|
||||
--customTemplateDir "${CONF_ROOT}/CustomTemplate/CustomTemplate_Client_LazyLoad" \
|
||||
-x code.lineEnding=crlf \
|
||||
-x outputCodeDir="${CODE_OUTPATH}" \
|
||||
-x outputDataDir="${DATA_OUTPATH}"
|
||||
|
||||
|
@@ -12,7 +12,6 @@ dotnet %LUBAN_DLL% ^
|
||||
-c cs-bin ^
|
||||
-d bin^
|
||||
--conf %CONF_ROOT%\luban.conf ^
|
||||
-x code.lineEnding=crlf ^
|
||||
-x outputCodeDir=%CODE_OUTPATH% ^
|
||||
-x outputDataDir=%DATA_OUTPATH%
|
||||
pause
|
||||
|
@@ -14,7 +14,6 @@ dotnet "${LUBAN_DLL}" \
|
||||
-c cs-bin \
|
||||
-d bin \
|
||||
--conf "${CONF_ROOT}/luban.conf" \
|
||||
-x code.lineEnding=crlf \
|
||||
-x outputCodeDir="${CODE_OUTPATH}" \
|
||||
-x outputDataDir="${DATA_OUTPATH}"
|
||||
|
||||
|
@@ -75,11 +75,13 @@ Assets
|
||||
├── Scenes // 主场景目录
|
||||
├── TEngine // 框架核心目录
|
||||
└── GameScripts // 程序集目录
|
||||
├── Procedure // 启动器与流程
|
||||
├── Main // 主程序程序集(启动器与流程)
|
||||
└── HotFix // 游戏热更程序集目录 [Folder]
|
||||
├── GameBase // 游戏基础框架程序集 [Dll]
|
||||
├── GameProto // 游戏配置协议程序集 [Dll]
|
||||
└── GameLogic // 游戏业务逻辑程序集 [Dll]
|
||||
└── GameApp.cs // 热更主入口
|
||||
├── GameApp.cs // 热更主入口
|
||||
└── GameApp_RegisterSystem.cs // 热更主入口注册系统
|
||||
|
||||
|
||||
TEngine
|
||||
@@ -87,6 +89,9 @@ TEngine
|
||||
└── Runtime // TEngine运行时核心代码
|
||||
```
|
||||
|
||||
- 必要:项目使用了以下第三方插件,请自行购买导入:
|
||||
- /UnityProject/Assets/Plugins/Sirenix
|
||||
|
||||
---
|
||||
## <strong>优质开源项目推荐
|
||||
|
||||
|
13
Tools/GameEventSourceGenerator/.idea/.idea.SourceGenerator/.idea/.gitignore
generated
vendored
@@ -1,13 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider ignored files
|
||||
/modules.xml
|
||||
/projectSettingsUpdater.xml
|
||||
/.idea.SourceGenerator.iml
|
||||
/contentModel.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
@@ -1 +0,0 @@
|
||||
SourceGenerator
|
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||
</project>
|
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@@ -1,568 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using Microsoft.CodeAnalysis.Diagnostics;
|
||||
using Microsoft.CodeAnalysis.FlowAnalysis;
|
||||
using Exception = System.Exception;
|
||||
|
||||
namespace Analyzer
|
||||
{
|
||||
public static class AnalyzerHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取语法树节点的子节点中第一个指定类型节点
|
||||
/// </summary>
|
||||
/// <param name="syntaxNode">语法树节点</param>
|
||||
/// <typeparam name="T">指定语法节点类型</typeparam>
|
||||
/// <returns>第一个指定类型节点</returns>
|
||||
public static T? GetFirstChild<T>(this SyntaxNode syntaxNode) where T : SyntaxNode
|
||||
{
|
||||
foreach (SyntaxNode? childNode in syntaxNode.ChildNodes())
|
||||
{
|
||||
if (childNode.GetType() == typeof(T))
|
||||
{
|
||||
return childNode as T;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static SyntaxNode? GetFirstChild(this SyntaxNode syntaxNode)
|
||||
{
|
||||
var childNodes = syntaxNode.ChildNodes();
|
||||
if (childNodes.Count() > 0)
|
||||
{
|
||||
return childNodes.First();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取语法树节点的子节点中最后一个指定类型节点
|
||||
/// </summary>
|
||||
/// <param name="syntaxNode">语法树节点</param>
|
||||
/// <typeparam name="T">指定语法节点类型</typeparam>
|
||||
/// <returns>最后一个指定类型节点</returns>
|
||||
public static T? GetLastChild<T>(this SyntaxNode syntaxNode) where T : SyntaxNode
|
||||
{
|
||||
foreach (SyntaxNode? childNode in syntaxNode.ChildNodes().Reverse())
|
||||
{
|
||||
if (childNode.GetType() == typeof(T))
|
||||
{
|
||||
return childNode as T;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取语法节点所属的ClassDeclarationSyntax
|
||||
/// </summary>
|
||||
public static ClassDeclarationSyntax? GetParentClassDeclaration(this SyntaxNode syntaxNode)
|
||||
{
|
||||
SyntaxNode? parentNode = syntaxNode.Parent;
|
||||
while (parentNode != null)
|
||||
{
|
||||
if (parentNode is ClassDeclarationSyntax classDeclarationSyntax)
|
||||
{
|
||||
return classDeclarationSyntax;
|
||||
}
|
||||
|
||||
parentNode = parentNode.Parent;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// INamedTypeSymbol 是否有指定的Attribute
|
||||
/// </summary>
|
||||
public static bool HasAttribute(this ITypeSymbol typeSymbol, string AttributeName)
|
||||
{
|
||||
foreach (AttributeData? attributeData in typeSymbol.GetAttributes())
|
||||
{
|
||||
if (attributeData.AttributeClass?.ToString() == AttributeName)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool HasAttributeInTypeAndBaseTyes(this ITypeSymbol typeSymbol, string AttributeName)
|
||||
{
|
||||
if (typeSymbol.HasAttribute(AttributeName))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
foreach (var baseType in typeSymbol.BaseTypes())
|
||||
{
|
||||
if (baseType.HasAttribute(AttributeName))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static IEnumerable<ITypeSymbol> BaseTypes(this ITypeSymbol typeSymbol)
|
||||
{
|
||||
ITypeSymbol? baseType = typeSymbol.BaseType;
|
||||
while (baseType != null)
|
||||
{
|
||||
yield return baseType;
|
||||
baseType = baseType.BaseType;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// INamedTypeSymbol 是否有指定的基类Attribute
|
||||
/// </summary>
|
||||
public static bool HasBaseAttribute(this INamedTypeSymbol namedTypeSymbol, string AttributeName)
|
||||
{
|
||||
foreach (AttributeData? attributeData in namedTypeSymbol.GetAttributes())
|
||||
{
|
||||
INamedTypeSymbol? attributeType = attributeData.AttributeClass?.BaseType;
|
||||
while (attributeType != null)
|
||||
{
|
||||
if (attributeType.ToString() == AttributeName)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
attributeType = attributeType.BaseType;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// INamedTypeSymbol 获取指定类型的第一个Attribute
|
||||
/// </summary>
|
||||
public static AttributeData? GetFirstAttribute(this INamedTypeSymbol namedTypeSymbol, string AttributeName)
|
||||
{
|
||||
foreach (AttributeData? attributeData in namedTypeSymbol.GetAttributes())
|
||||
{
|
||||
if (attributeData.AttributeClass?.ToString() == AttributeName)
|
||||
{
|
||||
return attributeData;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// INamedTypeSymbol 是否含有指定接口
|
||||
/// </summary>
|
||||
public static bool HasInterface(this INamedTypeSymbol namedTypeSymbol, string InterfaceName)
|
||||
{
|
||||
foreach (INamedTypeSymbol? iInterface in namedTypeSymbol.AllInterfaces)
|
||||
{
|
||||
if (iInterface.IsInterface(InterfaceName))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 某个接口symbol 是否是指定的接口
|
||||
/// </summary>
|
||||
public static bool IsInterface(this INamedTypeSymbol namedTypeSymbol, string InterfaceName)
|
||||
{
|
||||
return $"{namedTypeSymbol.GetNameSpace()}.{namedTypeSymbol.Name}" == InterfaceName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断指定的程序集是否需要分析
|
||||
/// </summary>
|
||||
public static bool IsAssemblyNeedAnalyze(string? assemblyName, params string[] analyzeAssemblyNames)
|
||||
{
|
||||
if (assemblyName == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (string analyzeAssemblyName in analyzeAssemblyNames)
|
||||
{
|
||||
if (assemblyName == analyzeAssemblyName)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取 成员访问语法节点的父级类型
|
||||
/// </summary>
|
||||
public static ITypeSymbol? GetMemberAccessSyntaxParentType(this MemberAccessExpressionSyntax memberAccessExpressionSyntax,
|
||||
SemanticModel semanticModel)
|
||||
{
|
||||
SyntaxNode? firstChildSyntaxNode = memberAccessExpressionSyntax.GetFirstChild();
|
||||
if (firstChildSyntaxNode == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
ISymbol? firstChildSymbol = semanticModel.GetSymbolInfo(firstChildSyntaxNode).Symbol;
|
||||
if (firstChildSymbol == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is ILocalSymbol localSymbol)
|
||||
{
|
||||
return localSymbol.Type;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is IParameterSymbol parameterSymbol)
|
||||
{
|
||||
return parameterSymbol.Type;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is IPropertySymbol propertySymbol)
|
||||
{
|
||||
return propertySymbol.Type;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is IMethodSymbol methodSymbol)
|
||||
{
|
||||
return methodSymbol.ReturnType;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is IFieldSymbol fieldSymbol)
|
||||
{
|
||||
return fieldSymbol.Type;
|
||||
}
|
||||
|
||||
if (firstChildSymbol is IEventSymbol eventSymbol)
|
||||
{
|
||||
return eventSymbol.Type;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取最近的指定类型祖先节点
|
||||
/// </summary>
|
||||
public static T? GetNeareastAncestor<T>(this SyntaxNode syntaxNode) where T : SyntaxNode
|
||||
{
|
||||
foreach (var ancestorNode in syntaxNode.Ancestors())
|
||||
{
|
||||
if (ancestorNode is T Tancestor)
|
||||
{
|
||||
return Tancestor;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断函数是否是否含有指定类型的参数
|
||||
/// </summary>
|
||||
public static bool HasParameterType(this IMethodSymbol methodSymbol, string parameterType, out IParameterSymbol? cencelTokenSymbol)
|
||||
{
|
||||
foreach (var parameterSymbol in methodSymbol.Parameters)
|
||||
{
|
||||
if (parameterSymbol.Type.ToString() == parameterType)
|
||||
{
|
||||
cencelTokenSymbol = parameterSymbol;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
cencelTokenSymbol = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有指定类型的子节点
|
||||
/// </summary>
|
||||
public static IEnumerable<T> DescendantNodes<T>(this SyntaxNode syntaxNode) where T : SyntaxNode
|
||||
{
|
||||
foreach (var descendantNode in syntaxNode.DescendantNodes())
|
||||
{
|
||||
if (descendantNode is T node)
|
||||
{
|
||||
yield return node;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取与该语法节点同层级的上一个节点
|
||||
/// </summary>
|
||||
public static SyntaxNode? PreviousNode(this SyntaxNode syntaxNode)
|
||||
{
|
||||
if (syntaxNode.Parent == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
foreach (var childNode in syntaxNode.Parent.ChildNodes())
|
||||
{
|
||||
if (childNode == syntaxNode)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
if (index == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return syntaxNode.Parent.ChildNodes().ElementAt(index - 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取与该语法节点同层级的下一个节点
|
||||
/// </summary>
|
||||
public static SyntaxNode? NextNode(this SyntaxNode syntaxNode)
|
||||
{
|
||||
if (syntaxNode.Parent == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
|
||||
foreach (var childNode in syntaxNode.Parent.ChildNodes())
|
||||
{
|
||||
if (childNode == syntaxNode)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
if (index == syntaxNode.Parent.ChildNodes().Count() - 1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return syntaxNode.Parent.ChildNodes().ElementAt(index + 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取await表达式所在的控制流block
|
||||
/// </summary>
|
||||
public static BasicBlock? GetAwaitStatementControlFlowBlock(StatementSyntax statementSyntax, AwaitExpressionSyntax awaitExpressionSyntax, SemanticModel semanticModel)
|
||||
{
|
||||
// 跳过 return 表达式
|
||||
if (statementSyntax.IsKind(SyntaxKind.ReturnStatement))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var methodSyntax = statementSyntax.GetNeareastAncestor<MethodDeclarationSyntax>();
|
||||
if (methodSyntax == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// 构建表达式所在函数的控制流图
|
||||
var controlFlowGraph = ControlFlowGraph.Create(methodSyntax, semanticModel);
|
||||
|
||||
if (controlFlowGraph == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (statementSyntax is LocalDeclarationStatementSyntax)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
BasicBlock? block = controlFlowGraph.Blocks.FirstOrDefault(x => x.Operations.Any(y => y.Syntax.Contains(statementSyntax)));
|
||||
return block;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断类是否为partial类
|
||||
/// </summary>
|
||||
public static bool IsPartial(this ClassDeclarationSyntax classDeclaration)
|
||||
{
|
||||
foreach (var modifier in classDeclaration.Modifiers)
|
||||
{
|
||||
if (modifier.IsKind(SyntaxKind.PartialKeyword))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string? GetNameSpace(this INamedTypeSymbol namedTypeSymbol)
|
||||
{
|
||||
INamespaceSymbol? namespaceSymbol = namedTypeSymbol.ContainingNamespace;
|
||||
string? namespaceName = namespaceSymbol?.Name;
|
||||
while (namespaceSymbol?.ContainingNamespace != null)
|
||||
{
|
||||
namespaceSymbol = namespaceSymbol.ContainingNamespace;
|
||||
if (string.IsNullOrEmpty(namespaceSymbol.Name))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
namespaceName = $"{namespaceSymbol.Name}.{namespaceName}";
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(namespaceName))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return namespaceName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据语义模型的文件路径 判断是否需要分析
|
||||
/// </summary>
|
||||
public static bool IsSemanticModelNeedAnalyze(SemanticModel semanticModel, params string[] filePaths)
|
||||
{
|
||||
foreach (var filePath in filePaths)
|
||||
{
|
||||
if (semanticModel.SyntaxTree.FilePath.Contains(filePath))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 类型symbol是否有指定名字 指定参数的方法
|
||||
/// </summary>
|
||||
public static bool HasMethodWithParams(this INamedTypeSymbol namedTypeSymbol, string methodName, params ITypeSymbol[] typeSymbols)
|
||||
{
|
||||
foreach (var member in namedTypeSymbol.GetMembers())
|
||||
{
|
||||
if (member is not IMethodSymbol methodSymbol)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (methodSymbol.Name != methodName)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeSymbols.Length != methodSymbol.Parameters.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeSymbols.Length == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool isEqual = true;
|
||||
|
||||
for (int i = 0; i < typeSymbols.Length; i++)
|
||||
{
|
||||
if (typeSymbols[i].ToString() != methodSymbol.Parameters[i].Type.ToString())
|
||||
{
|
||||
isEqual = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isEqual)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 类型symbol是否有指定名字 指定参数的方法
|
||||
/// </summary>
|
||||
public static bool HasMethodWithParams(this INamedTypeSymbol namedTypeSymbol, string methodName, params string[] typeSymbols)
|
||||
{
|
||||
foreach (var member in namedTypeSymbol.GetMembers())
|
||||
{
|
||||
if (member is not IMethodSymbol methodSymbol)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (methodSymbol.Name != methodName)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeSymbols.Length != methodSymbol.Parameters.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeSymbols.Length == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool isEqual = true;
|
||||
|
||||
for (int i = 0; i < typeSymbols.Length; i++)
|
||||
{
|
||||
if (typeSymbols[i] != methodSymbol.Parameters[i].Type.ToString())
|
||||
{
|
||||
isEqual = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isEqual)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 方法symbol 是否有指定的attribute
|
||||
/// </summary>
|
||||
public static bool HasAttribute(this IMethodSymbol methodSymbol, string AttributeName)
|
||||
{
|
||||
foreach (AttributeData? attributeData in methodSymbol.GetAttributes())
|
||||
{
|
||||
if (attributeData?.AttributeClass?.ToString() == AttributeName)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.5.002.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceGenerator", "SourceGenerator\SourceGenerator.csproj", "{26B3F75F-AB7F-48F8-B234-F5A26E8CA319}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{57F17CC8-F26D-496E-B8E9-2601F9FF3CE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{57F17CC8-F26D-496E-B8E9-2601F9FF3CE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{57F17CC8-F26D-496E-B8E9-2601F9FF3CE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{57F17CC8-F26D-496E-B8E9-2601F9FF3CE5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{26B3F75F-AB7F-48F8-B234-F5A26E8CA319}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{26B3F75F-AB7F-48F8-B234-F5A26E8CA319}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{26B3F75F-AB7F-48F8-B234-F5A26E8CA319}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{26B3F75F-AB7F-48F8-B234-F5A26E8CA319}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F02E4A8C-07E7-4C7F-B30A-3D5BE1C7CB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F02E4A8C-07E7-4C7F-B30A-3D5BE1C7CB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F02E4A8C-07E7-4C7F-B30A-3D5BE1C7CB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F02E4A8C-07E7-4C7F-B30A-3D5BE1C7CB98}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{23425ADC-1091-46A0-94BF-8EA6A7F5EFD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{23425ADC-1091-46A0-94BF-8EA6A7F5EFD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{23425ADC-1091-46A0-94BF-8EA6A7F5EFD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{23425ADC-1091-46A0-94BF-8EA6A7F5EFD7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CA734AB9-F825-4DDA-BCB1-AD5FC464CAB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CA734AB9-F825-4DDA-BCB1-AD5FC464CAB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CA734AB9-F825-4DDA-BCB1-AD5FC464CAB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CA734AB9-F825-4DDA-BCB1-AD5FC464CAB0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FCBB04E4-2793-4CF8-9278-E932D3B254AC}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@@ -1,7 +0,0 @@
|
||||
public class Definition
|
||||
{
|
||||
public const string FrameworkNameSpace = "TEngine";
|
||||
public const string NameSpace = "GameLogic";
|
||||
public const string EventInterface = "EventInterface";
|
||||
public const string StringToHash = "RuntimeId.ToRuntimeId";
|
||||
}
|
@@ -1,192 +0,0 @@
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Analyzer;
|
||||
|
||||
[Generator]
|
||||
public class EventInterfaceGenerator : ISourceGenerator
|
||||
{
|
||||
public void Initialize(GeneratorInitializationContext context)
|
||||
{
|
||||
// 可以在这里进行初始化
|
||||
}
|
||||
|
||||
public void Execute(GeneratorExecutionContext context)
|
||||
{
|
||||
// 获取当前语法树
|
||||
var syntaxTrees = context.Compilation.SyntaxTrees;
|
||||
|
||||
List<string> classNameList = new List<string>();
|
||||
|
||||
foreach (var tree in syntaxTrees)
|
||||
{
|
||||
var root = tree.GetRoot();
|
||||
var interfaces = root.DescendantNodes()
|
||||
.OfType<InterfaceDeclarationSyntax>()
|
||||
.Where(i => i.AttributeLists.Count > 0 &&
|
||||
i.AttributeLists
|
||||
.Any(a => a.Attributes
|
||||
.Any(attr => attr.Name.ToString() == $"{Definition.EventInterface}")));
|
||||
|
||||
foreach (var interfaceNode in interfaces)
|
||||
{
|
||||
var interfaceName = interfaceNode.Identifier.ToString();
|
||||
var fullName = interfaceNode.SyntaxTree.GetRoot()
|
||||
.DescendantNodes()
|
||||
.OfType<NamespaceDeclarationSyntax>()
|
||||
.Select(ns => ns.Name.ToString())
|
||||
.Concat(new[] { interfaceName })
|
||||
.Aggregate((a, b) => a + "." + b);
|
||||
var eventClassName = $"{interfaceName}_Event";
|
||||
var eventClassCode = GenerateEventClass(interfaceName, eventClassName, interfaceNode);
|
||||
|
||||
context.AddSource($"{eventClassName}.g.cs", eventClassCode);
|
||||
|
||||
// 生成实现类
|
||||
var implementationClassCode = GenerateImplementationClass(fullName, interfaceName, interfaceNode,context);
|
||||
context.AddSource($"{interfaceName}_Gen.g.cs", implementationClassCode);
|
||||
|
||||
|
||||
classNameList.Add($"{interfaceName}_Gen");
|
||||
}
|
||||
}
|
||||
|
||||
string uniqueFileName = $"GameEventHelper.g.cs";
|
||||
context.AddSource(uniqueFileName, GenerateGameEventHelper(classNameList));
|
||||
}
|
||||
|
||||
private string GenerateGameEventHelper(List<string> classNameList)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine($"// <auto-generated>");
|
||||
sb.AppendLine($"// This code was generated by autoBindTool.");
|
||||
sb.AppendLine($"// Changes to this file may cause incorrect behavior and will be lost if");
|
||||
sb.AppendLine($"// the code is regenerated.");
|
||||
sb.AppendLine($"// </auto-generated>");
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"using UnityEngine;");
|
||||
sb.AppendLine($"using UnityEngine.UI;");
|
||||
sb.AppendLine($"using {Definition.FrameworkNameSpace};");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"namespace {Definition.NameSpace}");
|
||||
sb.AppendLine($"{{");
|
||||
sb.AppendLine($" public static class GameEventHelper");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine($" public static void Init()");
|
||||
sb.AppendLine(" {");
|
||||
|
||||
foreach (var className in classNameList)
|
||||
{
|
||||
sb.AppendLine($" var m_{className} = new {className}(GameEvent.EventMgr.GetDispatcher());");
|
||||
}
|
||||
|
||||
sb.AppendLine(" }");
|
||||
|
||||
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine("}");
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string GenerateEventClass(string interfaceName, string className, InterfaceDeclarationSyntax interfaceNode)
|
||||
{
|
||||
var methods = interfaceNode.Members.OfType<MethodDeclarationSyntax>();
|
||||
var sb = new StringBuilder();
|
||||
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine($"// <auto-generated>");
|
||||
sb.AppendLine($"// This code was generated by autoBindTool.");
|
||||
sb.AppendLine($"// Changes to this file may cause incorrect behavior and will be lost if");
|
||||
sb.AppendLine($"// the code is regenerated.");
|
||||
sb.AppendLine($"// </auto-generated>");
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"using UnityEngine;");
|
||||
sb.AppendLine($"using UnityEngine.UI;");
|
||||
sb.AppendLine($"using {Definition.FrameworkNameSpace};");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"namespace {Definition.NameSpace}");
|
||||
sb.AppendLine("{");
|
||||
sb.AppendLine($" public partial class {className}");
|
||||
sb.AppendLine(" {");
|
||||
|
||||
foreach (var method in methods)
|
||||
{
|
||||
var methodName = method.Identifier.ToString();
|
||||
var parameters = string.Join(", ", method.ParameterList.Parameters.Select(p => $"{p.Type} {p.Identifier}"));
|
||||
sb.AppendLine($" public static readonly int {methodName} = {Definition.StringToHash}(\"{className}.{methodName}\");");
|
||||
}
|
||||
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine("}");
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string GenerateImplementationClass(string interfaceFullName, string interfaceName, InterfaceDeclarationSyntax interfaceNode,GeneratorExecutionContext context)
|
||||
{
|
||||
var semanticModel = context.Compilation.GetSemanticModel(interfaceNode.SyntaxTree);
|
||||
var sb = new StringBuilder();
|
||||
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine($"// <auto-generated>");
|
||||
sb.AppendLine($"// This code was generated by autoBindTool.");
|
||||
sb.AppendLine($"// Changes to this file may cause incorrect behavior and will be lost if");
|
||||
sb.AppendLine($"// the code is regenerated.");
|
||||
sb.AppendLine($"// </auto-generated>");
|
||||
sb.AppendLine($"//------------------------------------------------------------------------------");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"using UnityEngine;");
|
||||
sb.AppendLine($"using UnityEngine.UI;");
|
||||
sb.AppendLine($"using {Definition.FrameworkNameSpace};");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"namespace {Definition.NameSpace}");
|
||||
sb.AppendLine($"{{");
|
||||
sb.AppendLine($" public partial class {interfaceName}_Gen : {interfaceName}");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" private EventDispatcher _dispatcher;");
|
||||
sb.AppendLine($" public {interfaceName}_Gen(EventDispatcher dispatcher)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _dispatcher = dispatcher;");
|
||||
sb.AppendLine($" GameEvent.EventMgr.RegWrapInterface(\"{interfaceFullName}\", this);");
|
||||
sb.AppendLine(" }");
|
||||
|
||||
foreach (var method in interfaceNode.Members.OfType<MethodDeclarationSyntax>())
|
||||
{
|
||||
var methodName = method.Identifier.ToString();
|
||||
var parameters = GenerateParameters(method, semanticModel);
|
||||
|
||||
sb.AppendLine($" public void {methodName}({parameters})");
|
||||
sb.AppendLine(" {");
|
||||
if (method.ParameterList.Parameters.Count > 0)
|
||||
{
|
||||
var paramNames = string.Join(", ", method.ParameterList.Parameters.Select(p => p.Identifier.ToString()));
|
||||
sb.AppendLine($" _dispatcher.Send({interfaceName}_Event.{methodName}, {paramNames});");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendLine($" _dispatcher.Send({interfaceName}_Event.{methodName});");
|
||||
}
|
||||
sb.AppendLine(" }");
|
||||
}
|
||||
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine("}");
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string GenerateParameters(MethodDeclarationSyntax method, SemanticModel semanticModel)
|
||||
{
|
||||
return string.Join(", ", method.ParameterList.Parameters.Select(p =>
|
||||
{
|
||||
var typeSymbol = semanticModel.GetTypeInfo(p.Type).Type;
|
||||
return typeSymbol != null
|
||||
? $"{typeSymbol.ToDisplayString()} {p.Identifier}"
|
||||
: $"{p.Type} {p.Identifier}";
|
||||
}));
|
||||
}
|
||||
}
|
@@ -1,34 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>12</LangVersion>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<DevelopmentDependency>true</DevelopmentDependency>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<NoWarn>1701;1702;RS2008</NoWarn>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="../Analyzer/Extension/*.cs">
|
||||
<Link>Extension\%(RecursiveDir)%(FileName)%(Extension)</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.9.0" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- <Target Name="PostBuild" AfterTargets="PostBuildEvent">-->
|
||||
<!-- <Copy SourceFiles="$(TargetDir)/$(TargetName).dll" DestinationFolder="$(ProjectDir)/../../Unity/Assets/Plugins/" ContinueOnError="false" />-->
|
||||
<!-- </Target>-->
|
||||
|
||||
</Project>
|
@@ -1,236 +0,0 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v2.0/",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {},
|
||||
".NETStandard,Version=v2.0/": {
|
||||
"SourceGenerator/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Analyzers": "3.3.3",
|
||||
"Microsoft.CodeAnalysis.CSharp": "3.9.0",
|
||||
"NETStandard.Library": "2.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"SourceGenerator.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Analyzers/3.3.3": {},
|
||||
"Microsoft.CodeAnalysis.Common/3.9.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Analyzers": "3.3.3",
|
||||
"System.Collections.Immutable": "5.0.0",
|
||||
"System.Memory": "4.5.4",
|
||||
"System.Reflection.Metadata": "5.0.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "5.0.0",
|
||||
"System.Text.Encoding.CodePages": "4.5.1",
|
||||
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.CodeAnalysis.dll": {
|
||||
"assemblyVersion": "3.9.0.0",
|
||||
"fileVersion": "3.900.21.12420"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp/3.9.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Common": "3.9.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll": {
|
||||
"assemblyVersion": "3.9.0.0",
|
||||
"fileVersion": "3.900.21.12420"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||
}
|
||||
},
|
||||
"System.Buffers/4.5.1": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Buffers.dll": {
|
||||
"assemblyVersion": "4.0.3.0",
|
||||
"fileVersion": "4.6.28619.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Collections.Immutable/5.0.0": {
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.4"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Collections.Immutable.dll": {
|
||||
"assemblyVersion": "5.0.0.0",
|
||||
"fileVersion": "5.0.20.51904"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Memory/4.5.4": {
|
||||
"dependencies": {
|
||||
"System.Buffers": "4.5.1",
|
||||
"System.Numerics.Vectors": "4.4.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "5.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Memory.dll": {
|
||||
"assemblyVersion": "4.0.1.1",
|
||||
"fileVersion": "4.6.28619.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Numerics.Vectors/4.4.0": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Numerics.Vectors.dll": {
|
||||
"assemblyVersion": "4.1.3.0",
|
||||
"fileVersion": "4.6.25519.3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Reflection.Metadata/5.0.0": {
|
||||
"dependencies": {
|
||||
"System.Collections.Immutable": "5.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Reflection.Metadata.dll": {
|
||||
"assemblyVersion": "5.0.0.0",
|
||||
"fileVersion": "5.0.20.51904"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/5.0.0": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": {
|
||||
"assemblyVersion": "5.0.0.0",
|
||||
"fileVersion": "5.0.20.51904"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding.CodePages/4.5.1": {
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "5.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
|
||||
"assemblyVersion": "4.1.1.0",
|
||||
"fileVersion": "4.6.27129.4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions/4.5.4": {
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "5.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": {
|
||||
"assemblyVersion": "4.2.0.1",
|
||||
"fileVersion": "4.6.28619.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"SourceGenerator/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Analyzers/3.3.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==",
|
||||
"path": "microsoft.codeanalysis.analyzers/3.3.3",
|
||||
"hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Common/3.9.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-HiWjF7PNIEngmFg2Xk8cZ/83lRIRkk9v+5ibbY5B7VvjNGdClGAMuWtZER9F5rGRR41VbJLco9ah73jFTh4vPw==",
|
||||
"path": "microsoft.codeanalysis.common/3.9.0",
|
||||
"hashPath": "microsoft.codeanalysis.common.3.9.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp/3.9.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-NTsiK3fnoZGemy4dBHrILwg9rL+jDnOJ7aixFu4EOWM1r6MZMrNCIhT2tO4AmIMdfICLPwj910uZRRLpbMnqHg==",
|
||||
"path": "microsoft.codeanalysis.csharp/3.9.0",
|
||||
"hashPath": "microsoft.codeanalysis.csharp.3.9.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
|
||||
"path": "microsoft.netcore.platforms/1.1.0",
|
||||
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
|
||||
},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
||||
"path": "netstandard.library/2.0.3",
|
||||
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
|
||||
},
|
||||
"System.Buffers/4.5.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
|
||||
"path": "system.buffers/4.5.1",
|
||||
"hashPath": "system.buffers.4.5.1.nupkg.sha512"
|
||||
},
|
||||
"System.Collections.Immutable/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FXkLXiK0sVVewcso0imKQoOxjoPAj42R8HtjjbSjVPAzwDfzoyoznWxgA3c38LDbN9SJux1xXoXYAhz98j7r2g==",
|
||||
"path": "system.collections.immutable/5.0.0",
|
||||
"hashPath": "system.collections.immutable.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Memory/4.5.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
|
||||
"path": "system.memory/4.5.4",
|
||||
"hashPath": "system.memory.4.5.4.nupkg.sha512"
|
||||
},
|
||||
"System.Numerics.Vectors/4.4.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==",
|
||||
"path": "system.numerics.vectors/4.4.0",
|
||||
"hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection.Metadata/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==",
|
||||
"path": "system.reflection.metadata/5.0.0",
|
||||
"hashPath": "system.reflection.metadata.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==",
|
||||
"path": "system.runtime.compilerservices.unsafe/5.0.0",
|
||||
"hashPath": "system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encoding.CodePages/4.5.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==",
|
||||
"path": "system.text.encoding.codepages/4.5.1",
|
||||
"hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512"
|
||||
},
|
||||
"System.Threading.Tasks.Extensions/4.5.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
|
||||
"path": "system.threading.tasks.extensions/4.5.4",
|
||||
"hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +0,0 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
|
@@ -1,22 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("SourceGenerator")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b7d75c0f6f518a5f2ca0ed9304411302709f8dbe")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("SourceGenerator")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("SourceGenerator")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
@@ -1 +0,0 @@
|
||||
1f4b8d9919850399efa15c732e9aadbc83f7ae6889745a83831d20da225de402
|
@@ -1,12 +0,0 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = netstandard2.0
|
||||
build_property.TargetPlatformMinVersion = 7.0
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = SourceGenerator
|
||||
build_property.ProjectDir = E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
@@ -1 +0,0 @@
|
||||
ff752c9a870df6aafb4669266bbcfd2f80f90bfd76a1bae882d02d67457c3ec4
|
@@ -1,32 +0,0 @@
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.deps.json
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.dll
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.pdb
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.AssemblyReference.cache
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.GeneratedMSBuildEditorConfig.editorconfig
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfoInputs.cache
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfo.cs
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.CoreCompileInputs.cache
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.sourcelink.json
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.dll
|
||||
G:\github\TEngine\Tools\SourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.pdb
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.AssemblyReference.cache
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfoInputs.cache
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfo.cs
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.CoreCompileInputs.cache
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.dll
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.pdb
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.deps.json
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.dll
|
||||
C:\Users\Admin\Downloads\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.pdb
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.deps.json
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.dll
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\bin\Debug\SourceGenerator.pdb
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.AssemblyReference.cache
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.GeneratedMSBuildEditorConfig.editorconfig
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfoInputs.cache
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.AssemblyInfo.cs
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.csproj.CoreCompileInputs.cache
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.sourcelink.json
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.dll
|
||||
E:\WorkSpace\ZGame\Tools\GameEventSourceGenerator\SourceGenerator\obj\Debug\SourceGenerator.pdb
|
@@ -1 +0,0 @@
|
||||
{"documents":{"E:\\WorkSpace\\ZGame\\*":"https://raw.githubusercontent.com/Alex-Rachel/ZGame/b7d75c0f6f518a5f2ca0ed9304411302709f8dbe/*"}}
|
@@ -1,82 +0,0 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj",
|
||||
"projectName": "SourceGenerator",
|
||||
"projectPath": "E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj",
|
||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
||||
"outputPath": "E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"netstandard2.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Analyzers": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[3.3.3, )"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[3.9.0, )"
|
||||
},
|
||||
"NETStandard.Library": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[2.0.3, )",
|
||||
"autoReferenced": true
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.300\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Admin\.nuget\packages\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Admin\.nuget\packages\" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\Admin\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('$(NuGetPackageRoot)netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "YK6sSPNENOs=",
|
||||
"success": true,
|
||||
"projectFilePath": "E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.codeanalysis.common\\3.9.0\\microsoft.codeanalysis.common.3.9.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.codeanalysis.csharp\\3.9.0\\microsoft.codeanalysis.csharp.3.9.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.buffers\\4.5.1\\system.buffers.4.5.1.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.collections.immutable\\5.0.0\\system.collections.immutable.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.numerics.vectors\\4.4.0\\system.numerics.vectors.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.reflection.metadata\\5.0.0\\system.reflection.metadata.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\5.0.0\\system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.text.encoding.codepages\\4.5.1\\system.text.encoding.codepages.4.5.1.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
@@ -1 +0,0 @@
|
||||
"restore":{"projectUniqueName":"E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj","projectName":"SourceGenerator","projectPath":"E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\SourceGenerator.csproj","outputPath":"E:\\WorkSpace\\ZGame\\Tools\\GameEventSourceGenerator\\SourceGenerator\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["netstandard2.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"netstandard2.0":{"targetAlias":"netstandard2.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"netstandard2.0":{"targetAlias":"netstandard2.0","dependencies":{"Microsoft.CodeAnalysis.Analyzers":{"include":"Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive","suppressParent":"All","target":"Package","version":"[3.3.3, )"},"Microsoft.CodeAnalysis.CSharp":{"suppressParent":"All","target":"Package","version":"[3.9.0, )"},"NETStandard.Library":{"suppressParent":"All","target":"Package","version":"[2.0.3, )","autoReferenced":true}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.300\\RuntimeIdentifierGraph.json"}}
|
@@ -1 +0,0 @@
|
||||
17413576752312703
|
@@ -1 +0,0 @@
|
||||
17413576752312703
|
@@ -1,5 +0,0 @@
|
||||
[*]
|
||||
|
||||
# ReSharper properties
|
||||
resharper_csharp_max_line_length = 180
|
||||
resharper_place_attribute_on_same_line = false
|
21
UnityProject/.gitignore
vendored
@@ -1,7 +1,5 @@
|
||||
# This .gitignore file should be placed at the root of your Unity project directory
|
||||
#
|
||||
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
|
||||
#
|
||||
# UnityProject
|
||||
|
||||
/[Ll]ibrary/
|
||||
/[Tt]emp/
|
||||
/[Oo]bj/
|
||||
@@ -9,8 +7,11 @@
|
||||
/[Bb]uilds/
|
||||
/[Ll]ogs/
|
||||
/[Mm]emoryCaptures/
|
||||
/EditorBuild/
|
||||
/[Aa]ssets/StreamingAssets
|
||||
/[Aa]ssets/StreamingAssets.meta
|
||||
/BuildBundleInfo/
|
||||
|
||||
# Asset meta data should only be ignored when the corresponding asset is also ignored
|
||||
!/[Aa]ssets/**/*.meta
|
||||
|
||||
@@ -43,7 +44,6 @@ ExportedObj/
|
||||
*.mdb
|
||||
*.opendb
|
||||
*.VC.db
|
||||
*.idea
|
||||
|
||||
# Unity3D generated meta files
|
||||
*.pidb.meta
|
||||
@@ -55,7 +55,6 @@ sysinfo.txt
|
||||
|
||||
# Builds
|
||||
*.apk
|
||||
*.unitypackage
|
||||
|
||||
# Crashlytics generated file
|
||||
crashlytics-build.properties
|
||||
@@ -66,16 +65,13 @@ crashlytics-build.properties
|
||||
[Aa]ssets/HybridCLRGenerate/
|
||||
[Aa]ssets/HybridCLRGenerate.meta
|
||||
|
||||
|
||||
#AATemp
|
||||
[Aa]ssets/AATemp/
|
||||
[Aa]ssets/AATemp.meta
|
||||
|
||||
[Aa]ssets/StreamingAssets/
|
||||
[Aa]ssets/StreamingAssets.meta
|
||||
|
||||
#Rider
|
||||
/.idea/
|
||||
# Custom AATest
|
||||
[Aa]ssets/AATest/
|
||||
[Aa]ssets/AATest.meta
|
||||
|
||||
#Bundles
|
||||
Bundles/
|
||||
@@ -83,7 +79,6 @@ Bundles/
|
||||
#Sandbox
|
||||
Sandbox/
|
||||
|
||||
package/
|
||||
#MAC
|
||||
.DS_Store
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57c217ccee578d64ca627eb6f63e6503
|
||||
guid: 3ab86ad0f95d7fd438621794de0e0f95
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d6134158c52933418338d95eebd1c39
|
||||
guid: af3c4646bcc0a6544a7a3ab41781be79
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
@@ -1,20 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!612988286 &1
|
||||
SpriteAtlasAsset:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
serializedVersion: 2
|
||||
m_MasterAtlas: {fileID: 0}
|
||||
m_ImporterData:
|
||||
packables:
|
||||
- {fileID: 21300000, guid: c95935206d18f42399e9881ce6bdf61c, type: 3}
|
||||
- {fileID: 21300000, guid: 1f44cb90b6ae648c783dac573bfe9cd0, type: 3}
|
||||
- {fileID: 21300000, guid: bfad0e64f8ef1491c8def7e679187b89, type: 3}
|
||||
- {fileID: 21300000, guid: a43cb397a444ce44f9becc183ced96ed, type: 3}
|
||||
- {fileID: 21300000, guid: f43899c31dd434901b0422f98bcde88b, type: 3}
|
||||
- {fileID: 21300000, guid: 01ccaea9b49214edda39f03f648b5b8b, type: 3}
|
||||
m_IsVariant: 0
|
@@ -1,69 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e6770285dceffae48b253f30f09cd3bc
|
||||
SpriteAtlasImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
anisoLevel: 1
|
||||
compressionQuality: 50
|
||||
maxTextureSize: 2048
|
||||
textureCompression: 0
|
||||
filterMode: 1
|
||||
generateMipMaps: 0
|
||||
readable: 0
|
||||
crunchedCompression: 0
|
||||
sRGB: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 50
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 49
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 50
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
packingSettings:
|
||||
serializedVersion: 2
|
||||
padding: 4
|
||||
blockOffset: 1
|
||||
allowAlphaSplitting: 0
|
||||
enableRotation: 1
|
||||
enableTightPacking: 1
|
||||
enableAlphaDilation: 1
|
||||
secondaryTextureSettings: {}
|
||||
variantMultiplier: 1
|
||||
bindAsDefault: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,91 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!687078895 &4343727234628468602
|
||||
SpriteAtlas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UIRaw_Atlas_Common
|
||||
m_EditorData:
|
||||
serializedVersion: 2
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
anisoLevel: 0
|
||||
compressionQuality: 0
|
||||
maxTextureSize: 0
|
||||
textureCompression: 0
|
||||
filterMode: 1
|
||||
generateMipMaps: 0
|
||||
readable: 0
|
||||
crunchedCompression: 0
|
||||
sRGB: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
m_BuildTarget: iPhone
|
||||
m_MaxTextureSize: 2048
|
||||
m_ResizeAlgorithm: 0
|
||||
m_TextureFormat: 49
|
||||
m_TextureCompression: 1
|
||||
m_CompressionQuality: 100
|
||||
m_CrunchedCompression: 0
|
||||
m_AllowsAlphaSplitting: 0
|
||||
m_Overridden: 1
|
||||
m_AndroidETC2FallbackOverride: 0
|
||||
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
m_BuildTarget: Android
|
||||
m_MaxTextureSize: 2048
|
||||
m_ResizeAlgorithm: 0
|
||||
m_TextureFormat: 50
|
||||
m_TextureCompression: 1
|
||||
m_CompressionQuality: 100
|
||||
m_CrunchedCompression: 0
|
||||
m_AllowsAlphaSplitting: 0
|
||||
m_Overridden: 1
|
||||
m_AndroidETC2FallbackOverride: 0
|
||||
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
m_BuildTarget: WebGL
|
||||
m_MaxTextureSize: 2048
|
||||
m_ResizeAlgorithm: 0
|
||||
m_TextureFormat: 50
|
||||
m_TextureCompression: 1
|
||||
m_CompressionQuality: 50
|
||||
m_CrunchedCompression: 0
|
||||
m_AllowsAlphaSplitting: 0
|
||||
m_Overridden: 1
|
||||
m_AndroidETC2FallbackOverride: 0
|
||||
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
packingSettings:
|
||||
serializedVersion: 2
|
||||
padding: 2
|
||||
blockOffset: 1
|
||||
allowAlphaSplitting: 0
|
||||
enableRotation: 1
|
||||
enableTightPacking: 0
|
||||
enableAlphaDilation: 0
|
||||
secondaryTextureSettings: {}
|
||||
variantMultiplier: 1
|
||||
packables:
|
||||
- {fileID: 21300000, guid: f9a06e163014f4f46b14f4499d3e7240, type: 3}
|
||||
- {fileID: 21300000, guid: 2761fc23b4aa7e34187ac5ffbc3fad9b, type: 3}
|
||||
- {fileID: 21300000, guid: d623a2b7e069a4c4592d3da48f476189, type: 3}
|
||||
- {fileID: 21300000, guid: 57e4117f4cd6ae54284898652e70d553, type: 3}
|
||||
bindAsDefault: 1
|
||||
isAtlasV2: 0
|
||||
cachedData: {fileID: 0}
|
||||
m_MasterAtlas: {fileID: 0}
|
||||
m_PackedSprites:
|
||||
- {fileID: 21300000, guid: 2761fc23b4aa7e34187ac5ffbc3fad9b, type: 3}
|
||||
- {fileID: 21300000, guid: f9a06e163014f4f46b14f4499d3e7240, type: 3}
|
||||
- {fileID: 21300000, guid: d623a2b7e069a4c4592d3da48f476189, type: 3}
|
||||
- {fileID: 21300000, guid: 57e4117f4cd6ae54284898652e70d553, type: 3}
|
||||
m_PackedSpriteNamesToIndex:
|
||||
- red_button
|
||||
- blue_button
|
||||
- white_background
|
||||
- white_button
|
||||
m_RenderDataMap: {}
|
||||
m_Tag: UIRaw_Atlas_Common
|
||||
m_IsVariant: 0
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c91b064c2cd7a34448ae0d6d7ee58e7f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4343727234628468602
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9db5607359854c348ad549dfe09fdb87
|
||||
guid: 8de5bf9d0c58b9042907faa7cfe9a7de
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
@@ -1,99 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1953341725052257094
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6424758063307255349}
|
||||
- component: {fileID: 8490144700851145232}
|
||||
- component: {fileID: 8810305637038458871}
|
||||
- component: {fileID: 3431397482178559869}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6424758063307255349
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1953341725052257094}
|
||||
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: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &8490144700851145232
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1953341725052257094}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &8810305637038458871
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1953341725052257094}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &3431397482178559869
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1953341725052257094}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa8a171d58c208e41bef0afb19a3c334
|
||||
guid: afddbfe87a53e9049bf031ee18842f87
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ecec8ee629e7e1945b209218a435b9cc
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,937 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7590624231718858143
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624231718858140}
|
||||
- component: {fileID: 7590624231718858138}
|
||||
- component: {fileID: 7590624231718858141}
|
||||
m_Layer: 5
|
||||
m_Name: Placeholder
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624231718858140
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231718858143}
|
||||
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: 7590624232011094235}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624231718858138
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231718858143}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624231718858141
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231718858143}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 2
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u8BF7\u8F93\u5165\u5BC6\u7801"
|
||||
--- !u!1 &7590624231737737112
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624231737737113}
|
||||
- component: {fileID: 7590624231737737319}
|
||||
- component: {fileID: 7590624231737737318}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624231737737113
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231737737112}
|
||||
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: 7590624232011094235}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624231737737319
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231737737112}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624231737737318
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231737737112}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text:
|
||||
--- !u!1 &7590624231809635999
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624231809635996}
|
||||
- component: {fileID: 7590624231809635995}
|
||||
- component: {fileID: 7590624231809635994}
|
||||
- component: {fileID: 7590624231809635997}
|
||||
m_Layer: 5
|
||||
m_Name: m_btnLogin
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624231809635996
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231809635999}
|
||||
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: 7590624233362660640}
|
||||
m_Father: {fileID: 7590624233116553169}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -384}
|
||||
m_SizeDelta: {x: 320, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624231809635995
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231809635999}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624231809635994
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231809635999}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &7590624231809635997
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624231809635999}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 7590624231809635994}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &7590624232011094234
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624232011094235}
|
||||
- component: {fileID: 7590624232011094182}
|
||||
- component: {fileID: 7590624232011094233}
|
||||
- component: {fileID: 7590624232011094232}
|
||||
m_Layer: 5
|
||||
m_Name: m_inputPassword
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624232011094235
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232011094234}
|
||||
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: 7590624231718858140}
|
||||
- {fileID: 7590624231737737113}
|
||||
m_Father: {fileID: 7590624233116553169}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -295}
|
||||
m_SizeDelta: {x: 320, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624232011094182
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232011094234}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624232011094233
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232011094234}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &7590624232011094232
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232011094234}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 7590624232011094233}
|
||||
m_TextComponent: {fileID: 7590624231737737318}
|
||||
m_Placeholder: {fileID: 7590624231718858141}
|
||||
m_ContentType: 0
|
||||
m_InputType: 0
|
||||
m_AsteriskChar: 42
|
||||
m_KeyboardType: 0
|
||||
m_LineType: 0
|
||||
m_HideMobileInput: 0
|
||||
m_CharacterValidation: 0
|
||||
m_CharacterLimit: 0
|
||||
m_OnSubmit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_OnDidEndEdit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_CustomCaretColor: 0
|
||||
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
|
||||
m_Text:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &7590624232479665381
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624232479665378}
|
||||
- component: {fileID: 7590624232479665376}
|
||||
- component: {fileID: 7590624232479665379}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624232479665378
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232479665381}
|
||||
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: 7590624232596026019}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624232479665376
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232479665381}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624232479665379
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232479665381}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text:
|
||||
--- !u!1 &7590624232596026018
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624232596026019}
|
||||
- component: {fileID: 7590624232596026030}
|
||||
- component: {fileID: 7590624232596026017}
|
||||
- component: {fileID: 7590624232596026016}
|
||||
m_Layer: 5
|
||||
m_Name: m_inputAccount
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624232596026019
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232596026018}
|
||||
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: 7590624233063842319}
|
||||
- {fileID: 7590624232479665378}
|
||||
m_Father: {fileID: 7590624233116553169}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -220}
|
||||
m_SizeDelta: {x: 320, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624232596026030
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232596026018}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624232596026017
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232596026018}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &7590624232596026016
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624232596026018}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 7590624232596026017}
|
||||
m_TextComponent: {fileID: 7590624232479665379}
|
||||
m_Placeholder: {fileID: 7590624233063842316}
|
||||
m_ContentType: 0
|
||||
m_InputType: 0
|
||||
m_AsteriskChar: 42
|
||||
m_KeyboardType: 0
|
||||
m_LineType: 0
|
||||
m_HideMobileInput: 0
|
||||
m_CharacterValidation: 0
|
||||
m_CharacterLimit: 0
|
||||
m_OnSubmit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_OnDidEndEdit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_CustomCaretColor: 0
|
||||
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
|
||||
m_Text:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &7590624233063842318
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624233063842319}
|
||||
- component: {fileID: 7590624233063842317}
|
||||
- component: {fileID: 7590624233063842316}
|
||||
m_Layer: 5
|
||||
m_Name: Placeholder
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624233063842319
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233063842318}
|
||||
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: 7590624232596026019}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624233063842317
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233063842318}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624233063842316
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233063842318}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 2
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u8BF7\u8F93\u5165\u8D26\u53F7"
|
||||
--- !u!1 &7590624233116553168
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624233116553169}
|
||||
- component: {fileID: 7590624233116553183}
|
||||
- component: {fileID: 7590624233116553182}
|
||||
- component: {fileID: 7590624233116553181}
|
||||
- component: {fileID: 7590624233116553180}
|
||||
m_Layer: 5
|
||||
m_Name: LoginUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624233116553169
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233116553168}
|
||||
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: 7590624232596026019}
|
||||
- {fileID: 7590624232011094235}
|
||||
- {fileID: 7590624231809635996}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624233116553183
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233116553168}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624233116553182
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233116553168}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!223 &7590624233116553181
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233116553168}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &7590624233116553180
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233116553168}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!1 &7590624233362660643
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7590624233362660640}
|
||||
- component: {fileID: 7590624233362660654}
|
||||
- component: {fileID: 7590624233362660641}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7590624233362660640
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233362660643}
|
||||
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: 7590624231809635996}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7590624233362660654
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233362660643}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7590624233362660641
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7590624233362660643}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u767B\u5F55"
|
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f4849d649e5a9647acda84aea936e20
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9b969a6a722855c47be887dacd539056
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 147 B |
@@ -1,159 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bfad0e64f8ef1491c8def7e679187b89
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
cookieLightType: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Before Width: | Height: | Size: 325 B |
@@ -1,159 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af67f6c46933441daaa64d6880890586
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
cookieLightType: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Before Width: | Height: | Size: 314 B |
@@ -1,159 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c95935206d18f42399e9881ce6bdf61c
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 7, y: 7, z: 8, w: 7}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
cookieLightType: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Before Width: | Height: | Size: 9.1 KiB |
BIN
UnityProject/Assets/AssetRaw/UIRaw/Atlas/Common/blue_button.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
@@ -0,0 +1,96 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9a06e163014f4f46b14f4499d3e7240
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
UnityProject/Assets/AssetRaw/UIRaw/Atlas/Common/red_button.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f44cb90b6ae648c783dac573bfe9cd0
|
||||
guid: 2761fc23b4aa7e34187ac5ffbc3fad9b
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -48,7 +48,7 @@ TextureImporter:
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 268, y: 79, z: 267, w: 82}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
@@ -125,18 +125,6 @@ TextureImporter:
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 01ccaea9b49214edda39f03f648b5b8b
|
||||
guid: d623a2b7e069a4c4592d3da48f476189
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -48,7 +48,7 @@ TextureImporter:
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 39, y: 38, z: 40, w: 37}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
BIN
UnityProject/Assets/AssetRaw/UIRaw/Atlas/Common/white_button.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f43899c31dd434901b0422f98bcde88b
|
||||
guid: 57e4117f4cd6ae54284898652e70d553
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b35096feecdb5a4d894aa81a28f72e5
|
||||
guid: 3b549395c8849674b9cafbbf4c694e57
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f183cc1bcf4014f4c80a8580caabcd3f
|
||||
guid: 4c9eb26aee01e8643bd4e6dc965d3366
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50fd67a84c64e184c85bf3e1e343ba87
|
||||
guid: f069f2f03dfa55843a74dedc551eefb2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
|
@@ -1,36 +0,0 @@
|
||||
using TEngine;
|
||||
using UnityEditor;
|
||||
|
||||
public static class TEngineSettingsProvider
|
||||
{
|
||||
[MenuItem("TEngine/Settings/TEngine UpdateSettings", priority = -1)]
|
||||
public static void OpenSettings() => SettingsService.OpenProjectSettings("Project/TEngine/UpdateSettings");
|
||||
|
||||
private const string SettingsPath = "Project/TEngine/UpdateSettings";
|
||||
|
||||
[SettingsProvider]
|
||||
public static SettingsProvider CreateMySettingsProvider()
|
||||
{
|
||||
return new SettingsProvider(SettingsPath, SettingsScope.Project)
|
||||
{
|
||||
label = "TEngine/UpdateSettings",
|
||||
guiHandler = (searchContext) =>
|
||||
{
|
||||
var settings = Settings.UpdateSetting;
|
||||
var serializedObject = new SerializedObject(settings);
|
||||
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("projectName"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("HotUpdateAssemblies"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("AOTMetaAssemblies"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("LogicMainDllName"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("AssemblyTextAssetExtension"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("AssemblyTextAssetPath"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("UpdateStyle"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("ResDownLoadPath"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("FallbackResDownLoadPath"));
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
},
|
||||
keywords = new[] { "TEngine", "Settings", "Custom" }
|
||||
};
|
||||
}
|
||||
}
|
@@ -1,32 +0,0 @@
|
||||
using TEngine.Editor.UI;
|
||||
using UnityEditor;
|
||||
|
||||
public static class TEngineUISettingsProvider
|
||||
{
|
||||
[MenuItem("TEngine/Settings/TEngineUISettings", priority = -1)]
|
||||
public static void OpenSettings() => SettingsService.OpenProjectSettings("Project/TEngine/UISettings");
|
||||
|
||||
private const string SettingsPath = "Project/TEngine/UISettings";
|
||||
|
||||
[SettingsProvider]
|
||||
public static SettingsProvider CreateMySettingsProvider()
|
||||
{
|
||||
return new SettingsProvider(SettingsPath, SettingsScope.Project)
|
||||
{
|
||||
label = "TEngine/UISettings",
|
||||
guiHandler = (searchContext) =>
|
||||
{
|
||||
var scriptGeneratorSetting = ScriptGeneratorSetting.Instance;
|
||||
var scriptGenerator = new SerializedObject(scriptGeneratorSetting);
|
||||
|
||||
EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_codePath"));
|
||||
EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_namespace"));
|
||||
EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_widgetName"));
|
||||
EditorGUILayout.PropertyField(scriptGenerator.FindProperty("CodeStyle"));
|
||||
EditorGUILayout.PropertyField(scriptGenerator.FindProperty("scriptGenerateRule"));
|
||||
scriptGenerator.ApplyModifiedProperties();
|
||||
},
|
||||
keywords = new[] { "TEngine", "Settings", "Custom" }
|
||||
};
|
||||
}
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2672376ad13242bcb6869e90c4def052
|
||||
timeCreated: 1742814408
|
@@ -1,88 +0,0 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityToolbarExtender;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public class EditorPlayMode
|
||||
{
|
||||
static class ToolbarStyles
|
||||
{
|
||||
public static readonly GUIStyle ToolBarExtenderBtnStyle;
|
||||
|
||||
public static readonly GUIStyle ToolBarTextStyle;
|
||||
|
||||
public static readonly GUIStyle ToolBarButtonGuiStyle;
|
||||
|
||||
static ToolbarStyles()
|
||||
{
|
||||
ToolBarExtenderBtnStyle = new GUIStyle("Command")
|
||||
{
|
||||
fontSize = 12,
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
imagePosition = ImagePosition.ImageAbove,
|
||||
fontStyle = FontStyle.Normal,
|
||||
fixedWidth = 60
|
||||
};
|
||||
|
||||
ToolBarTextStyle = new GUIStyle(BUTTON_STYLE_NAME)
|
||||
{
|
||||
padding = new RectOffset(2, 8, 2, 2),
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
fontStyle = FontStyle.Bold
|
||||
};
|
||||
|
||||
ToolBarButtonGuiStyle = new GUIStyle(BUTTON_STYLE_NAME)
|
||||
{
|
||||
padding = new RectOffset(2, 8, 2, 2),
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
fontStyle = FontStyle.Bold
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
static EditorPlayMode()
|
||||
{
|
||||
ToolbarExtender.RightToolbarGUI.Add(OnToolbarGUI);
|
||||
_resourceModeIndex = EditorPrefs.GetInt("EditorPlayMode", 0);
|
||||
}
|
||||
|
||||
private const string BUTTON_STYLE_NAME = "Tab middle";
|
||||
static GUIStyle _buttonGuiStyle;
|
||||
|
||||
private static readonly string[] _resourceModeNames =
|
||||
{
|
||||
"EditorMode (编辑器下的模拟模式)",
|
||||
"OfflinePlayMode (单机模式)",
|
||||
"HostPlayMode (联机运行模式)",
|
||||
"WebPlayMode (WebGL运行模式)"
|
||||
};
|
||||
|
||||
private static int _resourceModeIndex = 0;
|
||||
public static int ResourceModeIndex => _resourceModeIndex;
|
||||
|
||||
static void OnToolbarGUI()
|
||||
{
|
||||
EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
|
||||
{
|
||||
// GUILayout.Label("资源加载模式:",ToolbarStyles.ToolBarTextStyle);
|
||||
//GUILayout.Space(10);
|
||||
//GUILayout.FlexibleSpace();
|
||||
|
||||
// 资源模式
|
||||
int selectedIndex = EditorGUILayout.Popup("", _resourceModeIndex, _resourceModeNames, ToolbarStyles.ToolBarButtonGuiStyle);
|
||||
// ReSharper disable once RedundantCheckBeforeAssignment
|
||||
if (selectedIndex != _resourceModeIndex)
|
||||
{
|
||||
Debug.Log($"更改编辑器资源运行模式 : {_resourceModeNames[selectedIndex]}");
|
||||
_resourceModeIndex = selectedIndex;
|
||||
EditorPrefs.SetInt("EditorPlayMode", selectedIndex);
|
||||
}
|
||||
//GUILayout.FlexibleSpace();
|
||||
//GUILayout.Space(400);
|
||||
}
|
||||
EditorGUI.EndDisabledGroup();
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,126 +0,0 @@
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityToolbarExtender;
|
||||
|
||||
namespace TEngine.SceneLauncher
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public class SceneSwitchLeftButton
|
||||
{
|
||||
private const string PreviousSceneKey = "TEngine_PreviousScenePath"; // 用于存储之前场景路径的键
|
||||
private const string IsLauncherBtn = "TEngine_IsLauncher"; // 用于存储之前是否按下launcher
|
||||
|
||||
private static readonly string SceneMain = "main";
|
||||
|
||||
private static readonly string ButtonStyleName = "Tab middle";
|
||||
private static GUIStyle _buttonGuiStyle;
|
||||
|
||||
static SceneSwitchLeftButton()
|
||||
{
|
||||
ToolbarExtender.LeftToolbarGUI.Add(OnToolbarGUI);
|
||||
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
|
||||
EditorApplication.quitting += OnEditorQuit;
|
||||
}
|
||||
|
||||
private static void OnToolbarGUI()
|
||||
{
|
||||
_buttonGuiStyle ??= new GUIStyle(ButtonStyleName)
|
||||
{
|
||||
padding = new RectOffset(2, 8, 2, 2),
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
fontStyle = FontStyle.Bold
|
||||
};
|
||||
|
||||
GUILayout.FlexibleSpace();
|
||||
if (GUILayout.Button(
|
||||
new GUIContent("Launcher", EditorGUIUtility.FindTexture("PlayButton"), "Start Scene Launcher"),
|
||||
_buttonGuiStyle))
|
||||
SceneHelper.StartScene(SceneMain);
|
||||
}
|
||||
|
||||
private static void OnPlayModeStateChanged(PlayModeStateChange state)
|
||||
{
|
||||
if (state == PlayModeStateChange.EnteredEditMode)
|
||||
{
|
||||
// 从 EditorPrefs 读取之前的场景路径
|
||||
var previousScenePath = EditorPrefs.GetString(PreviousSceneKey, string.Empty);
|
||||
if (!string.IsNullOrEmpty(previousScenePath) && EditorPrefs.GetBool(IsLauncherBtn))
|
||||
{
|
||||
EditorApplication.delayCall += () =>
|
||||
{
|
||||
if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
|
||||
EditorSceneManager.OpenScene(previousScenePath);
|
||||
};
|
||||
}
|
||||
|
||||
EditorPrefs.SetBool(IsLauncherBtn, false);
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnEditorQuit()
|
||||
{
|
||||
EditorPrefs.SetString(PreviousSceneKey, "");
|
||||
EditorPrefs.SetBool(IsLauncherBtn, false);
|
||||
}
|
||||
|
||||
private static class SceneHelper
|
||||
{
|
||||
private static string _sceneToOpen;
|
||||
|
||||
public static void StartScene(string sceneName)
|
||||
{
|
||||
if (EditorApplication.isPlaying) EditorApplication.isPlaying = false;
|
||||
|
||||
// 记录当前场景路径到 EditorPrefs
|
||||
var activeScene = SceneManager.GetActiveScene();
|
||||
if (activeScene.isLoaded && activeScene.name != SceneMain)
|
||||
{
|
||||
EditorPrefs.SetString(PreviousSceneKey, activeScene.path);
|
||||
EditorPrefs.SetBool(IsLauncherBtn, true);
|
||||
}
|
||||
|
||||
_sceneToOpen = sceneName;
|
||||
EditorApplication.update += OnUpdate;
|
||||
}
|
||||
|
||||
private static void OnUpdate()
|
||||
{
|
||||
if (_sceneToOpen == null ||
|
||||
EditorApplication.isPlaying || EditorApplication.isPaused ||
|
||||
EditorApplication.isCompiling || EditorApplication.isPlayingOrWillChangePlaymode)
|
||||
return;
|
||||
|
||||
EditorApplication.update -= OnUpdate;
|
||||
|
||||
if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
|
||||
{
|
||||
string[] guids = AssetDatabase.FindAssets("t:scene " + _sceneToOpen, null);
|
||||
if (guids.Length == 0)
|
||||
{
|
||||
Debug.LogWarning("Couldn't find scene file");
|
||||
}
|
||||
else
|
||||
{
|
||||
string scenePath = null;
|
||||
// 优先打开完全匹配_sceneToOpen的场景
|
||||
for (var i = 0; i < guids.Length; i++)
|
||||
{
|
||||
scenePath = AssetDatabase.GUIDToAssetPath(guids[i]);
|
||||
if (scenePath.EndsWith("/" + _sceneToOpen + ".unity")) break;
|
||||
}
|
||||
|
||||
// 如果没有完全匹配的场景,默认显示找到的第一个场景
|
||||
if (string.IsNullOrEmpty(scenePath)) scenePath = AssetDatabase.GUIDToAssetPath(guids[0]);
|
||||
|
||||
EditorSceneManager.OpenScene(scenePath);
|
||||
EditorApplication.isPlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
_sceneToOpen = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f6d2ca3d3b34950a79294e49dd9d016
|
||||
timeCreated: 1742389721
|
@@ -1,115 +0,0 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEditor.SceneManagement;
|
||||
|
||||
namespace UnityToolbarExtender.Examples
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public sealed class SceneSwitchLeftButton
|
||||
{
|
||||
private static List<(string sceneName, string scenePath)> m_Scenes;
|
||||
private static string[] m_SceneName;
|
||||
private static string[] m_ScenePath;
|
||||
private static int sceneSelected = 0;
|
||||
|
||||
static SceneSwitchLeftButton()
|
||||
{
|
||||
EditorApplication.projectChanged += UpdateCurrent;
|
||||
UpdateCurrent();
|
||||
ToolbarExtender.RightToolbarGUI.Add(OnToolbarGUI);
|
||||
}
|
||||
|
||||
static void UpdateCurrent()
|
||||
{
|
||||
m_Scenes = SceneSwitcher.GetAllScenesInProject();
|
||||
m_SceneName = new string[m_Scenes.Count];
|
||||
m_ScenePath = new string[m_Scenes.Count];
|
||||
for (int i = 0; i < m_Scenes.Count; i++)
|
||||
{
|
||||
var (name, path) = m_Scenes[i];
|
||||
m_SceneName[i] = name;
|
||||
m_ScenePath[i] = path;
|
||||
if (SceneManager.GetActiveScene().path == path)
|
||||
sceneSelected = i;
|
||||
}
|
||||
}
|
||||
|
||||
static void OnToolbarGUI()
|
||||
{
|
||||
if (sceneSelected >= m_SceneName.Length) //空项目0场景判断
|
||||
return;
|
||||
var size = EditorStyles.popup.CalcSize(new GUIContent(m_SceneName[sceneSelected]));
|
||||
// 创建水平布局
|
||||
//EditorGUILayout.BeginHorizontal();
|
||||
GUILayout.Space(20);
|
||||
// 将控件推到左边和右边
|
||||
//GUILayout.FlexibleSpace(); // 先占用左边的所有空间
|
||||
EditorGUILayout.LabelField("当前场景:", GUILayout.Width(55));
|
||||
int sceneSelectedNew = EditorGUILayout.Popup(sceneSelected, m_SceneName, GUILayout.Width(size.x + 5f),
|
||||
GUILayout.MinWidth(55));
|
||||
GUILayout.FlexibleSpace();
|
||||
// 结束水平布局
|
||||
//EditorGUILayout.EndHorizontal();
|
||||
if (sceneSelectedNew != sceneSelected)
|
||||
{
|
||||
sceneSelected = sceneSelectedNew;
|
||||
SceneSwitcher.PromptSaveCurrentScene();
|
||||
EditorSceneManager.OpenScene(m_ScenePath[sceneSelectedNew]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static class SceneSwitcher
|
||||
{
|
||||
public static bool PromptSaveCurrentScene()
|
||||
{
|
||||
// 检查当前场景是否已保存
|
||||
if (SceneManager.GetActiveScene().isDirty)
|
||||
{
|
||||
// 提示用户是否要保存当前场景
|
||||
bool saveScene = EditorUtility.DisplayDialog(
|
||||
"Save Current Scene",
|
||||
"The current scene has unsaved changes. Do you want to save it?",
|
||||
"Save",
|
||||
"Cancel"
|
||||
);
|
||||
|
||||
// 如果用户选择“保存”,则保存当前场景
|
||||
if (saveScene)
|
||||
{
|
||||
EditorSceneManager.SaveScene(SceneManager.GetActiveScene());
|
||||
}
|
||||
|
||||
return saveScene;
|
||||
}
|
||||
|
||||
// 如果场景已保存或者用户选择了“取消”,则返回 true,表示继续执行后续操作
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目中所有的场景文件,并以 (场景名, 场景路径) 的形式返回。
|
||||
/// </summary>
|
||||
public static List<(string sceneName, string scenePath)> GetAllScenesInProject()
|
||||
{
|
||||
List<(string sceneName, string scenePath)> scenes = new List<(string sceneName, string scenePath)>();
|
||||
|
||||
// 查找所有场景文件
|
||||
string[] guids = AssetDatabase.FindAssets("t:Scene");
|
||||
for (int i = 0; i < guids.Length; i++)
|
||||
{
|
||||
var guid = guids[i];
|
||||
string path = AssetDatabase.GUIDToAssetPath(guid);
|
||||
string sceneName = $"{i + 1}_{Path.GetFileNameWithoutExtension(path)}";
|
||||
scenes.Add((sceneName, path));
|
||||
}
|
||||
|
||||
return scenes;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12cde5e16fa64eab883975bd63fc5077
|
||||
timeCreated: 1741968067
|
@@ -1,82 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f8a0dfbcd6854965bb6ae78627009a53, type: 3}
|
||||
m_Name: ScriptGeneratorSetting
|
||||
m_EditorClassIdentifier:
|
||||
_codePath:
|
||||
_namespace: GameLogic
|
||||
_widgetName: item
|
||||
CodeStyle: 0
|
||||
scriptGenerateRule:
|
||||
- uiElementRegex: m_go
|
||||
componentName: GameObject
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_item
|
||||
componentName: GameObject
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_tf
|
||||
componentName: Transform
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_rect
|
||||
componentName: RectTransform
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_text
|
||||
componentName: Text
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_richText
|
||||
componentName: RichTextItem
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_btn
|
||||
componentName: Button
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_img
|
||||
componentName: Image
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_rimg
|
||||
componentName: RawImage
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_scrollBar
|
||||
componentName: Scrollbar
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_scroll
|
||||
componentName: ScrollRect
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_input
|
||||
componentName: InputField
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_grid
|
||||
componentName: GridLayoutGroup
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_hlay
|
||||
componentName: HorizontalLayoutGroup
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_vlay
|
||||
componentName: VerticalLayoutGroup
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_slider
|
||||
componentName: Slider
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_toggle
|
||||
componentName: Toggle
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_group
|
||||
componentName: ToggleGroup
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_curve
|
||||
componentName: AnimationCurve
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_canvasGroup
|
||||
componentName: CanvasGroup
|
||||
isUIWidget: 0
|
||||
- uiElementRegex: m_tmp
|
||||
componentName: TextMeshProUGUI
|
||||
isUIWidget: 0
|
@@ -1,195 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace TEngine.Editor.UI
|
||||
{
|
||||
public enum UIFieldCodeStyle
|
||||
{
|
||||
/// <summary>
|
||||
/// Field names start with underscore (e.g., _variable)
|
||||
/// </summary>
|
||||
[InspectorName("Field names start with underscore (e.g., _variable)")]
|
||||
UnderscorePrefix,
|
||||
|
||||
/// <summary>
|
||||
/// Field names start with m_ prefix (e.g., m_variable)
|
||||
/// </summary>
|
||||
[InspectorName("Field names start with m_ prefix (e.g., m_variable)")]
|
||||
MPrefix,
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ScriptGenerateRuler
|
||||
{
|
||||
public string uiElementRegex;
|
||||
public string componentName;
|
||||
public bool isUIWidget = false;
|
||||
|
||||
public ScriptGenerateRuler(string uiElementRegex, string componentName, bool isUIWidget = false)
|
||||
{
|
||||
this.uiElementRegex = uiElementRegex;
|
||||
this.componentName = componentName;
|
||||
this.isUIWidget = isUIWidget;
|
||||
}
|
||||
}
|
||||
|
||||
[CustomPropertyDrawer(typeof(ScriptGenerateRuler))]
|
||||
public class ScriptGenerateRulerDrawer : PropertyDrawer
|
||||
{
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
EditorGUI.BeginProperty(position, label, property);
|
||||
position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
|
||||
var indent = EditorGUI.indentLevel;
|
||||
EditorGUI.indentLevel = 0;
|
||||
var uiElementRegexRect = new Rect(position.x, position.y, 120, position.height);
|
||||
var componentNameRect = new Rect(position.x + 125, position.y, 150, position.height);
|
||||
var isUIWidgetRect = new Rect(position.x + 325, position.y, 150, position.height);
|
||||
EditorGUI.PropertyField(uiElementRegexRect, property.FindPropertyRelative("uiElementRegex"), GUIContent.none);
|
||||
EditorGUI.PropertyField(componentNameRect, property.FindPropertyRelative("componentName"), GUIContent.none);
|
||||
EditorGUI.PropertyField(isUIWidgetRect, property.FindPropertyRelative("isUIWidget"), GUIContent.none);
|
||||
EditorGUI.indentLevel = indent;
|
||||
EditorGUI.EndProperty();
|
||||
}
|
||||
}
|
||||
|
||||
[CreateAssetMenu(menuName = "TEngine/ScriptGeneratorSetting", fileName = "ScriptGeneratorSetting")]
|
||||
public class ScriptGeneratorSetting : ScriptableObject
|
||||
{
|
||||
private static ScriptGeneratorSetting _instance;
|
||||
|
||||
public static ScriptGeneratorSetting Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
string[] guids = AssetDatabase.FindAssets("t:ScriptGeneratorSetting");
|
||||
if (guids.Length >= 1)
|
||||
{
|
||||
string path = AssetDatabase.GUIDToAssetPath(guids[0]);
|
||||
_instance = AssetDatabase.LoadAssetAtPath<ScriptGeneratorSetting>(path);
|
||||
}
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
// [FolderPath]
|
||||
// [LabelText("默认组件代码保存路径")]
|
||||
[SerializeField]
|
||||
private string _codePath;
|
||||
|
||||
// [LabelText("绑定代码命名空间")]
|
||||
[SerializeField]
|
||||
private string _namespace = "GameLogic";
|
||||
|
||||
// [LabelText("子组件名称(不会往下继续遍历)")]
|
||||
[SerializeField]
|
||||
private string _widgetName = "item";
|
||||
|
||||
public string CodePath => _codePath;
|
||||
|
||||
public string Namespace => _namespace;
|
||||
|
||||
public string WidgetName => _widgetName;
|
||||
|
||||
public UIFieldCodeStyle CodeStyle = UIFieldCodeStyle.UnderscorePrefix;
|
||||
|
||||
[SerializeField]
|
||||
private List<ScriptGenerateRuler> scriptGenerateRule = new List<ScriptGenerateRuler>()
|
||||
{
|
||||
new ScriptGenerateRuler("m_go", "GameObject"),
|
||||
new ScriptGenerateRuler("m_item", "GameObject"),
|
||||
new ScriptGenerateRuler("m_tf", "Transform"),
|
||||
new ScriptGenerateRuler("m_rect", "RectTransform"),
|
||||
new ScriptGenerateRuler("m_text", "Text"),
|
||||
new ScriptGenerateRuler("m_richText", "RichTextItem"),
|
||||
new ScriptGenerateRuler("m_btn", "Button"),
|
||||
new ScriptGenerateRuler("m_img", "Image"),
|
||||
new ScriptGenerateRuler("m_rimg", "RawImage"),
|
||||
new ScriptGenerateRuler("m_scrollBar", "Scrollbar"),
|
||||
new ScriptGenerateRuler("m_scroll", "ScrollRect"),
|
||||
new ScriptGenerateRuler("m_input", "InputField"),
|
||||
new ScriptGenerateRuler("m_grid", "GridLayoutGroup"),
|
||||
new ScriptGenerateRuler("m_hlay", "HorizontalLayoutGroup"),
|
||||
new ScriptGenerateRuler("m_vlay", "VerticalLayoutGroup"),
|
||||
new ScriptGenerateRuler("m_slider", "Slider"),
|
||||
new ScriptGenerateRuler("m_group", "ToggleGroup"),
|
||||
new ScriptGenerateRuler("m_curve", "AnimationCurve"),
|
||||
new ScriptGenerateRuler("m_canvasGroup", "CanvasGroup"),
|
||||
new ScriptGenerateRuler("m_tmp","TextMeshProUGUI"),
|
||||
};
|
||||
|
||||
public List<ScriptGenerateRuler> ScriptGenerateRule => scriptGenerateRule;
|
||||
|
||||
|
||||
[MenuItem("TEngine/Create ScriptGeneratorSetting")]
|
||||
private static void CreateAutoBindGlobalSetting()
|
||||
{
|
||||
string[] paths = AssetDatabase.FindAssets("t:ScriptGeneratorSetting");
|
||||
if (paths.Length >= 1)
|
||||
{
|
||||
string path = AssetDatabase.GUIDToAssetPath(paths[0]);
|
||||
EditorUtility.DisplayDialog("警告", $"已存在ScriptGeneratorSetting,路径:{path}", "确认");
|
||||
return;
|
||||
}
|
||||
|
||||
ScriptGeneratorSetting setting = CreateInstance<ScriptGeneratorSetting>();
|
||||
AssetDatabase.CreateAsset(setting, "Assets/Editor/ScriptGeneratorSetting.asset");
|
||||
AssetDatabase.SaveAssets();
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
|
||||
public static List<ScriptGenerateRuler> GetScriptGenerateRule()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return Instance.ScriptGenerateRule;
|
||||
}
|
||||
|
||||
public static string GetUINameSpace()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return Instance.Namespace;
|
||||
}
|
||||
|
||||
public static UIFieldCodeStyle GetCodeStyle()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
return UIFieldCodeStyle.UnderscorePrefix;
|
||||
}
|
||||
|
||||
return Instance.CodeStyle;
|
||||
}
|
||||
|
||||
public static string GetCodePath()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return Instance.CodePath;
|
||||
}
|
||||
|
||||
public static string GetWidgetName()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return Instance.WidgetName;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8a0dfbcd6854965bb6ae78627009a53
|
||||
timeCreated: 1741968155
|
@@ -1,15 +0,0 @@
|
||||
using TEngine;
|
||||
using UnityEngine;
|
||||
|
||||
public class GameEntry : MonoBehaviour
|
||||
{
|
||||
void Awake()
|
||||
{
|
||||
ModuleSystem.GetModule<IUpdateDriver>();
|
||||
ModuleSystem.GetModule<IResourceModule>();
|
||||
ModuleSystem.GetModule<IDebuggerModule>();
|
||||
ModuleSystem.GetModule<IFsmModule>();
|
||||
Settings.ProcedureSetting.StartProcedure().Forget();
|
||||
DontDestroyOnLoad(this);
|
||||
}
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9afd4d88f7b567341823779947b83bd9
|
||||
guid: 6635aa4e94cc66546b8b89c48f0a0099
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@@ -0,0 +1,79 @@
|
||||
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 OnRoleLogin()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnRoleLogout()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDestroy()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDrawGizmos()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnApplicationPause(bool pause)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnMapChanged()
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc4ce19b17fd4277951d189b66f503e2
|
||||
timeCreated: 1683120353
|
@@ -0,0 +1,309 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 通过LogicSys来驱动且具备Unity完整生命周期的单例(不继承MonoBehaviour)。
|
||||
/// <remarks>Update、FixUpdate以及LateUpdate这些敏感帧更新需要加上对应的Attribute以最优化性能。</remarks>
|
||||
/// </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);
|
||||
}
|
||||
}
|
||||
|
||||
#region Attribute
|
||||
|
||||
/// <summary>
|
||||
/// 帧更新属性。
|
||||
/// <remarks>适用于BehaviourSingleton。</remarks>
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class UpdateAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 物理帧更新属性。
|
||||
/// <remarks>适用于BehaviourSingleton。</remarks>
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class FixedUpdateAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 后帧更新属性。
|
||||
/// <remarks>适用于BehaviourSingleton。</remarks>
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class LateUpdateAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class RoleLoginAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class RoleLogoutAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 基础Behaviour单例。
|
||||
/// <remarks>(抽象类)</remarks>
|
||||
/// </summary>
|
||||
public abstract class BaseBehaviourSingleton
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否已经Start。
|
||||
/// </summary>
|
||||
public bool IsStart = false;
|
||||
|
||||
public virtual void Awake()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Start()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 帧更新。
|
||||
/// <remarks>需要UpdateAttribute。</remarks>
|
||||
/// </summary>
|
||||
public virtual void Update()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 后帧更新。
|
||||
/// <remarks>需要LateUpdateAttribute。</remarks>
|
||||
/// </summary>
|
||||
public virtual void LateUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 物理帧更新。
|
||||
/// <remarks>需要FixedUpdateAttribute。</remarks>
|
||||
/// </summary>
|
||||
public virtual void FixedUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Destroy()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnPause()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnResume()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnDrawGizmos()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过LogicSys来驱动且具备Unity完整生命周期的驱动系统(不继承MonoBehaviour)。
|
||||
/// </summary>
|
||||
public sealed 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>();
|
||||
private readonly List<BaseBehaviourSingleton> _listFixedUpdate = new List<BaseBehaviourSingleton>();
|
||||
|
||||
/// <summary>
|
||||
/// 注册单例。
|
||||
/// <remarks>调用Instance时自动调用。</remarks>
|
||||
/// </summary>
|
||||
/// <param name="inst">单例实例。</param>
|
||||
internal void RegSingleton(BaseBehaviourSingleton inst)
|
||||
{
|
||||
Log.Assert(!_listInst.Contains(inst));
|
||||
_listInst.Add(inst);
|
||||
_listStart.Add(inst);
|
||||
if (HadAttribute<UpdateAttribute>(inst.GetType()))
|
||||
{
|
||||
_listUpdate.Add(inst);
|
||||
}
|
||||
|
||||
if (HadAttribute<LateUpdateAttribute>(inst.GetType()))
|
||||
{
|
||||
_listLateUpdate.Add(inst);
|
||||
}
|
||||
|
||||
if (HadAttribute<FixedUpdateAttribute>(inst.GetType()))
|
||||
{
|
||||
_listFixedUpdate.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;
|
||||
int count = listStart.Count;
|
||||
if (count > 0)
|
||||
{
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
var inst = listStart[i];
|
||||
Log.Assert(!inst.IsStart);
|
||||
|
||||
inst.IsStart = true;
|
||||
inst.Start();
|
||||
}
|
||||
|
||||
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 OnFixedUpdate()
|
||||
{
|
||||
var listFixedUpdate = _listFixedUpdate;
|
||||
var listFixedUpdateCnt = listFixedUpdate.Count;
|
||||
for (int i = 0; i < listFixedUpdateCnt; i++)
|
||||
{
|
||||
var inst = listFixedUpdate[i];
|
||||
|
||||
TProfiler.BeginFirstSample(inst.GetType().FullName);
|
||||
inst.FixedUpdate();
|
||||
TProfiler.EndFirstSample();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDestroy()
|
||||
{
|
||||
int count = _listInst.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
inst.Destroy();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnApplicationPause(bool pause)
|
||||
{
|
||||
int count = _listInst.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
if (pause)
|
||||
{
|
||||
inst.OnPause();
|
||||
}
|
||||
else
|
||||
{
|
||||
inst.OnResume();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDrawGizmos()
|
||||
{
|
||||
int count = _listInst.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
var inst = _listInst[i];
|
||||
inst.OnDrawGizmos();
|
||||
}
|
||||
}
|
||||
|
||||
private bool HadAttribute<T>(Type type) where T : Attribute
|
||||
{
|
||||
T attribute = Attribute.GetCustomAttribute(type, typeof(T)) as T;
|
||||
return attribute != null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c0e9c1c8c9d4ce99a1c991fb62a0256
|
||||
timeCreated: 1683120460
|
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "Launcher",
|
||||
"rootNamespace": "Launcher",
|
||||
"name": "GameBase",
|
||||
"rootNamespace": "GameBase",
|
||||
"references": [
|
||||
"GUID:13ba8ce62aa80c74598530029cb2d649"
|
||||
"GUID:24c092aee38482f4e80715eaa8148782"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c410e165b20d4a478b7f3a4b7fa98de
|
||||
guid: cbb0d51b565003841ae81cdbaf747114
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
58
UnityProject/Assets/GameScripts/HotFix/GameBase/ILogicSys.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
/// <summary>
|
||||
/// 定义通用的逻辑接口,统一生命期调用
|
||||
/// </summary>
|
||||
public interface ILogicSys
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化接口
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool OnInit();
|
||||
|
||||
/// <summary>
|
||||
/// 销毁系统
|
||||
/// </summary>
|
||||
void OnDestroy();
|
||||
|
||||
/// <summary>
|
||||
/// 初始化后,第一帧统一调用
|
||||
/// </summary>
|
||||
void OnStart();
|
||||
|
||||
/// <summary>
|
||||
/// 更新接口
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
void OnUpdate();
|
||||
|
||||
/// <summary>
|
||||
/// 渲染后调用
|
||||
/// </summary>
|
||||
void OnLateUpdate();
|
||||
|
||||
/// <summary>
|
||||
/// 物理帧更新
|
||||
/// </summary>
|
||||
void OnFixedUpdate();
|
||||
|
||||
/// <summary>
|
||||
/// 登录账号/角色时调用
|
||||
/// </summary>
|
||||
void OnRoleLogin();
|
||||
|
||||
/// <summary>
|
||||
/// 清理数据接口,切换账号/角色时调用
|
||||
/// </summary>
|
||||
void OnRoleLogout();
|
||||
|
||||
/// <summary>
|
||||
/// 绘制调试接口
|
||||
/// </summary>
|
||||
void OnDrawGizmos();
|
||||
|
||||
/// <summary>
|
||||
/// 暂停游戏
|
||||
/// </summary>
|
||||
/// <param name="pause"></param>
|
||||
void OnApplicationPause(bool pause);
|
||||
}
|