This commit is contained in:
MuHua-123
2025-06-23 14:38:10 +08:00
parent 39d9db9c6d
commit 0cc63a7314
51 changed files with 2032 additions and 68 deletions
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 253123fa56cb88f4e969b587327d3f7f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+46
View File
@@ -0,0 +1,46 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 用户
/// </summary>
[Serializable]
public class DataUser {
public string id;
public string username;
public string passwordhash;
}
/// <summary>
/// 注册请求
/// </summary>
[Serializable]
public class DataRegisterRequest {
public string username;
public string password;
}
/// <summary>
/// 登录请求
/// </summary>
[Serializable]
public class DataLoginRequest {
public string username;
public string password;
}
/// <summary>
/// 登录响应,返回JWT。
/// </summary>
[Serializable]
public class DataLoginResponse {
public string token;
}
/// <summary>
/// 修改密码请求。
/// </summary>
[Serializable]
public class DataChangePasswordRequest {
public string username;
public string oldpassword;
public string newpassword;
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: febe432c83103fd4fbbc833bc7dd08cd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ebf768e6a16ccf04da50e6e25559a8f6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,43 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MuHua;
/// <summary>
/// 请求 - 管理器
/// </summary>
public class ManagerRequest : ModuleSingle<ManagerRequest> {
/// <summary> 域名 </summary>
public static string Address => "http://localhost:5086";
protected override void Awake() => NoReplace(false);
#region
/// <summary> 登录 </summary>
public void Login(string username, string password, Action<string> callback) {
string url = Address + "/api/user/login";
DataLoginRequest login = new DataLoginRequest { username = username, password = password };
PostForm(url, login, callback);
}
#endregion
#region
public void PostForm<T>(string url, T data, Action<string> callback) {
string json = JsonTool.ToJson(data);
Debug.Log(json);
DataRequestPost request = new DataRequestPost(url, json);
request.OnError = (json) => { ErrorHandle(url, json); };
request.OnCallback = callback;
NetworkRequestAsync.Execute(request);
}
#endregion
#region
/// <summary> 错误处理 </summary>
private void ErrorHandle(string url, string json) {
Debug.LogError($"{url} \n {json}");
}
#endregion
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2b4112fa4a2bfe84984b0472be3af46c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MuHua;
/// <summary>
/// 全局管理器
/// </summary>
public class SingleManager : ModuleSingle<SingleManager> {
protected override void Awake() => NoReplace();
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 50f6b4ec374a86846b626668e0b5627e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+3 -2
View File
@@ -20,11 +20,12 @@ public class ModuleUI : ModuleSingle<ModuleUI> {
protected override void Awake() => NoReplace();
/// <summary> 跳转页面 </summary>
public static void Jump(EnumPage pageType) => OnJumpPage?.Invoke(pageType);
public static void Settings(EnumPage pageType) => OnJumpPage?.Invoke(pageType);
}
/// <summary>
/// 页面
/// </summary>
public enum EnumPage {
None,
Login,
}
@@ -0,0 +1,96 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
using MuHua;
/// <summary>
/// 登录页面
/// </summary>
public class UILoginPage : ModuleUIPage {
private UILoginPanel loginPanel;
private UIRegisterPanel registerPanel;
public override VisualElement Element => root.Q<VisualElement>("LoginPage");
public VisualElement LoginPanel => Q<VisualElement>("LoginPanel");
public VisualElement RegisterPanel => Q<VisualElement>("RegisterPanel");
private void Awake() {
loginPanel = new UILoginPanel(LoginPanel, this);
registerPanel = new UIRegisterPanel(RegisterPanel, this);
ModuleUI.OnJumpPage += ModuleUI_OnJumpPage;
}
private void ModuleUI_OnJumpPage(EnumPage page) {
Element.EnableInClassList("document-page-hide", page != EnumPage.Login);
if (page != EnumPage.Login) { return; }
OpenLoginPanel();
}
public void OpenLoginPanel() {
loginPanel.Resetting(false);
registerPanel.Resetting(true);
}
public void OpenRegisterPanel() {
loginPanel.Resetting(true);
registerPanel.Resetting(false);
}
}
/// <summary>
/// 登录面板
/// </summary>
public class UILoginPanel : ModuleUIPanel {
private string username;
private string password;
public Label Title => Q<Label>("Title");
public UITextField InputField1 => Q<UITextField>("InputField1");
public UITextField InputField2 => Q<UITextField>("InputField2");
public Button Button1 => Q<Button>("Button1");
public Button Button2 => Q<Button>("Button2");
public UILoginPanel(VisualElement element, UILoginPage parent) : base(element) {
InputField1.RegisterCallback<ChangeEvent<string>>(evt => { username = evt.newValue; });
InputField2.RegisterCallback<ChangeEvent<string>>(evt => { password = evt.newValue; });
Button1.clicked += () => parent.OpenRegisterPanel();
Button2.clicked += () => ManagerRequest.I.Login(username, password, (s) => {
ModuleUI.Settings(EnumPage.None);
Debug.Log(s);
});
}
public void Resetting(bool isHide) {
InputField1.value = username = "";
InputField2.value = password = "";
element.EnableInClassList("login-hide", isHide);
}
}
/// <summary>
/// 注册面板
/// </summary>
public class UIRegisterPanel : ModuleUIPanel {
private string username;
private string password;
public Label Title => Q<Label>("Title");
public UITextField InputField1 => Q<UITextField>("InputField1");
public UITextField InputField2 => Q<UITextField>("InputField2");
public Button Button1 => Q<Button>("Button1");
public Button Button2 => Q<Button>("Button2");
public UIRegisterPanel(VisualElement element, UILoginPage parent) : base(element) {
InputField1.RegisterCallback<ChangeEvent<string>>(evt => { username = evt.newValue; });
InputField2.RegisterCallback<ChangeEvent<string>>(evt => { password = evt.newValue; });
Button1.clicked += () => parent.OpenLoginPanel();
Button2.clicked += () => { };
}
public void Resetting(bool isHide) {
InputField1.value = "";
InputField2.value = "";
element.EnableInClassList("login-hide", isHide);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 71f4d873d8595a04b9f0e23ece70c12f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4e76be0085d0afa4b95b37555ae015a2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 72a044516298bc0459d7dd5caace3862
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d98cc9e046d403d47815a316f64a73f4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,501 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &264596765
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 264596766}
- component: {fileID: 264596767}
m_Layer: 0
m_Name: UILoginPage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &264596766
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 264596765}
serializedVersion: 2
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: 1971819116}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &264596767
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 264596765}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 71f4d873d8595a04b9f0e23ece70c12f, type: 3}
m_Name:
m_EditorClassIdentifier:
document: {fileID: 1971819117}
--- !u!1 &441735425
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 441735426}
- component: {fileID: 441735427}
m_Layer: 0
m_Name: ManagerRequest
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &441735426
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 441735425}
serializedVersion: 2
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: 1963296676}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &441735427
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 441735425}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2b4112fa4a2bfe84984b0472be3af46c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1963296675
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1963296676}
- component: {fileID: 1963296677}
m_Layer: 0
m_Name: "----\u5168\u5C40\u7BA1\u7406----"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1963296676
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963296675}
serializedVersion: 2
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: 1964851652}
- {fileID: 2072823148}
- {fileID: 441735426}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1963296677
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963296675}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 50f6b4ec374a86846b626668e0b5627e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1964851649
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1964851652}
- component: {fileID: 1964851651}
- component: {fileID: 1964851650}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1964851650
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1964851649}
m_Enabled: 1
--- !u!20 &1964851651
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1964851649}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1964851652
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1964851649}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1963296676}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1971819115
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1971819116}
- component: {fileID: 1971819117}
m_Layer: 0
m_Name: "----\u6587\u6863\u754C\u9762----"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1971819116
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1971819115}
serializedVersion: 2
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: 264596766}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1971819117
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1971819115}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PanelSettings: {fileID: 11400000, guid: 782028a3ae72af7429ad2ecdce684390, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 9197481963319205126, guid: 42fc25f5fff9d234ea4e7a8b6d1961a8, type: 3}
m_SortingOrder: 0
--- !u!1 &2072823146
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2072823148}
- component: {fileID: 2072823147}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &2072823147
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2072823146}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &2072823148
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2072823146}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1963296676}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1963296676}
- {fileID: 1971819116}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e38f0d36e04663b4db0d521e53de456d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d52e1faf822eaf746b867a477a48d404
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,5 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Template name="LoginPage" src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPage.uxml?fileID=9197481963319205126&amp;guid=7ebceaef0e3991040bf96648c85589a4&amp;type=3#LoginPage" />
<Style src="project://database/Assets/UI%20Toolkit/Document/Document.uss?fileID=7433441132597879392&amp;guid=9205939af30a4394f8f2e34232b27890&amp;type=3#Document" />
<ui:Instance template="LoginPage" name="LoginPage" class="document-page" />
</ui:UXML>
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 42fc25f5fff9d234ea4e7a8b6d1961a8
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5eb130aac67ad5a4da7a6d177d1762d9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,3 @@
.login-hide {
display: none;
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: acd18d1cf96e4194abf3c77f996078a1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
@@ -0,0 +1,9 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Template name="LoginPanel" src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uxml?fileID=9197481963319205126&amp;guid=6d0b079a8a999dd49a8eaec5b215a710&amp;type=3#LoginPanel" />
<ui:Template name="RegisterPanel" src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/RegisterPanel.uxml?fileID=9197481963319205126&amp;guid=c475ae0796d380246a264c33a2eb3165&amp;type=3#RegisterPanel" />
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPage.uss?fileID=7433441132597879392&amp;guid=acd18d1cf96e4194abf3c77f996078a1&amp;type=3#LoginPage" />
<ui:VisualElement style="flex-grow: 1; align-items: center; justify-content: space-around;">
<ui:Instance template="LoginPanel" name="LoginPanel" />
<ui:Instance template="RegisterPanel" name="RegisterPanel" class="login-hide" />
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7ebceaef0e3991040bf96648c85589a4
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 46dae82faa746ca4198d068fc5ffcc8f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uss?fileID=7433441132597879392&amp;guid=ddb0abd770a426844bf6a58588dc8249&amp;type=3#LoginPanel" />
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/InputField.uss?fileID=7433441132597879392&amp;guid=23f5c618653671e4b9c74f1aa85a6adb&amp;type=3#InputField" />
<ui:VisualElement class="login-bg">
<ui:Label tabindex="-1" text="修改密码" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Title" class="login-title" />
<MuHua.UITextField label="账号" name="InputField1" />
<MuHua.UITextField label="旧密码" name="InputField2" password="true" />
<MuHua.UITextField label="新密码" name="InputField3" password="true" />
<ui:VisualElement class="login-button-group">
<ui:Button text="确认" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button1" class="login-button" />
<ui:Button text="取消" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button2" class="login-button" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: eff0067831029174b96e7174f917ba9f
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
@@ -0,0 +1,56 @@
.input-field {
flex-direction: column;
background-color: rgba(255, 255, 255, 0);
width: 100%;
height: 60px;
flex-grow: 0;
flex-shrink: 1;
}
.input-field-label {
flex-grow: 0;
flex-basis: auto;
flex-shrink: 0;
min-width: 150px;
-unity-text-align: middle-left;
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 5px;
width: auto;
background-color: rgba(0, 0, 0, 0);
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
height: 30px;
font-size: 18px;
}
.input-field-box {
background-color: rgb(255, 255, 255);
width: auto;
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.input-field-text {
-unity-text-align: middle-left;
height: 100%;
width: 100%;
padding-right: 0;
padding-left: 7px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: visible;
}
.input-field-text-d {
-unity-font-style: italic;
color: rgba(27, 27, 27, 0.6);
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 23f5c618653671e4b9c74f1aa85a6adb
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
@@ -0,0 +1,65 @@
.login-bg {
width: 400px;
height: auto;
align-items: stretch;
justify-content: flex-start;
background-color: rgb(204, 204, 204);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
padding-top: 25px;
padding-right: 25px;
padding-bottom: 25px;
padding-left: 25px;
}
.login-title {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
-unity-text-align: middle-center;
font-size: 24px;
}
.login-button {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 0;
border-left-width: 0;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
border-left-color: rgba(0, 0, 0, 0);
border-right-color: rgba(0, 0, 0, 0);
border-top-color: rgba(0, 0, 0, 0);
border-bottom-color: rgba(0, 0, 0, 0);
width: 100px;
height: 40px;
font-size: 18px;
}
.login-button-group {
flex-grow: 0;
flex-direction: row;
align-items: center;
justify-content: space-around;
padding-top: 30px;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ddb0abd770a426844bf6a58588dc8249
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
@@ -0,0 +1,13 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uss?fileID=7433441132597879392&amp;guid=ddb0abd770a426844bf6a58588dc8249&amp;type=3#LoginPanel" />
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/InputField.uss?fileID=7433441132597879392&amp;guid=23f5c618653671e4b9c74f1aa85a6adb&amp;type=3#InputField" />
<ui:VisualElement class="login-bg">
<ui:Label tabindex="-1" text="登录" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Title" class="login-title" />
<MuHua.UITextField label="账号" name="InputField1" />
<MuHua.UITextField label="密码" password="true" name="InputField2" />
<ui:VisualElement class="login-button-group">
<ui:Button text="注册" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button1" class="login-button" />
<ui:Button text="登录" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button2" class="login-button" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 6d0b079a8a999dd49a8eaec5b215a710
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
@@ -0,0 +1,13 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uss?fileID=7433441132597879392&amp;guid=ddb0abd770a426844bf6a58588dc8249&amp;type=3#LoginPanel" />
<Style src="project://database/Assets/UI%20Toolkit/GamePage/LoginPage/LoginPanel/InputField.uss?fileID=7433441132597879392&amp;guid=23f5c618653671e4b9c74f1aa85a6adb&amp;type=3#InputField" />
<ui:VisualElement class="login-bg">
<ui:Label tabindex="-1" text="注册账号" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Title" class="login-title" />
<MuHua.UITextField label="账号" name="InputField1" />
<MuHua.UITextField label="密码" name="InputField2" password="true" />
<ui:VisualElement class="login-button-group">
<ui:Button text="返回" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button1" class="login-button" />
<ui:Button text="注册" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button2" class="login-button" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c475ae0796d380246a264c33a2eb3165
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2a2b3bc25a669cd4595230e3c71deaf9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -4,6 +4,9 @@ using UnityEngine;
using UnityEngine.UIElements;
namespace MuHua {
/// <summary>
/// 文本输入字段
/// </summary>
public class UITextField : TextField {
public new class UxmlFactory : UxmlFactory<UITextField, UxmlTraits> { }
public new class UxmlTraits : TextField.UxmlTraits {
@@ -11,10 +14,10 @@ namespace MuHua {
name = "default-prompt"
};
public override void Init(VisualElement ve, IUxmlAttributes bag, CreationContext cc) {
base.Init(ve, bag, cc);
UITextField textField = (UITextField)ve;
textField.DefaultPrompt = DefaultPrompt.GetValueFromBag(bag, cc);
textField.SetDefaultPrompt();
base.Init(ve, bag, cc);
}
}
public string DefaultPrompt { get; set; }
+1
View File
@@ -7,6 +7,7 @@
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
"com.unity.ugui": "1.0.0",
"com.unity.visualscripting": "1.9.4",
"muhua-network": "https://github.com/MuHua-123/MuHua-Core.git?path=Packages/Network",
"muhua-tools": "https://github.com/MuHua-123/MuHua-Core.git?path=Packages/Tools",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
+7
View File
@@ -188,6 +188,13 @@
},
"url": "https://packages.unity.cn"
},
"muhua-network": {
"version": "https://github.com/MuHua-123/MuHua-Core.git?path=Packages/Network",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "1e26adfb03416178e47aa5473b74dd58533fab9e"
},
"muhua-tools": {
"version": "https://github.com/MuHua-123/MuHua-Core.git?path=Packages/Tools",
"depth": 0,