增加Gate网关 的 游戏账号
This commit is contained in:
parent
1d53e5bde7
commit
f92349a167
@ -297,6 +297,7 @@ GameObject:
|
||||
- component: {fileID: 1152424382386904597}
|
||||
- component: {fileID: 6543937366562053471}
|
||||
- component: {fileID: 7496510412544382114}
|
||||
- component: {fileID: 8566924219933099852}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
@ -422,6 +423,45 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &8566924219933099852
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4218416816966316200}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
mTerm: ar_TrackImages
|
||||
mTermSecondary:
|
||||
PrimaryTermModifier: 0
|
||||
SecondaryTermModifier: 0
|
||||
TermPrefix:
|
||||
TermSuffix:
|
||||
LocalizeOnAwake: 1
|
||||
IgnoreRTL: 0
|
||||
MaxCharactersInRTL: 0
|
||||
IgnoreNumbersInRTL: 1
|
||||
CorrectAlignmentForRTL: 1
|
||||
AddSpacesToJoinedLanguages: 0
|
||||
AllowLocalizedParameters: 1
|
||||
AllowParameters: 1
|
||||
TranslatedObjects: []
|
||||
LocalizeEvent:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
AlwaysForceLocalize: 0
|
||||
LocalizeCallBack:
|
||||
Target: {fileID: 0}
|
||||
MethodName:
|
||||
mGUI_ShowReferences: 0
|
||||
mGUI_ShowTems: 1
|
||||
mGUI_ShowCallback: 0
|
||||
mLocalizeTarget: {fileID: 0}
|
||||
mLocalizeTargetName: TEngine.Localization.LocalizeTarget_TextMeshPro_UGUI
|
||||
--- !u!1 &4649351181132423131
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -640,7 +680,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Return
|
||||
m_text: "\u8FD4\u56DE"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
|
||||
m_sharedMaterial: {fileID: -2154976526923410665, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
|
||||
|
@ -262,6 +262,15 @@ MonoBehaviour:
|
||||
- "AR\u5BA3\u50B3\u518A"
|
||||
Flags: 000000
|
||||
Languages_Touch: []
|
||||
- Term: ar_TrackImages
|
||||
TermType: 0
|
||||
Description:
|
||||
Languages:
|
||||
- "\u8BC6\u522B\u56FE\u76F8\u518C"
|
||||
- Identification photo album
|
||||
-
|
||||
Flags: 000000
|
||||
Languages_Touch: []
|
||||
CaseInsensitiveTerms: 0
|
||||
OnMissingTranslation: 1
|
||||
mTerm_AppName:
|
||||
@ -280,7 +289,7 @@ MonoBehaviour:
|
||||
Google_WebServiceURL: https://script.google.com/macros/s/AKfycbyMJIRUEwjOOACTcEVkNzBk2KmimWIpcU2xnwwkNDSGNFVRxWmvfjRxHzB20M3sopiDUA/exec
|
||||
Google_SpreadsheetKey: 1F3QGlpyEWpkQSP2n-CVC7wL2zr2llKWmT1KpI8dfyEA
|
||||
Google_SpreadsheetName: I2Loc TEngine Localization
|
||||
Google_LastUpdatedVersion: 1742454861571
|
||||
Google_LastUpdatedVersion: 1742521166409
|
||||
Google_Password: change_this
|
||||
GoogleUpdateFrequency: 3
|
||||
GoogleInEditorCheckFrequency: 2
|
||||
|
@ -560,10 +560,16 @@ namespace GameLogic
|
||||
|
||||
m_previousRotation = m_pointGo.transform.rotation;
|
||||
m_previousPosition = m_pointGo.transform.position;
|
||||
|
||||
m_spawnedObject.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
|
||||
|
||||
entityARModel.InitialScale = m_spawnedObject.transform.localScale;
|
||||
|
||||
|
||||
m_spawnedObject.transform.localPosition = m_previousPosition;
|
||||
//放置物体面向摄像头
|
||||
m_spawnedObject.transform.LookAt(m_arCamera.transform);
|
||||
|
||||
startTime = Time.time;
|
||||
//rotate = true;
|
||||
m_wentToScale = true;
|
||||
|
@ -14,7 +14,7 @@ namespace GameLogic
|
||||
public static uint InvalidToken = 6;
|
||||
public static uint UserNotFoundOrPasswordIsNotCorrect = 7; //用户名不存在 或者 密码 不正确
|
||||
public static uint UserAlreadyLogin = 8; // 用户已登录
|
||||
|
||||
|
||||
// 无效的身份验证令牌
|
||||
public static uint AccessDenied = 10; // 访问被拒绝
|
||||
public static uint ServerError = 11; // 服务器内部错误
|
||||
@ -22,8 +22,18 @@ namespace GameLogic
|
||||
public static uint TooManyRequests = 13; // 请求过多(防止刷接口)
|
||||
public static uint UnauthorizedServer = 14; // 用户不属于该鉴权服务器
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Token验证状态码
|
||||
public static uint GateTokenValidSuccess = 20; // Gate Token有效
|
||||
public static uint GateTokenExpired = 21; //Gate Token已过期
|
||||
public static uint GateTokenInvalidSignature = 22; //Gate Token签名无效
|
||||
public static uint GateTokenGeneralError = 23; // Gate Token验证一般错误
|
||||
public static uint GateTokenValidFailed = 24; // Gate Token校验失败 无效
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取错误信息
|
||||
public static string GetErrorMessage(uint errorCode)
|
||||
{
|
||||
@ -42,6 +52,11 @@ namespace GameLogic
|
||||
else if (errorCode == InvalidInput) errorMessage = "输入不合法";
|
||||
else if (errorCode == TooManyRequests) errorMessage = "请求过多,请稍后再试";
|
||||
else if (errorCode == UnauthorizedServer) errorMessage = "用户不属于该鉴权服务器";
|
||||
else if (errorCode == GateTokenValidSuccess) errorMessage = "Gate Token有效";
|
||||
else if (errorCode == GateTokenExpired) errorMessage = "Gate Token已过期";
|
||||
else if (errorCode == GateTokenInvalidSignature) errorMessage = "Gate Token签名无效";
|
||||
else if (errorCode == GateTokenGeneralError) errorMessage = "Gate Token验证一般错误";
|
||||
else if (errorCode == GateTokenValidFailed) errorMessage = "Gate Token校验失败 无效";
|
||||
else errorMessage = "未知错误";
|
||||
return errorMessage;
|
||||
}
|
||||
|
@ -3,8 +3,9 @@ namespace GameLogic.Net
|
||||
public enum ECommandType
|
||||
{
|
||||
None,
|
||||
Register,
|
||||
Login,
|
||||
Register,//注册
|
||||
Login,//登录
|
||||
LoginGateToken,//登录GateToken
|
||||
EnterMap//进入地图
|
||||
}
|
||||
}
|
@ -7,6 +7,8 @@ namespace GameLogic
|
||||
public long aid ;
|
||||
// 网关地址
|
||||
public string gateAddress;
|
||||
|
||||
public uint sceneId;
|
||||
// 创建时间
|
||||
public long nbf;
|
||||
// 过期时间
|
||||
|
@ -16,19 +16,20 @@ namespace GameLogic
|
||||
}
|
||||
string username = data[0].ToString();
|
||||
string password = data[1].ToString();
|
||||
var request = (A2C_LoginResponse)await session.Call(new C2A_LoginRequest()
|
||||
var response = (A2C_LoginResponse)await session.Call(new C2A_LoginRequest()
|
||||
{
|
||||
Username = username,
|
||||
Password = password,
|
||||
Source = "客户端"
|
||||
});
|
||||
var jwtPayload = GameNetJwtUtility.DecodeJwtToken(request.Token);
|
||||
var jwtPayload = GameNetJwtUtility.DecodeJwtToken(response.Token);
|
||||
var responseData = new object[]
|
||||
{
|
||||
jwtPayload
|
||||
jwtPayload,
|
||||
response.Token
|
||||
};
|
||||
|
||||
return (request.ErrorCode,responseData);
|
||||
return (response.ErrorCode,responseData);
|
||||
}
|
||||
|
||||
public override async UniTask<uint> ExecuteCommand(Session session, params object[] data)
|
||||
|
@ -0,0 +1,32 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Fantasy;
|
||||
using Fantasy.Network;
|
||||
using GameLogic.GameCommand;
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
public class Cmd_LoginGateToken : BaseNetGameCommand
|
||||
{
|
||||
|
||||
|
||||
public override async UniTask<(uint, object[])> ExecuteRequestMultipleDataCommand(Session session, params object[] data)
|
||||
{
|
||||
|
||||
return (0u, data);
|
||||
}
|
||||
|
||||
public override async UniTask<uint> ExecuteCommand(Session session, params object[] data)
|
||||
{
|
||||
if (data.Length == 0 || data == null || data.Length <= 1)
|
||||
{
|
||||
Log.Warning("Token Incorrect parameters");
|
||||
}
|
||||
string token = data[0].ToString();
|
||||
var request = (G2C_LoginResponse)await session.Call(new C2G_LoginRequest()
|
||||
{
|
||||
Token = token
|
||||
});
|
||||
return request.ErrorCode;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a601cd0c1d60c84ba36dba093ca8f40
|
@ -64,6 +64,7 @@ namespace GameLogic
|
||||
m_netcommands.Add(ECommandType.EnterMap,new Cmd_EnterMap());
|
||||
m_netcommands.Add(ECommandType.Register,new Cmd_Register());
|
||||
m_netcommands.Add(ECommandType.Login,new Cmd_Login());
|
||||
m_netcommands.Add(ECommandType.LoginGateToken,new Cmd_LoginGateToken());
|
||||
}
|
||||
|
||||
}
|
||||
@ -148,7 +149,7 @@ namespace GameLogic
|
||||
|
||||
private void OnConnectDisconnect()
|
||||
{
|
||||
Log.Debug("链接断开");
|
||||
//Log.Debug("链接断开");
|
||||
}
|
||||
|
||||
private void OnConnectComplete()
|
||||
|
@ -87,14 +87,19 @@ namespace GameLogic
|
||||
Log.Warning($"登录失败,错误码:{errorMessage}");
|
||||
return;
|
||||
}
|
||||
if(result.data!=null && result.data.Length > 0)
|
||||
if(result.data==null && result.data.Length == 0) return;
|
||||
var jwtPayload = result.data[0] as JwtPayload;
|
||||
var gateToken = result.data[1] as string;
|
||||
|
||||
//进行网关连接校验
|
||||
var code = await GameNetSystem.Instance.SendCommand(jwtPayload.gateAddress,ECommandType.LoginGateToken,new object[]{gateToken});
|
||||
if(code != 1)
|
||||
{
|
||||
var jwtPayload = result.data[0] as JwtPayload;
|
||||
if(jwtPayload!=null)
|
||||
{
|
||||
Log.Warning($"登录成功,账号id:{jwtPayload.aid},网关地址:{jwtPayload.gateAddress}");
|
||||
}
|
||||
errorMessage = GameErrorCode.GetErrorMessage(code);
|
||||
Log.Warning($"登录失败,错误码:{errorMessage}");
|
||||
return;
|
||||
}
|
||||
|
||||
/*username = string.Empty;
|
||||
password = string.Empty;*/
|
||||
Log.Warning("登录成功");
|
||||
|
@ -119,7 +119,7 @@ MonoBehaviour:
|
||||
m_MinSize: {x: 400, y: 100}
|
||||
m_MaxSize: {x: 32384, y: 16192}
|
||||
vertical: 0
|
||||
controlID: 46
|
||||
controlID: 15
|
||||
draggingID: 0
|
||||
--- !u!114 &6
|
||||
MonoBehaviour:
|
||||
@ -140,12 +140,12 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1595
|
||||
width: 1460
|
||||
height: 933
|
||||
m_MinSize: {x: 300, y: 100}
|
||||
m_MaxSize: {x: 24288, y: 16192}
|
||||
vertical: 1
|
||||
controlID: 47
|
||||
controlID: 16
|
||||
draggingID: 0
|
||||
--- !u!114 &7
|
||||
MonoBehaviour:
|
||||
@ -167,12 +167,12 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1595
|
||||
height: 609
|
||||
width: 1460
|
||||
height: 565
|
||||
m_MinSize: {x: 300, y: 50}
|
||||
m_MaxSize: {x: 24288, y: 8096}
|
||||
vertical: 0
|
||||
controlID: 48
|
||||
controlID: 17
|
||||
draggingID: 0
|
||||
--- !u!114 &8
|
||||
MonoBehaviour:
|
||||
@ -191,13 +191,13 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 303
|
||||
height: 609
|
||||
width: 339
|
||||
height: 565
|
||||
m_MinSize: {x: 201, y: 226}
|
||||
m_MaxSize: {x: 4001, y: 4026}
|
||||
m_ActualView: {fileID: 17}
|
||||
m_ActualView: {fileID: 16}
|
||||
m_Panes:
|
||||
- {fileID: 17}
|
||||
- {fileID: 16}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &9
|
||||
@ -215,15 +215,15 @@ MonoBehaviour:
|
||||
m_Children: []
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 303
|
||||
x: 339
|
||||
y: 0
|
||||
width: 603
|
||||
height: 609
|
||||
width: 476
|
||||
height: 565
|
||||
m_MinSize: {x: 202, y: 226}
|
||||
m_MaxSize: {x: 4002, y: 4026}
|
||||
m_ActualView: {fileID: 18}
|
||||
m_ActualView: {fileID: 17}
|
||||
m_Panes:
|
||||
- {fileID: 18}
|
||||
- {fileID: 17}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &10
|
||||
@ -241,15 +241,15 @@ MonoBehaviour:
|
||||
m_Children: []
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 906
|
||||
x: 815
|
||||
y: 0
|
||||
width: 689
|
||||
height: 609
|
||||
width: 645
|
||||
height: 565
|
||||
m_MinSize: {x: 52, y: 76}
|
||||
m_MaxSize: {x: 4002, y: 4026}
|
||||
m_ActualView: {fileID: 16}
|
||||
m_ActualView: {fileID: 22}
|
||||
m_Panes:
|
||||
- {fileID: 16}
|
||||
- {fileID: 22}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &11
|
||||
@ -271,13 +271,13 @@ MonoBehaviour:
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 609
|
||||
width: 1595
|
||||
height: 324
|
||||
y: 565
|
||||
width: 1460
|
||||
height: 368
|
||||
m_MinSize: {x: 300, y: 50}
|
||||
m_MaxSize: {x: 24288, y: 8096}
|
||||
vertical: 0
|
||||
controlID: 166
|
||||
controlID: 72
|
||||
draggingID: 0
|
||||
--- !u!114 &12
|
||||
MonoBehaviour:
|
||||
@ -296,13 +296,13 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 354
|
||||
height: 324
|
||||
width: 984
|
||||
height: 368
|
||||
m_MinSize: {x: 101, y: 126}
|
||||
m_MaxSize: {x: 4001, y: 4026}
|
||||
m_ActualView: {fileID: 19}
|
||||
m_ActualView: {fileID: 18}
|
||||
m_Panes:
|
||||
- {fileID: 19}
|
||||
- {fileID: 18}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &13
|
||||
@ -320,15 +320,15 @@ MonoBehaviour:
|
||||
m_Children: []
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 354
|
||||
x: 984
|
||||
y: 0
|
||||
width: 626
|
||||
height: 324
|
||||
width: 192
|
||||
height: 368
|
||||
m_MinSize: {x: 232, y: 276}
|
||||
m_MaxSize: {x: 10002, y: 10026}
|
||||
m_ActualView: {fileID: 20}
|
||||
m_ActualView: {fileID: 19}
|
||||
m_Panes:
|
||||
- {fileID: 20}
|
||||
- {fileID: 19}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &14
|
||||
@ -346,15 +346,15 @@ MonoBehaviour:
|
||||
m_Children: []
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 980
|
||||
x: 1176
|
||||
y: 0
|
||||
width: 615
|
||||
height: 324
|
||||
width: 284
|
||||
height: 368
|
||||
m_MinSize: {x: 232, y: 276}
|
||||
m_MaxSize: {x: 10002, y: 10026}
|
||||
m_ActualView: {fileID: 21}
|
||||
m_ActualView: {fileID: 20}
|
||||
m_Panes:
|
||||
- {fileID: 21}
|
||||
- {fileID: 20}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &15
|
||||
@ -372,120 +372,18 @@ MonoBehaviour:
|
||||
m_Children: []
|
||||
m_Position:
|
||||
serializedVersion: 2
|
||||
x: 1595
|
||||
x: 1460
|
||||
y: 0
|
||||
width: 325
|
||||
width: 460
|
||||
height: 933
|
||||
m_MinSize: {x: 276, y: 76}
|
||||
m_MaxSize: {x: 4001, y: 4026}
|
||||
m_ActualView: {fileID: 22}
|
||||
m_ActualView: {fileID: 21}
|
||||
m_Panes:
|
||||
- {fileID: 22}
|
||||
- {fileID: 21}
|
||||
m_Selected: 0
|
||||
m_LastSelected: 0
|
||||
--- !u!114 &16
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
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: 12015, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_MinSize: {x: 50, y: 50}
|
||||
m_MaxSize: {x: 4000, y: 4000}
|
||||
m_TitleContent:
|
||||
m_Text: Game
|
||||
m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_Tooltip:
|
||||
m_TextWithWhitespace: "Game\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 907
|
||||
y: 24
|
||||
width: 687
|
||||
height: 583
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
m_SupportedDataModes:
|
||||
isAutomatic: 1
|
||||
m_ViewDataDictionary: {fileID: 0}
|
||||
m_OverlayCanvas:
|
||||
m_LastAppliedPresetName: Default
|
||||
m_SaveData: []
|
||||
m_ContainerData: []
|
||||
m_OverlaysVisible: 1
|
||||
m_SerializedViewNames:
|
||||
- UnityEditor.DeviceSimulation.SimulatorWindow
|
||||
m_SerializedViewValues:
|
||||
- E:\UnityProject\EintooAR\EintooAR\Library\PlayModeViewStates\a297a2320b8d69d4f8953e88f56338a2
|
||||
m_PlayModeViewName: GameView
|
||||
m_ShowGizmos: 0
|
||||
m_TargetDisplay: 0
|
||||
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_TargetSize: {x: 750, y: 1334}
|
||||
m_TextureFilterMode: 0
|
||||
m_TextureHideFlags: 61
|
||||
m_RenderIMGUI: 1
|
||||
m_EnterPlayModeBehavior: 2
|
||||
m_UseMipMap: 0
|
||||
m_VSyncEnabled: 0
|
||||
m_Gizmos: 0
|
||||
m_Stats: 0
|
||||
m_SelectedSizes: 07000000000000002300000012000000000000000000000000000000000000000000000000000000
|
||||
m_ZoomArea:
|
||||
m_HRangeLocked: 0
|
||||
m_VRangeLocked: 0
|
||||
hZoomLockedByDefault: 0
|
||||
vZoomLockedByDefault: 0
|
||||
m_HBaseRangeMin: -375
|
||||
m_HBaseRangeMax: 375
|
||||
m_VBaseRangeMin: -667
|
||||
m_VBaseRangeMax: 667
|
||||
m_HAllowExceedBaseRangeMin: 1
|
||||
m_HAllowExceedBaseRangeMax: 1
|
||||
m_VAllowExceedBaseRangeMin: 1
|
||||
m_VAllowExceedBaseRangeMax: 1
|
||||
m_ScaleWithWindow: 0
|
||||
m_HSlider: 0
|
||||
m_VSlider: 0
|
||||
m_IgnoreScrollWheelUntilClicked: 0
|
||||
m_EnableMouseInput: 1
|
||||
m_EnableSliderZoomHorizontal: 0
|
||||
m_EnableSliderZoomVertical: 0
|
||||
m_UniformScale: 1
|
||||
m_UpDirection: 1
|
||||
m_DrawArea:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 21
|
||||
width: 687
|
||||
height: 562
|
||||
m_Scale: {x: 0.42128938, y: 0.42128935}
|
||||
m_Translation: {x: 343.5, y: 281}
|
||||
m_MarginLeft: 0
|
||||
m_MarginRight: 0
|
||||
m_MarginTop: 0
|
||||
m_MarginBottom: 0
|
||||
m_LastShownAreaInsideMargins:
|
||||
serializedVersion: 2
|
||||
x: -815.35406
|
||||
y: -667
|
||||
width: 1630.7081
|
||||
height: 1334
|
||||
m_MinimalGUI: 1
|
||||
m_defaultScale: 0.42128935
|
||||
m_LastWindowPixelSize: {x: 687, y: 583}
|
||||
m_ClearInEditMode: 1
|
||||
m_NoCameraWarning: 1
|
||||
m_LowResolutionForAspectRatios: 01000101000000000000
|
||||
m_XRRenderMode: 0
|
||||
m_RenderTexture: {fileID: 0}
|
||||
--- !u!114 &17
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -508,8 +406,8 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 24
|
||||
width: 302
|
||||
height: 583
|
||||
width: 338
|
||||
height: 539
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
@ -526,7 +424,7 @@ MonoBehaviour:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: b4f8ffffc4f8ffff06080100400801004a08010052080100
|
||||
m_ExpandedIDs: 963ef7ff5841f7ff5e41f7ffbaaff8ff702ffaff762ffaff7c2ffaff822ffaff8a2ffaff942ffaffae2ffaffb42ffaffba2ffaffc02ffaffc62ffaffcc2ffaff6a9ffbff66b2fbffaeb2fbfff8bbfbffccbdfbffeed1fbff36d2fbff80dbfbff54ddfbff42c5fcff4cc5fcff5ac5fcff82c5fcffb4c5fcff1a02fdff4602fdff4e02fdff5602fdff340ffdff8076fdff3e77fdff4677fdff4e77fdff9a79fdff04aefdff0eaefdff1eaefdffb8c2fdffd2c2fdfffec2fdff06c3fdff0ec3fdff7ac3fdffbcc3fdffeecefdff28cffdff92dffdffda2dffffc03cffff8a83ffff9683ffffd283ffffde83ffffea83ffff0e84ffff108effff76c9ffff9cd4ffff8cd7ffff94d7ffffa6d9ffffa2f9fffff4ffffffe02f0100fc2f0100343001001eda030078da0300
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -551,7 +449,7 @@ MonoBehaviour:
|
||||
m_IsLocked: 0
|
||||
m_CurrentSortingName: TransformSorting
|
||||
m_WindowGUID: 4c969a2b90040154d917609493e03593
|
||||
--- !u!114 &18
|
||||
--- !u!114 &17
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -572,10 +470,10 @@ MonoBehaviour:
|
||||
m_TextWithWhitespace: "Scene\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 304
|
||||
x: 340
|
||||
y: 24
|
||||
width: 601
|
||||
height: 583
|
||||
width: 474
|
||||
height: 539
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
@ -646,11 +544,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: unity-search-toolbar
|
||||
index: 2
|
||||
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":-24.0,"y":25.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":-24.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: -24, y: 25}
|
||||
snapOffsetDelta: {x: -24, y: 0}
|
||||
snapCorner: 1
|
||||
layout: 1
|
||||
size: {x: 0, y: 0}
|
||||
@ -702,11 +600,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Light Settings
|
||||
index: 1
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -730,11 +628,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Cloth Constraints
|
||||
index: 2
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -744,11 +642,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Cloth Collisions
|
||||
index: 3
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -800,11 +698,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Occlusion Culling
|
||||
index: 4
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -814,11 +712,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Physics Debugger
|
||||
index: 5
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -828,11 +726,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Scene Visibility
|
||||
index: 6
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -842,11 +740,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Particles
|
||||
index: 7
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -884,11 +782,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Open Tile Palette
|
||||
index: 3
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -898,11 +796,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Tilemap Focus
|
||||
index: 4
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -912,11 +810,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Brush Attributes
|
||||
index: 2
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 24, y: 0}
|
||||
snapOffsetDelta: {x: 0, y: 25}
|
||||
snapOffsetDelta: {x: 0, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -926,11 +824,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Terrain Tools
|
||||
index: 0
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 24, y: 0}
|
||||
snapOffsetDelta: {x: 0, y: 25}
|
||||
snapOffsetDelta: {x: 0, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -940,11 +838,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Brush Masks
|
||||
index: 1
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 24, y: 0}
|
||||
snapOffsetDelta: {x: 0, y: 25}
|
||||
snapOffsetDelta: {x: 0, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -954,11 +852,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Lighting Visualization Colors
|
||||
index: 0
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -982,11 +880,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Tile Palette Clipboard
|
||||
index: 0
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -996,11 +894,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/Tile Palette Brush Pick
|
||||
index: 9
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1010,11 +908,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: APV Overlay
|
||||
index: 12
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1024,11 +922,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: SceneView/CamerasOverlay
|
||||
index: 8
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1038,11 +936,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/PBR Validation Settings
|
||||
index: 10
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1052,11 +950,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: Scene View/TrailRenderer
|
||||
index: 11
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1066,11 +964,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: XREnvironmentToolbar
|
||||
index: 13
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1080,11 +978,11 @@ MonoBehaviour:
|
||||
displayed: 0
|
||||
id: XR Building Blocks
|
||||
index: 14
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
|
||||
floating: 0
|
||||
collapsed: 0
|
||||
snapOffset: {x: 0, y: 0}
|
||||
snapOffsetDelta: {x: 24, y: 25}
|
||||
snapOffsetDelta: {x: 24, y: 0}
|
||||
snapCorner: 0
|
||||
layout: 4
|
||||
size: {x: 0, y: 0}
|
||||
@ -1130,9 +1028,9 @@ MonoBehaviour:
|
||||
m_AudioPlay: 0
|
||||
m_DebugDrawModesUseInteractiveLightBakingData: 0
|
||||
m_Position:
|
||||
m_Target: {x: 0, y: 0, z: 100}
|
||||
m_Target: {x: -0.67659813, y: -0.6588277, z: -0.18405618}
|
||||
speed: 2
|
||||
m_Value: {x: 0, y: 0, z: 100}
|
||||
m_Value: {x: -0.67659813, y: -0.6588277, z: -0.18405618}
|
||||
m_RenderMode: 0
|
||||
m_CameraMode:
|
||||
drawMode: 0
|
||||
@ -1182,9 +1080,9 @@ MonoBehaviour:
|
||||
speed: 2
|
||||
m_Value: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_Size:
|
||||
m_Target: 5.736049
|
||||
m_Target: 1.3143793
|
||||
speed: 2
|
||||
m_Value: 5.736049
|
||||
m_Value: 1.3143793
|
||||
m_Ortho:
|
||||
m_Target: 1
|
||||
speed: 2
|
||||
@ -1205,7 +1103,7 @@ MonoBehaviour:
|
||||
m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
|
||||
m_LastSceneViewOrtho: 0
|
||||
m_Viewpoint:
|
||||
m_SceneView: {fileID: 18}
|
||||
m_SceneView: {fileID: 17}
|
||||
m_CameraOverscanSettings:
|
||||
m_Opacity: 50
|
||||
m_Scale: 1
|
||||
@ -1215,7 +1113,7 @@ MonoBehaviour:
|
||||
m_LastLockedObject: {fileID: 0}
|
||||
m_LastDebugDrawMode: 35
|
||||
m_ViewIsLockedToObject: 0
|
||||
--- !u!114 &19
|
||||
--- !u!114 &18
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1238,8 +1136,8 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 24
|
||||
width: 353
|
||||
height: 298
|
||||
width: 983
|
||||
height: 342
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
@ -1251,7 +1149,7 @@ MonoBehaviour:
|
||||
m_SaveData: []
|
||||
m_ContainerData: []
|
||||
m_OverlaysVisible: 1
|
||||
--- !u!114 &20
|
||||
--- !u!114 &19
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1272,10 +1170,10 @@ MonoBehaviour:
|
||||
m_TextWithWhitespace: "Project\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 355
|
||||
x: 985
|
||||
y: 24
|
||||
width: 624
|
||||
height: 298
|
||||
width: 190
|
||||
height: 342
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
@ -1298,7 +1196,7 @@ MonoBehaviour:
|
||||
m_SkipHidden: 0
|
||||
m_SearchArea: 1
|
||||
m_Folders:
|
||||
- Assets/GameScripts/HotFix/GameLogic/AR Brochure/UI/SelfMain
|
||||
- Assets/AssetArt/AR/Sprite/AppIcon
|
||||
m_Globs: []
|
||||
m_ProductIds:
|
||||
m_AnyWithAssetOrigin: 0
|
||||
@ -1308,16 +1206,16 @@ MonoBehaviour:
|
||||
m_ViewMode: 1
|
||||
m_StartGridSize: 64
|
||||
m_LastFolders:
|
||||
- Assets/GameScripts/HotFix/GameLogic/AR Brochure/UI/SelfMain
|
||||
- Assets/AssetArt/AR/Sprite/AppIcon
|
||||
m_LastFoldersGridSize: -1
|
||||
m_LastProjectPath: D:\TecentUGit\EintooAR\EintooAR
|
||||
m_LockTracker:
|
||||
m_IsLocked: 1
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 1283}
|
||||
m_SelectedIDs: 1a060100
|
||||
m_LastClickedID: 67098
|
||||
m_ExpandedIDs: 000000008a0501008c0501008e05010090050100920501009405010096050100980501009a0501009c0501009e050100a0050100a2050100a4050100a6050100
|
||||
scrollPos: {x: 0, y: 58}
|
||||
m_SelectedIDs: 16060100
|
||||
m_LastClickedID: 67094
|
||||
m_ExpandedIDs: 00000000060b0100080b01000a0b01000c0b01000e0b0100100b0100120b0100140b0100160b0100180b01001a0b01001c0b01001e0b0100200b0100220b0100
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -1346,7 +1244,7 @@ MonoBehaviour:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000008a0501008c0501008e05010090050100920501009405010096050100980501009a0501009c0501009e050100a0050100a2050100a4050100a6050100
|
||||
m_ExpandedIDs: 00000000060b0100080b01000a0b01000c0b01000e0b0100100b0100120b0100140b0100160b0100180b01001a0b01001c0b01001e0b0100200b0100220b0100
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -1374,7 +1272,7 @@ MonoBehaviour:
|
||||
m_ListAreaState:
|
||||
m_SelectedInstanceIDs:
|
||||
m_LastClickedInstanceID: 0
|
||||
m_HadKeyboardFocusLastEvent: 0
|
||||
m_HadKeyboardFocusLastEvent: 1
|
||||
m_ExpandedInstanceIDs: c62300009e44060000000000bc4f0100
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
@ -1400,11 +1298,11 @@ MonoBehaviour:
|
||||
m_Icon: {fileID: 0}
|
||||
m_ResourceFile:
|
||||
m_NewAssetIndexInList: -1
|
||||
m_ScrollPosition: {x: 0, y: 0}
|
||||
m_ScrollPosition: {x: 0, y: 9}
|
||||
m_GridSize: 64
|
||||
m_SkipHiddenPackages: 0
|
||||
m_DirectoriesAreaWidth: 210
|
||||
--- !u!114 &21
|
||||
m_DirectoriesAreaWidth: 50
|
||||
--- !u!114 &20
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1425,10 +1323,10 @@ MonoBehaviour:
|
||||
m_TextWithWhitespace: "Project\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 981
|
||||
x: 1177
|
||||
y: 24
|
||||
width: 613
|
||||
height: 298
|
||||
width: 282
|
||||
height: 342
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
@ -1451,7 +1349,7 @@ MonoBehaviour:
|
||||
m_SkipHidden: 0
|
||||
m_SearchArea: 1
|
||||
m_Folders:
|
||||
- Assets/AssetRaw/UI/AR/UISelf
|
||||
- Assets/AssetRaw/UI/AR/Project
|
||||
m_Globs: []
|
||||
m_ProductIds:
|
||||
m_AnyWithAssetOrigin: 0
|
||||
@ -1461,16 +1359,16 @@ MonoBehaviour:
|
||||
m_ViewMode: 1
|
||||
m_StartGridSize: 16
|
||||
m_LastFolders:
|
||||
- Assets/AssetRaw/UI/AR/UISelf
|
||||
- Assets/AssetRaw/UI/AR/Project
|
||||
m_LastFoldersGridSize: -1
|
||||
m_LastProjectPath: D:\TecentUGit\EintooAR\EintooAR
|
||||
m_LockTracker:
|
||||
m_IsLocked: 1
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 960}
|
||||
m_SelectedIDs: 24070100
|
||||
m_LastClickedID: 67364
|
||||
m_ExpandedIDs: 000000008a0501008c0501008e05010090050100920501009405010096050100980501009a0501009c0501009e050100a0050100a2050100a4050100a6050100
|
||||
scrollPos: {x: 0, y: 270}
|
||||
m_SelectedIDs: 50060100
|
||||
m_LastClickedID: 67152
|
||||
m_ExpandedIDs: 00000000060b0100080b01000a0b01000c0b01000e0b0100100b0100120b0100140b0100160b0100180b01001a0b01001c0b01001e0b0100200b0100220b0100
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -1499,7 +1397,7 @@ MonoBehaviour:
|
||||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000008a0501008c0501008e05010090050100920501009405010096050100980501009a0501009c0501009e050100a0050100a2050100a4050100a6050100
|
||||
m_ExpandedIDs: 00000000060b0100080b01000a0b01000c0b01000e0b0100100b0100120b0100140b0100160b0100180b01001a0b01001c0b01001e0b0100200b0100220b0100
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
@ -1527,7 +1425,7 @@ MonoBehaviour:
|
||||
m_ListAreaState:
|
||||
m_SelectedInstanceIDs:
|
||||
m_LastClickedInstanceID: 0
|
||||
m_HadKeyboardFocusLastEvent: 0
|
||||
m_HadKeyboardFocusLastEvent: 1
|
||||
m_ExpandedInstanceIDs:
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
@ -1545,7 +1443,7 @@ MonoBehaviour:
|
||||
m_OriginalEventType: 11
|
||||
m_IsRenamingFilename: 1
|
||||
m_TrimLeadingAndTrailingWhitespace: 0
|
||||
m_ClientGUIView: {fileID: 8}
|
||||
m_ClientGUIView: {fileID: 14}
|
||||
m_CreateAssetUtility:
|
||||
m_EndAction: {fileID: 0}
|
||||
m_InstanceID: 0
|
||||
@ -1556,8 +1454,8 @@ MonoBehaviour:
|
||||
m_ScrollPosition: {x: 0, y: 0}
|
||||
m_GridSize: 16
|
||||
m_SkipHiddenPackages: 0
|
||||
m_DirectoriesAreaWidth: 195
|
||||
--- !u!114 &22
|
||||
m_DirectoriesAreaWidth: 232
|
||||
--- !u!114 &21
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1578,9 +1476,9 @@ MonoBehaviour:
|
||||
m_TextWithWhitespace: "Inspector\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 1596
|
||||
x: 1461
|
||||
y: 24
|
||||
width: 324
|
||||
width: 459
|
||||
height: 907
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
@ -1606,3 +1504,105 @@ MonoBehaviour:
|
||||
m_LockTracker:
|
||||
m_IsLocked: 0
|
||||
m_PreviewWindow: {fileID: 0}
|
||||
--- !u!114 &22
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
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: 12015, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_MinSize: {x: 50, y: 50}
|
||||
m_MaxSize: {x: 4000, y: 4000}
|
||||
m_TitleContent:
|
||||
m_Text: Game
|
||||
m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_Tooltip:
|
||||
m_TextWithWhitespace: "Game\u200B"
|
||||
m_Pos:
|
||||
serializedVersion: 2
|
||||
x: 816
|
||||
y: 24
|
||||
width: 643
|
||||
height: 539
|
||||
m_SerializedDataModeController:
|
||||
m_DataMode: 0
|
||||
m_PreferredDataMode: 0
|
||||
m_SupportedDataModes:
|
||||
isAutomatic: 1
|
||||
m_ViewDataDictionary: {fileID: 0}
|
||||
m_OverlayCanvas:
|
||||
m_LastAppliedPresetName: Default
|
||||
m_SaveData: []
|
||||
m_ContainerData: []
|
||||
m_OverlaysVisible: 1
|
||||
m_SerializedViewNames:
|
||||
- UnityEditor.DeviceSimulation.SimulatorWindow
|
||||
m_SerializedViewValues:
|
||||
- D:\TecentUGit\EintooAR\EintooAR\Library\PlayModeViewStates\45c0dd85b22cfd642b069a9a3dffc421
|
||||
m_PlayModeViewName: GameView
|
||||
m_ShowGizmos: 0
|
||||
m_TargetDisplay: 0
|
||||
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_TargetSize: {x: 750, y: 1334}
|
||||
m_TextureFilterMode: 0
|
||||
m_TextureHideFlags: 61
|
||||
m_RenderIMGUI: 1
|
||||
m_EnterPlayModeBehavior: 2
|
||||
m_UseMipMap: 0
|
||||
m_VSyncEnabled: 0
|
||||
m_Gizmos: 0
|
||||
m_Stats: 0
|
||||
m_SelectedSizes: 07000000000000002400000012000000000000000000000000000000000000000000000000000000
|
||||
m_ZoomArea:
|
||||
m_HRangeLocked: 0
|
||||
m_VRangeLocked: 0
|
||||
hZoomLockedByDefault: 0
|
||||
vZoomLockedByDefault: 0
|
||||
m_HBaseRangeMin: -375
|
||||
m_HBaseRangeMax: 375
|
||||
m_VBaseRangeMin: -667
|
||||
m_VBaseRangeMax: 667
|
||||
m_HAllowExceedBaseRangeMin: 1
|
||||
m_HAllowExceedBaseRangeMax: 1
|
||||
m_VAllowExceedBaseRangeMin: 1
|
||||
m_VAllowExceedBaseRangeMax: 1
|
||||
m_ScaleWithWindow: 0
|
||||
m_HSlider: 0
|
||||
m_VSlider: 0
|
||||
m_IgnoreScrollWheelUntilClicked: 0
|
||||
m_EnableMouseInput: 1
|
||||
m_EnableSliderZoomHorizontal: 0
|
||||
m_EnableSliderZoomVertical: 0
|
||||
m_UniformScale: 1
|
||||
m_UpDirection: 1
|
||||
m_DrawArea:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 21
|
||||
width: 643
|
||||
height: 518
|
||||
m_Scale: {x: 0.38830584, y: 0.38830584}
|
||||
m_Translation: {x: 321.5, y: 259}
|
||||
m_MarginLeft: 0
|
||||
m_MarginRight: 0
|
||||
m_MarginTop: 0
|
||||
m_MarginBottom: 0
|
||||
m_LastShownAreaInsideMargins:
|
||||
serializedVersion: 2
|
||||
x: -827.9556
|
||||
y: -667
|
||||
width: 1655.9113
|
||||
height: 1334
|
||||
m_MinimalGUI: 1
|
||||
m_defaultScale: 0.38830584
|
||||
m_LastWindowPixelSize: {x: 643, y: 539}
|
||||
m_ClearInEditMode: 1
|
||||
m_NoCameraWarning: 1
|
||||
m_LowResolutionForAspectRatios: 01000101000000000000
|
||||
m_XRRenderMode: 0
|
||||
m_RenderTexture: {fileID: 0}
|
||||
|
@ -0,0 +1,34 @@
|
||||
2025-03-21 11:18:40.0889 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:18:40.3142 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:18:40.7000 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:18:41.0696 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:20:32.1377 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 11:20:33.0250 (C2G_LoginRequestHandler.cs:12) TokeneyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhaWQiOjExNjI5OTI3OTEyNzI4MTY2NSwiZ2F0ZUFkZHJlc3MiOiIxMjcuMC4wLjE6MjEwMTEiLCJuYmYiOjE3NDI1MjcyMzIsImV4cCI6MTc0MjUyNzI0MiwiaXNzIjoiSnVseSIsImF1ZCI6ImdhbWVVc2VyIn0.CB9sCtnFdPXCVzK1Zxp3S62MoWsBh3d_DOw3J5OEJ_2naN4Et0Tu5oVPxrLifTysM8kLKgUq-KtJM4ClXYmqI9EYwnl6BDVuIdmvaq7nmXymqRagTprk-5QZm8bjv8QI4Z2-kjOd0sR1TL1xYoly7d0uD7uKhs-AQkU_Tk7N6IZxNF7BzfDDe7Hlsfay_TUlZpNPDd23vPvrtIzS6ZkOJedtI_A34qXtakw-SSJu-ok7u6alTKvpdEnm3sJyAWRFLyRGe7D3ZL--UsAQKtSUjvALU1BoHrlRbgMEpah7B_nVNXU4D2CAVCkJG_ZxJ7Buvd_1Mk3RU_N7tjaM6Uv0YQ
|
||||
2025-03-21 11:20:38.1399 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
||||
2025-03-21 11:24:26.5611 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:24:26.9976 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:24:27.4290 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:24:27.8348 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:26:51.1413 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:26:51.6186 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:26:52.0299 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:26:52.4376 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:27:03.7706 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 11:27:03.9695 (C2G_LoginRequestHandler.cs:14) Gate校验登录令牌
|
||||
2025-03-21 11:27:09.7724 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
||||
2025-03-21 11:27:56.7339 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:27:57.1399 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:27:57.5510 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:27:57.9501 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:27:59.5180 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 11:27:59.7340 (C2G_LoginRequestHandler.cs:14) Gate校验登录令牌
|
||||
2025-03-21 11:27:59.7589 (C2G_LoginRequestHandler.cs:18) Gate校验登录令牌成功
|
||||
2025-03-21 11:28:05.5202 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
||||
2025-03-21 11:29:27.8193 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:29:28.2302 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 11:29:28.6359 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:29:29.0305 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 11:29:30.0056 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 11:29:30.2285 (C2G_LoginRequestHandler.cs:14) Gate校验登录令牌
|
||||
2025-03-21 11:29:30.2619 (C2G_LoginRequestHandler.cs:18) Gate校验登录令牌成功
|
||||
2025-03-21 11:29:36.0078 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
@ -0,0 +1,60 @@
|
||||
2025-03-21 11:18:39.0896 初始化序列化器成功,数量为:2
|
||||
2025-03-21 11:18:39.7469 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 11:18:39.9325 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 11:18:40.0889 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:18:40.1377 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 11:18:40.3142 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 11:18:40.3142 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:18:40.5240 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 11:18:40.7000 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 11:18:40.8988 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 11:18:41.0696 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 11:18:41.0696 Process:1 Startup Complete SceneCount:4
|
||||
2025-03-21 11:24:25.6704 初始化序列化器成功,数量为:2
|
||||
2025-03-21 11:24:26.3290 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 11:24:26.5453 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 11:24:26.5611 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:24:26.7744 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 11:24:26.9976 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 11:24:26.9976 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:24:27.2230 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 11:24:27.4290 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 11:24:27.6459 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 11:24:27.8346 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 11:24:27.8348 Process:1 Startup Complete SceneCount:4
|
||||
2025-03-21 11:26:50.2982 初始化序列化器成功,数量为:2
|
||||
2025-03-21 11:26:50.9259 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 11:26:51.1268 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 11:26:51.1413 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:26:51.4070 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 11:26:51.6167 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 11:26:51.6186 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:26:51.8309 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 11:26:52.0299 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 11:26:52.2515 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 11:26:52.4376 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 11:26:52.4376 Process:1 Startup Complete SceneCount:4
|
||||
2025-03-21 11:27:55.8945 初始化序列化器成功,数量为:2
|
||||
2025-03-21 11:27:56.5080 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 11:27:56.7174 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 11:27:56.7339 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:27:56.9388 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 11:27:57.1399 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 11:27:57.1399 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:27:57.3601 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 11:27:57.5510 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 11:27:57.7626 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 11:27:57.9501 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 11:27:57.9501 Process:1 Startup Complete SceneCount:4
|
||||
2025-03-21 11:29:27.0076 初始化序列化器成功,数量为:2
|
||||
2025-03-21 11:29:27.6075 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 11:29:27.8036 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 11:29:27.8185 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:29:28.0286 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 11:29:28.2302 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 11:29:28.2302 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 11:29:28.4384 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 11:29:28.6359 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 11:29:28.8414 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 11:29:29.0305 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 11:29:29.0305 Process:1 Startup Complete SceneCount:4
|
@ -0,0 +1,3 @@
|
||||
2025-03-21 11:27:04.0043 (GateJWTComponentSystem.cs:46) Token签名校验成功
|
||||
2025-03-21 11:27:59.7589 (GateJWTComponentSystem.cs:45) Token签名无效
|
||||
2025-03-21 11:29:30.2619 (GateJWTComponentSystem.cs:46) Token签名校验成功
|
@ -0,0 +1,8 @@
|
||||
2025-03-21 12:00:58.2956 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 12:00:58.7590 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 12:00:59.2597 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 12:00:59.7161 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 12:01:49.0781 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 12:01:49.3050 (GateJWTComponentSystem.cs:49) jwtPayLoadSystem.IdentityModel.Tokens.Jwt.JwtPayload
|
||||
2025-03-21 12:01:49.3050 (C2G_LoginRequestHandler.cs:31) Gate校验登录成功用户0
|
||||
2025-03-21 12:01:55.0800 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
@ -0,0 +1,12 @@
|
||||
2025-03-21 12:00:57.3706 初始化序列化器成功,数量为:2
|
||||
2025-03-21 12:00:58.0485 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 12:00:58.2791 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 12:00:58.2956 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 12:00:58.5164 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 12:00:58.7590 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 12:00:58.7590 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 12:00:59.0308 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 12:00:59.2597 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 12:00:59.5072 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 12:00:59.7161 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 12:00:59.7161 Process:1 Startup Complete SceneCount:4
|
@ -0,0 +1 @@
|
||||
2025-03-21 12:01:49.3050 (GateJWTComponentSystem.cs:47) Token签名校验成功
|
@ -0,0 +1,8 @@
|
||||
2025-03-21 13:02:29.0154 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 13:02:29.3978 (OnCreateScene_InitEvent.cs:16) 初始化鉴权服务器组件
|
||||
2025-03-21 13:02:29.7923 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 13:02:30.1861 (OnCreateScene_InitEvent.cs:21) 初始网关(Gate)服务器组件
|
||||
2025-03-21 13:03:59.8011 (AuthenticationComponentSystem.cs:129) Login Success(登录成功),username:wangwei,password:123,source:客户端,Position:1001
|
||||
2025-03-21 13:04:00.0489 (GateJWTComponentSystem.cs:49) jwtPayLoadSystem.IdentityModel.Tokens.Jwt.JwtPayload
|
||||
2025-03-21 13:04:00.0489 (C2G_LoginRequestHandler.cs:31) Gate校验登录成功用户116299279127281665
|
||||
2025-03-21 13:04:05.8032 (AuthenticationComponentSystem.cs:149) Login:username:wangwei 用户移除成功 从缓存中
|
@ -0,0 +1,12 @@
|
||||
2025-03-21 13:02:28.1763 初始化序列化器成功,数量为:2
|
||||
2025-03-21 13:02:28.8003 SceneConfigId = 1001 networkTarget = Inner TCPServer Listen 127.0.0.1:11001
|
||||
2025-03-21 13:02:28.9994 SceneConfigId = 1001 networkTarget = Outer KCPServer Listen 127.0.0.1:21001
|
||||
2025-03-21 13:02:29.0154 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 13:02:29.2117 SceneConfigId = 1002 networkTarget = Inner TCPServer Listen 127.0.0.1:11002
|
||||
2025-03-21 13:02:29.3965 SceneConfigId = 1002 networkTarget = Outer KCPServer Listen 127.0.0.1:21002
|
||||
2025-03-21 13:02:29.3978 (AuthenticationJWTComponentSystem.cs:44) RSA密钥导入成功
|
||||
2025-03-21 13:02:29.6078 SceneConfigId = 1010 networkTarget = Inner TCPServer Listen 127.0.0.1:11010
|
||||
2025-03-21 13:02:29.7923 SceneConfigId = 1010 networkTarget = Outer KCPServer Listen 127.0.0.1:21010
|
||||
2025-03-21 13:02:30.0012 SceneConfigId = 1011 networkTarget = Inner TCPServer Listen 127.0.0.1:11011
|
||||
2025-03-21 13:02:30.1861 SceneConfigId = 1011 networkTarget = Outer KCPServer Listen 127.0.0.1:21011
|
||||
2025-03-21 13:02:30.1861 Process:1 Startup Complete SceneCount:4
|
@ -0,0 +1 @@
|
||||
2025-03-21 13:04:00.0489 (GateJWTComponentSystem.cs:47) Token签名校验成功
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("APlugins")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b8e2d99dd7277d1644029a11bf26cf77e405732f")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1d53e5bde716121b86978faf2318ba914be9fa8d")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("APlugins")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("APlugins")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
dccc97a4d27441ba4cd8c8a996c2caa909b1fc1a5b2e8d359088ed823659d12f
|
||||
1b3c544616f60c6cd395bba4d2cc521e0572b45bfe773d74cf1f8ee4f16958ff
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
17422854602513829
|
||||
17424344223953143
|
@ -12,11 +12,20 @@ public static class GameErrorCode
|
||||
public static uint UserNotFoundOrPasswordIsNotCorrect = 7; //用户名不存在 或者 密码 不正确
|
||||
public static uint UserAlreadyLogin = 8; // 用户已登录
|
||||
|
||||
// 无效的身份验证令牌
|
||||
// 无效的身份验证令牌
|
||||
public static uint AccessDenied = 10; // 访问被拒绝
|
||||
public static uint ServerError = 11; // 服务器内部错误
|
||||
public static uint InvalidInput = 12; // 输入不合法
|
||||
public static uint TooManyRequests = 13; // 请求过多(防止刷接口)
|
||||
public static uint UnauthorizedServer = 14; // 用户不属于该鉴权服务器
|
||||
|
||||
|
||||
// Token验证状态码
|
||||
public static uint GateTokenValidSuccess = 20; // Gate Token有效
|
||||
public static uint GateTokenExpired = 21; //Gate Token已过期
|
||||
public static uint GateTokenInvalidSignature = 22; //Gate Token签名无效
|
||||
public static uint GateTokenGeneralError = 23; // Gate Token验证一般错误
|
||||
public static uint GateTokenValidFailed = 24; // Gate Token校验失败 无效
|
||||
public static uint GateLoginSuccess = 25;
|
||||
|
||||
}
|
@ -4,4 +4,7 @@ public enum ELockType
|
||||
{
|
||||
AuthenticationRegister = 1 ,
|
||||
AuthenticationLogin = 2,
|
||||
|
||||
GateGetGameAccount = 3,
|
||||
GateLoadGameAccount = 5,
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
using Fantasy.Entitas;
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public class GameAccount : Entity
|
||||
{
|
||||
public long CreateTime;
|
||||
public long LoginTime;
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
using Fantasy.Entitas;
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public class GameAccountManageComponent : Entity
|
||||
{
|
||||
public Dictionary<long, GameAccount> Accounts = new Dictionary<long, GameAccount>();
|
||||
}
|
8
GameServer/Server/Entity/Model/Gate/GateComponent.cs
Normal file
8
GameServer/Server/Entity/Model/Gate/GateComponent.cs
Normal file
@ -0,0 +1,8 @@
|
||||
using Fantasy.Entitas;
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public class GateComponent : Entity
|
||||
{
|
||||
|
||||
}
|
20
GameServer/Server/Entity/Model/Gate/JWT/GateJWTComponent.cs
Normal file
20
GameServer/Server/Entity/Model/Gate/JWT/GateJWTComponent.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using Fantasy.Entitas;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public class GateJWTComponent : Entity
|
||||
{
|
||||
|
||||
public string PublicKey = "-----BEGIN PUBLIC KEY-----" +
|
||||
"\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArLVBnJ4W3JY+miBIBE4J" +
|
||||
"\nMKnRatQC7EgtUco+mzDzxSWKiBVe3SjNe7fp2EzoOfhG762nQG8wFjPOamqo+Qd5" +
|
||||
"\nTToSR7q9B5/kivNzWyeYldAbV4LzT8fRkDmRhTA7/I2UCcRPhBD1Z9byY6ivLR0C" +
|
||||
"\n3wxVsSF7tYR2/sQXvZKtsfT8myl0W0ts11/y278fCSdTPZR6i+zV1lnUiLRjAIhy" +
|
||||
"\nOwgROiVUH0YUHX39DJ3D3m03e9n5xuvBFGr57w04d7fSef1OdeFLPwnTK5DxJ79N" +
|
||||
"\nqJwhmVzNBKHI9tkd/Un6MKHdwdzDiWlLUPsXlhtFs84eMAGU+BaGVdjln2S/OOtm" +
|
||||
"\nzQIDAQAB" +
|
||||
"\n-----END PUBLIC KEY-----";
|
||||
|
||||
public TokenValidationParameters ValidationParameters;
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Entity")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b8e2d99dd7277d1644029a11bf26cf77e405732f")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1d53e5bde716121b86978faf2318ba914be9fa8d")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Entity")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Entity")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
9247dc3fa72c73ba70b5576080bf9d70d25928cedefbaad22408f733f5a55b6e
|
||||
bbd4c79125771ca589bf487974428247095e8abae05566c1f5176ad25105432e
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
ed6ca349080eccb651570726e4d17654f6ee01b6ccc9033f19f552770a1a8913
|
||||
976bb9f148ac847475b09e140d82a035473338498c42dd58337c735baa440822
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
17422854602513829
|
||||
17424344223963130
|
@ -3,6 +3,8 @@
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEntity_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fff8cbe4b3c6c469b86633ea0c41accd783200_003Fba_003F2fb4e56f_003FEntity_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AHashSet_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F9f36f47319b32af838b2a5d575986ff83918e428931b1ed44ad662b6bc8a_003FHashSet_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJwtHeader_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F176642ae3c77a37f58482aa52d3c51c44363712ca45861c4661aca6a942f7b_003FJwtHeader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJwtSecurityToken_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F3ebffcd2ab98c3abdcb6c2c350fb49783e75ae2d26c32d1ab7d87c9e84e4_003FJwtSecurityToken_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMessageRPC_00602_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcecd144a08d24f2689bc8ef970d04dae84a00_003Ff7_003F1631cece_003FMessageRPC_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARSA_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fccead27d2093152bd8da21dd18eb5e398966206a6e3a4bff4dac2221dbd3352a_003FRSA_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASceneConfigData_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcecd144a08d24f2689bc8ef970d04dae84a00_003Fb6_003F76f78bbd_003FSceneConfigData_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScene_002Ecs_002Fl_003AC_0021_003FUsers_003Fqq137_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcecd144a08d24f2689bc8ef970d04dae84a00_003F5b_003Fc45341b2_003FScene_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Inner\" />
|
||||
<Folder Include="Outter\Gate\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -15,6 +15,11 @@ public class OnCreateScene_InitEvent : AsyncEventSystem<OnCreateScene>
|
||||
scene.AddComponent<AuthenticationJWTComponent>();
|
||||
Log.Debug("初始化鉴权服务器组件");
|
||||
break;
|
||||
case SceneType.Gate:
|
||||
scene.AddComponent<GateComponent>();
|
||||
scene.AddComponent<GateJWTComponent>();
|
||||
Log.Debug("初始网关(Gate)服务器组件");
|
||||
break;
|
||||
}
|
||||
|
||||
await FTask.CompletedTask;
|
||||
|
@ -66,6 +66,7 @@ public static class AuthenticationJWTComponentSystem
|
||||
{
|
||||
{"aid",accountId},
|
||||
{"gateAddress",gateAddress},
|
||||
{"sceneId",self.Scene.SceneConfigId}
|
||||
};
|
||||
var jwt = new JwtSecurityToken(
|
||||
issuer: "July", // 令牌发行者
|
||||
|
@ -0,0 +1,22 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Entitas;
|
||||
using Fantasy.Helper;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
public static class GameAccountFactory
|
||||
{
|
||||
public static async FTask<GameAccount> Create(Scene scene, long accountId, bool isSaveToDatabase = true)
|
||||
{
|
||||
var gameAccount = Entity.Create<GameAccount>(scene,accountId,false,false);
|
||||
gameAccount.CreateTime = TimeHelper.Now;
|
||||
if (isSaveToDatabase)
|
||||
{
|
||||
await gameAccount.SaveToDatabase(scene);
|
||||
}
|
||||
|
||||
return gameAccount;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Entitas.Interface;
|
||||
using Hotfix.Helper;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
public static class GameAccountManageComponentSystem
|
||||
{
|
||||
public static void Add(this GameAccountManageComponent self,long accountId, GameAccount gameAccount)
|
||||
{
|
||||
if (!self.Accounts.ContainsKey(accountId))
|
||||
{
|
||||
self.Accounts.Add(accountId, gameAccount);
|
||||
}
|
||||
else
|
||||
{
|
||||
self.Accounts[accountId] = gameAccount;
|
||||
}
|
||||
}
|
||||
|
||||
public static GameAccount? Get(this GameAccountManageComponent self,long accountId)
|
||||
{
|
||||
return self.Accounts.GetValueOrDefault(accountId);
|
||||
}
|
||||
|
||||
public static GameAccount? TryGet(this GameAccountManageComponent self,long accountId)
|
||||
{
|
||||
self.Accounts.TryGetValue(accountId,out var gameAccount);
|
||||
return gameAccount;
|
||||
}
|
||||
|
||||
public static bool Remove(this GameAccountManageComponent self, long accountId, bool isDispose = true)
|
||||
{
|
||||
if (!self.Accounts.Remove(accountId,out var gameAccount))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isDispose)
|
||||
{
|
||||
gameAccount.Dispose();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public static async FTask<(uint error,GameAccount gameAccount)> GetAccountGame(this GameAccountManageComponent self, long accountId)
|
||||
{
|
||||
var scene = self.Scene;
|
||||
GameAccount gameAccount = null;
|
||||
using (await scene.CoroutineLockComponent.Wait((int)ELockType.GateGetGameAccount,accountId))
|
||||
{
|
||||
gameAccount = self.Get(accountId);
|
||||
if (gameAccount != null) return (GameErrorCode.GateLoginSuccess,gameAccount);;
|
||||
gameAccount = await GameAccountHelper.LoadGameAccountFromDatabase(scene,accountId);
|
||||
if (gameAccount != null)
|
||||
{
|
||||
gameAccount = await GameAccountFactory.Create(scene, accountId);
|
||||
}
|
||||
self.Add(accountId, gameAccount);
|
||||
return (GameErrorCode.GateLoginSuccess,gameAccount);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class GameAccountManageComponentDestroySystem : DestroySystem<GameAccountManageComponent>
|
||||
{
|
||||
protected override void Destroy(GameAccountManageComponent self)
|
||||
{
|
||||
foreach (var (_,account) in self.Accounts.ToArray())
|
||||
{
|
||||
account.Dispose();
|
||||
}
|
||||
self.Accounts.Clear();
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Entitas.Interface;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
public static class GameAccountSystem
|
||||
{
|
||||
public static async FTask SaveToDatabase(this GameAccount self,Scene scene)
|
||||
{
|
||||
await scene.World.DataBase.Save(self);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class GameAccountDestroy : DestroySystem<GameAccount>
|
||||
{
|
||||
protected override void Destroy(GameAccount self)
|
||||
{
|
||||
self.CreateTime = 0;
|
||||
self.LoginTime = 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
|
||||
namespace Hotfix.Helper;
|
||||
|
||||
public static class GameAccountHelper
|
||||
{
|
||||
public static async FTask<GameAccount> LoadGameAccountFromDatabase(Scene scene,long accountId)
|
||||
{
|
||||
|
||||
var gameCount = await scene.World.DataBase.First<GameAccount>(x=> x.Id == accountId);
|
||||
|
||||
if (gameCount == null) return null;
|
||||
|
||||
gameCount.Deserialize(scene);
|
||||
|
||||
return gameCount;
|
||||
|
||||
}
|
||||
}
|
19
GameServer/Server/Hotfix/Outter/Gate/GateComponentSystem.cs
Normal file
19
GameServer/Server/Hotfix/Outter/Gate/GateComponentSystem.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Entitas;
|
||||
using Fantasy.Entitas.Interface;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
|
||||
public class GateComponentAwakeSystem : AwakeSystem<GateComponent>
|
||||
{
|
||||
protected override void Awake(GateComponent self)
|
||||
{
|
||||
self.AddComponent<GameAccountManageComponent>();
|
||||
}
|
||||
}
|
||||
|
||||
public static class GateComponentSystem
|
||||
{
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Network;
|
||||
using Fantasy.Network.Interface;
|
||||
using Hotfix;
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_LoginResponse>
|
||||
{
|
||||
protected override async FTask Run(Session session, C2G_LoginRequest request, G2C_LoginResponse response, Action reply)
|
||||
{
|
||||
var token = request.Token;
|
||||
var scene = session.Scene;
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
Log.Debug("令牌为空,恶意攻击");
|
||||
session.Dispose();
|
||||
response.ErrorCode = GameErrorCode.GateTokenValidFailed;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!GateJwtComponentHelper.ValidateToken(scene,token,out var accountId) )
|
||||
{
|
||||
Log.Debug("Token校验失败,恶意攻击");
|
||||
response.ErrorCode = GameErrorCode.GateTokenValidFailed;
|
||||
session.Dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
response.ErrorCode = GameErrorCode.GateTokenValidSuccess;
|
||||
Log.Debug($"Gate校验登录成功用户{accountId}");
|
||||
|
||||
|
||||
// var result = GateJwtComponentHelper.ValidateToken(scene, token);
|
||||
// response.ErrorCode = result;
|
||||
// if (result != GameErrorCode.GateTokenValidSuccess) return;
|
||||
// Log.Debug("Gate校验登录令牌成功");
|
||||
|
||||
|
||||
await FTask.CompletedTask;
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
public static class GateComponentHelper
|
||||
{
|
||||
public static FTask<(uint error, GameAccount gameAccount)> GetAccountGame(GateComponent gate,long accountId)
|
||||
{
|
||||
var gameAccountManage = gate.GetComponent<GameAccountManageComponent>();
|
||||
if (gameAccountManage == null)
|
||||
{
|
||||
gameAccountManage.AddComponent<GameAccountManageComponent>();
|
||||
}
|
||||
|
||||
return gameAccountManage.GetAccountGame(accountId);
|
||||
}
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Cryptography;
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Entitas.Interface;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
|
||||
|
||||
public class GateJWTComponentAwakeSystem : AwakeSystem<GateJWTComponent>
|
||||
{
|
||||
protected override void Awake(GateJWTComponent self)
|
||||
{
|
||||
RSA rsa = RSA.Create(2048);
|
||||
string publicKeyData = self.PublicKey
|
||||
.Replace("-----BEGIN PUBLIC KEY-----", "")
|
||||
.Replace("-----END PUBLIC KEY-----", "")
|
||||
.Replace("\n", "")
|
||||
.Trim();
|
||||
var publicKeyBytes = Convert.FromBase64String(publicKeyData);
|
||||
rsa.ImportSubjectPublicKeyInfo(publicKeyBytes,out _);
|
||||
RsaSecurityKey securityKey = new RsaSecurityKey(rsa);
|
||||
|
||||
// 创建验证参数
|
||||
self.ValidationParameters = new TokenValidationParameters
|
||||
{
|
||||
ValidateIssuer = false, // 是否验证发行者
|
||||
ValidateAudience = false, // 是否验证接收者
|
||||
ValidateLifetime = true, // 是否验证过期时间
|
||||
ValidateIssuerSigningKey = true, // 是否验证签名密钥
|
||||
IssuerSigningKey = new RsaSecurityKey(rsa)
|
||||
};
|
||||
}
|
||||
}
|
||||
public static class GateJWTComponentSystem
|
||||
{
|
||||
public static bool ValidateToken(this GateJWTComponent self,string token,out JwtPayload payload )
|
||||
{
|
||||
|
||||
var tokenHandler = new JwtSecurityTokenHandler();
|
||||
payload = null;
|
||||
try
|
||||
{
|
||||
tokenHandler.ValidateToken(token,self.ValidationParameters, out SecurityToken validatedToken);
|
||||
Log.Warning($"Token签名校验成功");
|
||||
payload = tokenHandler.ReadJwtToken(token).Payload;
|
||||
Log.Debug("jwtPayLoad"+ payload);
|
||||
//return GameErrorCode.GateTokenValidSuccess;
|
||||
return true;
|
||||
}
|
||||
catch (SecurityTokenExpiredException)
|
||||
{
|
||||
Log.Warning($"Token已过期");
|
||||
return false;
|
||||
//return GameErrorCode.GateTokenExpired;
|
||||
}
|
||||
catch (SecurityTokenInvalidSignatureException)
|
||||
{
|
||||
Log.Warning($"Token签名无效");
|
||||
return false;
|
||||
//return GameErrorCode.GateTokenInvalidSignature;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error($"Token验证失败: {e.Message}");
|
||||
return false;
|
||||
//return GameErrorCode.GateTokenGeneralError;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using Fantasy;
|
||||
|
||||
namespace Hotfix;
|
||||
|
||||
public static class GateJwtComponentHelper
|
||||
{
|
||||
private static bool ValidateToken(Scene scene, string token,out JwtPayload payload)
|
||||
{
|
||||
return scene.GetComponent<GateJWTComponent>().ValidateToken(token, out payload);
|
||||
}
|
||||
|
||||
public static bool ValidateToken(Scene scene, string token, out long accountId)
|
||||
{
|
||||
accountId = 0;
|
||||
if (!ValidateToken(scene, token, out JwtPayload payload))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var sceneConfigId = Convert.ToInt64(payload["sceneId"]);
|
||||
accountId = Convert.ToInt64(payload["aid"]);
|
||||
if (sceneConfigId == scene.SceneConfigId)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Hotfix")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b8e2d99dd7277d1644029a11bf26cf77e405732f")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1d53e5bde716121b86978faf2318ba914be9fa8d")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Hotfix")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Hotfix")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
f14bc22b25299e42434abfbb031fd5b9f32037852bfcdbc5877e911fdae0cb91
|
||||
6d22532ef8221829db85c6f532bb39fde43ea841df3ca158b1dd708176e7813f
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
5d678d1cbddfd7c268d4e1529446271ea35c895105c096ee28b0d0fe119dc067
|
||||
a8657f56abba7debf2e048cafaec85ea4fc9d394f50b0e262e911d6ffc9bb704
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
17422854602523915
|
||||
17424344223963130
|
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Main")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b8e2d99dd7277d1644029a11bf26cf77e405732f")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1d53e5bde716121b86978faf2318ba914be9fa8d")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Main")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Main")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
b443c05cb73e5f7a98af3340db379b1c6e179a2ba8c84feb6ed47de1da163d93
|
||||
2170dd305c20070296257cb4e6c602a9bf4049cd6f74f69d078a9ccc0d704afc
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
17422854602559002
|
||||
17424344223963130
|
Loading…
x
Reference in New Issue
Block a user