From 249833b9a306a1ae76911b2546c671ede0e64c0a Mon Sep 17 00:00:00 2001 From: alexiscatnip Date: Sat, 8 May 2021 00:36:18 +0800 Subject: [PATCH] wired up the login screen to perform login(i think) --- Assets/Globals.cs | 107 - Assets/LoginVM.cs | 87 - Assets/Plugins/Catnip/CatnipAssembly.asmref | 3 + .../Plugins/Catnip/CatnipAssembly.asmref.meta | 7 + .../LibreMetaverse.StructuredData.meta | 0 .../LibreMetaverse.StructuredData/JSON.meta | 0 .../JSON/IJsonWrapper.cs | 0 .../JSON/IJsonWrapper.cs.meta | 0 .../JSON/JsonData.cs | 0 .../JSON/JsonData.cs.meta | 0 .../JSON/JsonException.cs | 0 .../JSON/JsonException.cs.meta | 0 .../JSON/JsonMapper.cs | 0 .../JSON/JsonMapper.cs.meta | 0 .../JSON/JsonReader.cs | 0 .../JSON/JsonReader.cs.meta | 0 .../JSON/JsonWriter.cs | 0 .../JSON/JsonWriter.cs.meta | 0 .../JSON/Lexer.cs | 0 .../JSON/Lexer.cs.meta | 0 .../JSON/OSDJson.cs | 0 .../JSON/OSDJson.cs.meta | 0 .../JSON/ParserToken.cs | 0 .../JSON/ParserToken.cs.meta | 0 .../LibreMetaverse.StructuredData/LLSD.meta | 0 .../LLSD/BinaryLLSD.cs | 0 .../LLSD/BinaryLLSD.cs.meta | 0 .../LLSD/NotationLLSD.cs | 0 .../LLSD/NotationLLSD.cs.meta | 0 .../LLSD/XmlLLSD.cs | 0 .../LLSD/XmlLLSD.cs.meta | 0 .../StructuredData.cs | 0 .../StructuredData.cs.meta | 0 .../LibreMetaverse.Types.meta | 0 .../LibreMetaverse.Types/CRC32.cs | 0 .../LibreMetaverse.Types/CRC32.cs.meta | 0 .../LibreMetaverse.Types/Color4.cs | 0 .../LibreMetaverse.Types/Color4.cs.meta | 0 .../LibreMetaverse.Types/DoubleDictionary.cs | 0 .../DoubleDictionary.cs.meta | 0 .../LibreMetaverse.Types/Enums.cs | 0 .../LibreMetaverse.Types/Enums.cs.meta | 0 .../LibreMetaverse.Types/EnumsPrimitive.cs | 0 .../EnumsPrimitive.cs.meta | 0 .../LibreMetaverse.Types/ExpiringCache.cs | 0 .../ExpiringCache.cs.meta | 0 .../LibreMetaverse.Types/Matrix4.cs | 0 .../LibreMetaverse.Types/Matrix4.cs.meta | 0 .../LibreMetaverse.Types/Quaternion.cs | 0 .../LibreMetaverse.Types/Quaternion.cs.meta | 0 .../ThreadSafeDictionary.cs | 0 .../ThreadSafeDictionary.cs.meta | 0 .../LibreMetaverse.Types/TokenBucket.cs | 0 .../LibreMetaverse.Types/TokenBucket.cs.meta | 0 .../LibreMetaverse.Types/UUID.cs | 0 .../LibreMetaverse.Types/UUID.cs.meta | 0 .../LibreMetaverse.Types/Utils.cs | 0 .../LibreMetaverse.Types/Utils.cs.meta | 0 .../LibreMetaverse.Types/UtilsConversions.cs | 0 .../UtilsConversions.cs.meta | 0 .../LibreMetaverse.Types/Vector2.cs | 0 .../LibreMetaverse.Types/Vector2.cs.meta | 0 .../LibreMetaverse.Types/Vector3.cs | 0 .../LibreMetaverse.Types/Vector3.cs.meta | 0 .../LibreMetaverse.Types/Vector3d.cs | 0 .../LibreMetaverse.Types/Vector3d.cs.meta | 0 .../LibreMetaverse.Types/Vector4.cs | 0 .../LibreMetaverse.Types/Vector4.cs.meta | 0 .../LibreMetaverseAssembly.asmdef | 14 + .../LibreMetaverseAssembly.asmdef.meta | 7 + Assets/Plugins/LibreMetaverse/Logger.cs | 3 + Assets/Plugins/LibreMetaverse/Login.cs | 5 + Assets/Plugins/LibreMetaverse/Settings.cs | 2 +- Assets/Raindrop.meta | 8 + Assets/Raindrop/Disk.meta | 8 + Assets/{ => Raindrop/Disk}/ReadWrite.cs | 28 +- Assets/{ => Raindrop/Disk}/ReadWrite.cs.meta | 0 Assets/Raindrop/Disk/SaveLoad.cs | 36 + Assets/Raindrop/Disk/SaveLoad.cs.meta | 11 + Assets/Raindrop/RaindropClient.cs | 183 ++ .../RaindropClient.cs.meta} | 0 Assets/Raindrop/RaindropEvents.cs | 16 + Assets/Raindrop/RaindropEvents.cs.meta | 11 + Assets/{ => Raindrop}/Types.cs | 2 +- Assets/{ => Raindrop}/Types.cs.meta | 0 Assets/Scenes/SampleScene.unity | 2570 ++++++++++++++++- Assets/Tests.meta | 8 + Assets/Tests/Test_LibreMetaverse.cs | 25 + Assets/Tests/Test_LibreMetaverse.cs.meta | 11 + Assets/Tests/Tests.asmdef | 22 + Assets/Tests/Tests.asmdef.meta | 7 + Assets/Unity.meta | 8 + Assets/Unity/Global.cs | 32 + Assets/Unity/Global.cs.meta | 11 + Assets/Unity/RaindropViewManager.cs | 69 + Assets/Unity/RaindropViewManager.cs.meta | 11 + Assets/Unity/Singleton.cs | 52 + Assets/Unity/Singleton.cs.meta | 11 + Assets/Unity/UI.meta | 8 + Assets/Unity/UI/CanvasIdentifier.cs | 9 + Assets/Unity/UI/CanvasIdentifier.cs.meta | 11 + Assets/Unity/UI/CanvasManager.cs | 59 + Assets/Unity/UI/CanvasManager.cs.meta | 11 + Assets/Unity/UI/LoginVM.cs | 191 ++ Assets/{ => Unity/UI}/LoginVM.cs.meta | 0 Assets/Unity/UI/ModalLogic.cs | 30 + Assets/Unity/UI/ModalLogic.cs.meta | 11 + GlobalSuppressions.cs | 11 + 108 files changed, 3493 insertions(+), 223 deletions(-) delete mode 100644 Assets/Globals.cs delete mode 100644 Assets/LoginVM.cs create mode 100644 Assets/Plugins/Catnip/CatnipAssembly.asmref create mode 100644 Assets/Plugins/Catnip/CatnipAssembly.asmref.meta rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonData.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonData.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonException.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonException.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonMapper.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonMapper.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonReader.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonReader.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonWriter.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/JsonWriter.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/Lexer.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/Lexer.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/OSDJson.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/OSDJson.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/ParserToken.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/JSON/ParserToken.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/StructuredData.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.StructuredData/StructuredData.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/CRC32.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/CRC32.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Color4.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Color4.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/DoubleDictionary.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/DoubleDictionary.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Enums.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Enums.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/EnumsPrimitive.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/EnumsPrimitive.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/ExpiringCache.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/ExpiringCache.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Matrix4.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Matrix4.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Quaternion.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Quaternion.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/ThreadSafeDictionary.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/ThreadSafeDictionary.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/TokenBucket.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/TokenBucket.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/UUID.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/UUID.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Utils.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Utils.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/UtilsConversions.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/UtilsConversions.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector2.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector2.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector3.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector3.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector3d.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector3d.cs.meta (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector4.cs (100%) rename Assets/Plugins/{ => LibreMetaverse}/LibreMetaverse.Types/Vector4.cs.meta (100%) create mode 100644 Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef create mode 100644 Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef.meta create mode 100644 Assets/Raindrop.meta create mode 100644 Assets/Raindrop/Disk.meta rename Assets/{ => Raindrop/Disk}/ReadWrite.cs (69%) rename Assets/{ => Raindrop/Disk}/ReadWrite.cs.meta (100%) create mode 100644 Assets/Raindrop/Disk/SaveLoad.cs create mode 100644 Assets/Raindrop/Disk/SaveLoad.cs.meta create mode 100644 Assets/Raindrop/RaindropClient.cs rename Assets/{Globals.cs.meta => Raindrop/RaindropClient.cs.meta} (100%) create mode 100644 Assets/Raindrop/RaindropEvents.cs create mode 100644 Assets/Raindrop/RaindropEvents.cs.meta rename Assets/{ => Raindrop}/Types.cs (95%) rename Assets/{ => Raindrop}/Types.cs.meta (100%) create mode 100644 Assets/Tests.meta create mode 100644 Assets/Tests/Test_LibreMetaverse.cs create mode 100644 Assets/Tests/Test_LibreMetaverse.cs.meta create mode 100644 Assets/Tests/Tests.asmdef create mode 100644 Assets/Tests/Tests.asmdef.meta create mode 100644 Assets/Unity.meta create mode 100644 Assets/Unity/Global.cs create mode 100644 Assets/Unity/Global.cs.meta create mode 100644 Assets/Unity/RaindropViewManager.cs create mode 100644 Assets/Unity/RaindropViewManager.cs.meta create mode 100644 Assets/Unity/Singleton.cs create mode 100644 Assets/Unity/Singleton.cs.meta create mode 100644 Assets/Unity/UI.meta create mode 100644 Assets/Unity/UI/CanvasIdentifier.cs create mode 100644 Assets/Unity/UI/CanvasIdentifier.cs.meta create mode 100644 Assets/Unity/UI/CanvasManager.cs create mode 100644 Assets/Unity/UI/CanvasManager.cs.meta create mode 100644 Assets/Unity/UI/LoginVM.cs rename Assets/{ => Unity/UI}/LoginVM.cs.meta (100%) create mode 100644 Assets/Unity/UI/ModalLogic.cs create mode 100644 Assets/Unity/UI/ModalLogic.cs.meta create mode 100644 GlobalSuppressions.cs diff --git a/Assets/Globals.cs b/Assets/Globals.cs deleted file mode 100644 index 93635f3..0000000 --- a/Assets/Globals.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using LibreMetaverse; -using OpenMetaverse; - -public class Globals : MonoBehaviour -{ - //public static GridClient Client; - - public string m_Path { get; private set; } - - void Start() - { - //Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - //Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - //Console.ReadLine(); - // Logout of simulator - //Client.Network.Logout(); - - - ////register events - //Client.Appearance.AgentWearablesReply += Appearance_AgentWearablesReply; - //Client.Appearance.AppearanceSet += Appearance_AppearanceSet; - //Client.Appearance.CachedBakesReply += Appearance_CachedBakesReply; - //Client.Appearance.RebakeAvatarRequested += Appearance_RebakeAvatarRequested; - - ////local chat - //Client.Self.ChatFromSimulator += Self_ChatFromSimulator; - - ////user connected/disconnected - //Client.Network.Disconnected += Network_Disconnected; - //Client.Network.LoginProgress += Network_LoginProgress; - - ////grid location update - //Client.Grid.CoarseLocationUpdate += Grid_CoarseLocationUpdate; - //Client.Network.SimChanged += Network_SimChanged; - - - //Get the path of the Game data folder - m_Path = Application.persistentDataPath; - - //Output the Game data path to the console - Debug.Log("dataPath : " + m_Path); - - var myCred = new Raindrop.Types.Credential(); - myCred.User = "username69"; - myCred.Pass = "password96"; - - var myRW = new Disk.ReadWrite(); - myRW.saveCredentials(myCred,m_Path); - } - - //private void Network_SimChanged(object sender, SimChangedEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Grid_CoarseLocationUpdate(object sender, CoarseLocationUpdateEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Network_LoginProgress(object sender, LoginProgressEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Network_Disconnected(object sender, DisconnectedEventArgs e) - //{ - // Debug.Log("Disconnected!"); - //} - - //private void Self_ChatFromSimulator(object sender, ChatEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Appearance_RebakeAvatarRequested(object sender, RebakeAvatarTexturesEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Appearance_CachedBakesReply(object sender, AgentCachedBakesReplyEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Appearance_AppearanceSet(object sender, AppearanceSetEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - //private void Appearance_AgentWearablesReply(object sender, AgentWearablesReplyEventArgs e) - //{ - // throw new System.NotImplementedException(); - //} - - // Update is called once per frame - void Update() - { - - } -} diff --git a/Assets/LoginVM.cs b/Assets/LoginVM.cs deleted file mode 100644 index 46e311f..0000000 --- a/Assets/LoginVM.cs +++ /dev/null @@ -1,87 +0,0 @@ -using OpenMetaverse; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using UnityEngine; -using UnityWeld.Binding; - -[Binding] -public class LoginVM : MonoBehaviour, INotifyPropertyChanged -{ - - private string username = "username"; - private string password = "password"; - - [Binding] - public string Username - { - get - { - return username; - } - set - { - if (username == value) - { - return; // No change. - } - - username = value; - - OnPropertyChanged("username"); - } - } - [Binding] - public string Password - { - get - { - return password; - } - set - { - if (password == value) - { - return; // No change. - } - - password = value; - - OnPropertyChanged("password"); - } - } - - /// - /// Event to raise when a property's value has changed. - /// - public event PropertyChangedEventHandler PropertyChanged; - - // Use this for initialization - void Start() - { - - } - - // Update is called once per frame - void Update() - { - } - - private void OnPropertyChanged(string propertyName) - { - if (PropertyChanged != null) - { - PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); - } - } - - [Binding] - public void OnLoginBtnClick() - { - Debug.Log("loggin in TODO" + username + password); - - GridClient Client = new GridClient(); - } - - -} diff --git a/Assets/Plugins/Catnip/CatnipAssembly.asmref b/Assets/Plugins/Catnip/CatnipAssembly.asmref new file mode 100644 index 0000000..5154302 --- /dev/null +++ b/Assets/Plugins/Catnip/CatnipAssembly.asmref @@ -0,0 +1,3 @@ +{ + "reference": "GUID:b6ef318018e211441b43da945a1caf13" +} \ No newline at end of file diff --git a/Assets/Plugins/Catnip/CatnipAssembly.asmref.meta b/Assets/Plugins/Catnip/CatnipAssembly.asmref.meta new file mode 100644 index 0000000..b96b7cf --- /dev/null +++ b/Assets/Plugins/Catnip/CatnipAssembly.asmref.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e392e90217751074883ae145b1b472ef +AssemblyDefinitionReferenceImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/LibreMetaverse.StructuredData.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/IJsonWrapper.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonData.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonData.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonData.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonData.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonData.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonData.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonData.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonData.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonException.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonException.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonException.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonException.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonException.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonException.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonException.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonException.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonMapper.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonMapper.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonMapper.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonMapper.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonMapper.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonMapper.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonMapper.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonMapper.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonReader.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonReader.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonReader.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonReader.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonReader.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonReader.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonReader.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonReader.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonWriter.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonWriter.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonWriter.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonWriter.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonWriter.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonWriter.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/JsonWriter.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/JsonWriter.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/Lexer.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/Lexer.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/Lexer.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/Lexer.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/Lexer.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/Lexer.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/Lexer.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/Lexer.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/OSDJson.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/OSDJson.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/OSDJson.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/OSDJson.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/OSDJson.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/OSDJson.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/OSDJson.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/OSDJson.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/ParserToken.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/ParserToken.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/ParserToken.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/ParserToken.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/JSON/ParserToken.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/ParserToken.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/JSON/ParserToken.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/JSON/ParserToken.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/BinaryLLSD.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/NotationLLSD.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/LLSD/XmlLLSD.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/StructuredData.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/StructuredData.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/StructuredData.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/StructuredData.cs diff --git a/Assets/Plugins/LibreMetaverse.StructuredData/StructuredData.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/StructuredData.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.StructuredData/StructuredData.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.StructuredData/StructuredData.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/CRC32.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/CRC32.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/CRC32.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/CRC32.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/CRC32.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/CRC32.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/CRC32.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/CRC32.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Color4.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Color4.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Color4.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Color4.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Color4.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Color4.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Color4.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Color4.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/DoubleDictionary.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/DoubleDictionary.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/DoubleDictionary.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/DoubleDictionary.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/DoubleDictionary.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/DoubleDictionary.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/DoubleDictionary.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/DoubleDictionary.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Enums.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Enums.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Enums.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Enums.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Enums.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Enums.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Enums.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Enums.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/EnumsPrimitive.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/EnumsPrimitive.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/EnumsPrimitive.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/EnumsPrimitive.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/EnumsPrimitive.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/EnumsPrimitive.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/EnumsPrimitive.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/EnumsPrimitive.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/ExpiringCache.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ExpiringCache.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/ExpiringCache.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ExpiringCache.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/ExpiringCache.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ExpiringCache.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/ExpiringCache.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ExpiringCache.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Matrix4.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Matrix4.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Matrix4.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Matrix4.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Matrix4.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Matrix4.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Matrix4.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Matrix4.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Quaternion.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Quaternion.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Quaternion.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Quaternion.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Quaternion.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Quaternion.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Quaternion.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Quaternion.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/ThreadSafeDictionary.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ThreadSafeDictionary.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/ThreadSafeDictionary.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ThreadSafeDictionary.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/ThreadSafeDictionary.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ThreadSafeDictionary.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/ThreadSafeDictionary.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/ThreadSafeDictionary.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/TokenBucket.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/TokenBucket.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/TokenBucket.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/TokenBucket.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/TokenBucket.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/TokenBucket.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/TokenBucket.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/TokenBucket.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/UUID.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UUID.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/UUID.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UUID.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/UUID.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UUID.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/UUID.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UUID.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Utils.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Utils.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Utils.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Utils.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Utils.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Utils.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Utils.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Utils.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/UtilsConversions.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UtilsConversions.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/UtilsConversions.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UtilsConversions.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/UtilsConversions.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UtilsConversions.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/UtilsConversions.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/UtilsConversions.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector2.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector2.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector2.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector2.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector2.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector2.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector2.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector2.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector3.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector3.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector3.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector3.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector3d.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3d.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector3d.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3d.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector3d.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3d.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector3d.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector3d.cs.meta diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector4.cs b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector4.cs similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector4.cs rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector4.cs diff --git a/Assets/Plugins/LibreMetaverse.Types/Vector4.cs.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector4.cs.meta similarity index 100% rename from Assets/Plugins/LibreMetaverse.Types/Vector4.cs.meta rename to Assets/Plugins/LibreMetaverse/LibreMetaverse.Types/Vector4.cs.meta diff --git a/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef b/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef new file mode 100644 index 0000000..016719b --- /dev/null +++ b/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef @@ -0,0 +1,14 @@ +{ + "name": "LibreMetaverseAssembly", + "rootNamespace": "", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef.meta b/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef.meta new file mode 100644 index 0000000..ffe6e01 --- /dev/null +++ b/Assets/Plugins/LibreMetaverse/LibreMetaverseAssembly.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b6ef318018e211441b43da945a1caf13 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/LibreMetaverse/Logger.cs b/Assets/Plugins/LibreMetaverse/Logger.cs index 7e08722..fcdea3b 100644 --- a/Assets/Plugins/LibreMetaverse/Logger.cs +++ b/Assets/Plugins/LibreMetaverse/Logger.cs @@ -29,6 +29,7 @@ using System.Reflection; using log4net; using log4net.Appender; using log4net.Config; +using UnityEngine; [assembly: XmlConfigurator(Watch = true)] @@ -117,6 +118,8 @@ namespace OpenMetaverse /// Exception that was raised public static void Log(object message, Helpers.LogLevel level, GridClient client, Exception exception) { + Debug.Log(message); + if (client != null && client.Settings.LOG_NAMES) message = $"<{client.Self.Name}>: {message}"; diff --git a/Assets/Plugins/LibreMetaverse/Login.cs b/Assets/Plugins/LibreMetaverse/Login.cs index 9842fcd..e6d2cb6 100644 --- a/Assets/Plugins/LibreMetaverse/Login.cs +++ b/Assets/Plugins/LibreMetaverse/Login.cs @@ -1104,6 +1104,7 @@ namespace OpenMetaverse if (loginParams.Password == null) loginParams.Password = string.Empty; + Logger.Log("pass: " + loginParams.Password, Helpers.LogLevel.Warning); // Convert the password to MD5 if it isn't already if (loginParams.Password.Length != 35 && !loginParams.Password.StartsWith("$1$")) @@ -1171,6 +1172,9 @@ namespace OpenMetaverse if (Client.Settings.USE_LLSD_LOGIN) { #region LLSD Based Login + Logger.Log("LLSD!", Helpers.LogLevel.Warning); + Logger.Log("first "+ loginParams.FirstName, Helpers.LogLevel.Warning); + Logger.Log("last "+ loginParams.LastName, Helpers.LogLevel.Warning); // Create the CAPS login structure OSDMap loginLLSD = new OSDMap @@ -1231,6 +1235,7 @@ namespace OpenMetaverse } else { + Logger.Log("XML-RPC!", Helpers.LogLevel.Warning); #region XML-RPC Based Login Code // Create the Hashtable for XmlRpcCs diff --git a/Assets/Plugins/LibreMetaverse/Settings.cs b/Assets/Plugins/LibreMetaverse/Settings.cs index a30e1e9..da21b97 100644 --- a/Assets/Plugins/LibreMetaverse/Settings.cs +++ b/Assets/Plugins/LibreMetaverse/Settings.cs @@ -55,7 +55,7 @@ namespace OpenMetaverse public static System.Net.IPAddress BIND_ADDR = System.Net.IPAddress.Any; /// Use XML-RPC Login or LLSD Login, default is XML-RPC Login - public bool USE_LLSD_LOGIN = false; + public bool USE_LLSD_LOGIN = true; /// /// Maximum number of HTTP connections to open to a particular endpoint. diff --git a/Assets/Raindrop.meta b/Assets/Raindrop.meta new file mode 100644 index 0000000..4c82610 --- /dev/null +++ b/Assets/Raindrop.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56e6f9fb60d030f40bbd45e53d23ceae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/Disk.meta b/Assets/Raindrop/Disk.meta new file mode 100644 index 0000000..7c9125e --- /dev/null +++ b/Assets/Raindrop/Disk.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec40407118dfd3b4abf6f17a819b9f97 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ReadWrite.cs b/Assets/Raindrop/Disk/ReadWrite.cs similarity index 69% rename from Assets/ReadWrite.cs rename to Assets/Raindrop/Disk/ReadWrite.cs index 07ea105..cd49daf 100644 --- a/Assets/ReadWrite.cs +++ b/Assets/Raindrop/Disk/ReadWrite.cs @@ -1,4 +1,5 @@ -using System; +using SixLabors.ImageSharp; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -7,13 +8,16 @@ using System.Runtime.Serialization.Formatters.Binary; using System.Text; using System.Threading.Tasks; -namespace Disk +namespace Raindrop.Disk { - class ReadWrite + //contains functions that directly write to disk. + static class ReadWrite { - public bool saveCredentials(Raindrop.Types.Credential cred, String path) + private static string filenameCredentials = "/SaveCredentials.data"; + + public static bool saveCredentials(Raindrop.Types.Credential cred, String path) { - var dirPath = path + "/SaveCredentials.data"; + var dirPath = path + filenameCredentials; if (dirPath != null) SaveSerialisable(ref cred, dirPath); @@ -23,7 +27,7 @@ namespace Disk } //writes the obj/data to the filepath. - public void SaveSerialisable(ref T data , String filePath) + public static void SaveSerialisable(ref T data , String filePath) { FileStream dataStream = new FileStream(filePath, FileMode.Create); @@ -33,7 +37,7 @@ namespace Disk dataStream.Close(); } - public List readCredentials(String path) + public static List ReadCredentials(String path) { String dirPath = path + "/SaveCredentials.data"; @@ -52,7 +56,7 @@ namespace Disk } //reads filepath, returns the object of specified type - public object ReadSerialisable(String filePath) + public static object ReadSerialisable(String filePath) { FileStream dataStream = new FileStream(filePath, FileMode.Open); @@ -72,5 +76,13 @@ namespace Disk } + + public static bool SaveTextureToFile(Image image) + { + + //image.Save(outputStream, format); + return true; + } + } } diff --git a/Assets/ReadWrite.cs.meta b/Assets/Raindrop/Disk/ReadWrite.cs.meta similarity index 100% rename from Assets/ReadWrite.cs.meta rename to Assets/Raindrop/Disk/ReadWrite.cs.meta diff --git a/Assets/Raindrop/Disk/SaveLoad.cs b/Assets/Raindrop/Disk/SaveLoad.cs new file mode 100644 index 0000000..db01f7e --- /dev/null +++ b/Assets/Raindrop/Disk/SaveLoad.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Raindrop.Disk +{ + public static class SaveLoad + { + //return: TRUE for saving success. + public static bool saveCred(string user, string pass, string m_Path) + { + var myCred = new Raindrop.Types.Credential(); + myCred.User = user; + myCred.Pass = pass; + + if (Disk.ReadWrite.saveCredentials(myCred, m_Path) == true) + { + return true; + } + else + return false; + + } + + //return: the credentials as list + public static List loadCred(string m_Path) + { + + var myCred = Disk.ReadWrite.ReadCredentials(m_Path); + + return myCred; + } + } +} diff --git a/Assets/Raindrop/Disk/SaveLoad.cs.meta b/Assets/Raindrop/Disk/SaveLoad.cs.meta new file mode 100644 index 0000000..de2387b --- /dev/null +++ b/Assets/Raindrop/Disk/SaveLoad.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f14268f0af70b4642b1a0b816f2f8fd7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/RaindropClient.cs b/Assets/Raindrop/RaindropClient.cs new file mode 100644 index 0000000..b1f308b --- /dev/null +++ b/Assets/Raindrop/RaindropClient.cs @@ -0,0 +1,183 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using LibreMetaverse; +using OpenMetaverse; + + +namespace Raindrop +{ + //implements (actually, composites) the gridclient + public class RaindropClient + { + //todo: internal eventbus for raindrop subsystems comms; include ui? + public event Notify LoginCompleted; + public event Notify LoginFailed; + + public GridClient Client; + + public enum RaindropState + { + intialise, + connected, + disconnected + + } + + private RaindropState clientstate; + + private string Username { get; set; } + private string Password { get; set; } + public string configdatapath { get; private set; } + + public RaindropClient() + { + clientstate = RaindropState.intialise; + + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + + + Client.Settings.USE_LLSD_LOGIN = true; + const string AGNI_LOGIN_SERVER = "https://login.agni.lindenlab.com/cgi-bin/login.cgi"; + Client.Settings.LOGIN_SERVER = AGNI_LOGIN_SERVER; + + + + + RegisterClientEvents(); + } + + + private void RegisterClientEvents() + { + ////register events + Client.Appearance.AgentWearablesReply += Appearance_AgentWearablesReply; + Client.Appearance.AppearanceSet += Appearance_AppearanceSet; + Client.Appearance.CachedBakesReply += Appearance_CachedBakesReply; + Client.Appearance.RebakeAvatarRequested += Appearance_RebakeAvatarRequested; + + ////local chat + Client.Self.ChatFromSimulator += Self_ChatFromSimulator; + + ////user connected/disconnected + Client.Network.Disconnected += Network_Disconnected; + Client.Network.LoginProgress += Network_LoginProgress; + + ////grid location update + Client.Grid.CoarseLocationUpdate += Grid_CoarseLocationUpdate; + Client.Network.SimChanged += Network_SimChanged; + + + } + + internal void setConfigPath(string app_data_Path) + { + this.configdatapath = app_data_Path; + + } + + private void Network_SimChanged(object sender, SimChangedEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Grid_CoarseLocationUpdate(object sender, CoarseLocationUpdateEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Network_LoginProgress(object sender, LoginProgressEventArgs e) + { + if (e.Status == LoginStatus.Failed) + { + LoginFailed?.Invoke(); //raise event. + Debug.LogWarning("logging in failed. \n Message: " + e.Message + "fail reason: " + e.FailReason); + } + else if (e.Status == LoginStatus.Success) + { + this.clientstate = RaindropState.connected; + + LoginCompleted?.Invoke(); //raise event. + + Disk.SaveLoad.saveCred(Username,Password, configdatapath); + + + Debug.Log("logging in success. \n Message: " + e.Message); + + } + else if (e.Status == LoginStatus.ConnectingToLogin) + { + Debug.Log("ConnectingToLogin. \n Message: " + e.Message); + + } + else + { + Debug.LogError("logging in not-supported. \n status type: " + e.Status.ToString() + "\n Message: " + e.Message); + } + } + + private void Network_Disconnected(object sender, DisconnectedEventArgs e) + { + Debug.Log("Disconnected!"); + } + + private void Self_ChatFromSimulator(object sender, ChatEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Appearance_RebakeAvatarRequested(object sender, RebakeAvatarTexturesEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Appearance_CachedBakesReply(object sender, AgentCachedBakesReplyEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Appearance_AppearanceSet(object sender, AppearanceSetEventArgs e) + { + throw new System.NotImplementedException(); + } + + private void Appearance_AgentWearablesReply(object sender, AgentWearablesReplyEventArgs e) + { + throw new System.NotImplementedException(); + } + + //connects to SL. username is either format; ie: "firstname lastname" or "Jaken69" are both compaitble. + public void connectTo(string username, string password) + { + + Username = username; + Password = password; + + // Login to Simulator + string[] _splitname = username.Split(); + if (_splitname.Length == 1) + { + var temp = _splitname[0]; + _splitname = new string[2]; + _splitname[0] = temp; + _splitname[1] = ""; + } + else if (_splitname.Length != 2) + { + Debug.LogError("username is not 2 words (tip examples of valid usernames: \'Jake69 Resident\' or \'Jake Aabye\')"); + return; + } + + var lp = new LoginParams(Global.MainRaindropInstance.Client, _splitname[0], _splitname[1], password, "test", "0.1"); + Debug.Log("attempt login with name1 " + _splitname[0] + " name 2 " + _splitname[1] + " password " + password); + Global.MainRaindropInstance.Client.Network.BeginLogin(lp); + + //UnityClient.Client.Network.Login(lp); + // Logout of simulator + //Client.Network.Logout(); + + } + + } +} \ No newline at end of file diff --git a/Assets/Globals.cs.meta b/Assets/Raindrop/RaindropClient.cs.meta similarity index 100% rename from Assets/Globals.cs.meta rename to Assets/Raindrop/RaindropClient.cs.meta diff --git a/Assets/Raindrop/RaindropEvents.cs b/Assets/Raindrop/RaindropEvents.cs new file mode 100644 index 0000000..59feb41 --- /dev/null +++ b/Assets/Raindrop/RaindropEvents.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Raindrop +{ + public delegate void Notify(); + + + + class RaindropEvents + { + } +} diff --git a/Assets/Raindrop/RaindropEvents.cs.meta b/Assets/Raindrop/RaindropEvents.cs.meta new file mode 100644 index 0000000..ef0e157 --- /dev/null +++ b/Assets/Raindrop/RaindropEvents.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4bd2bc82f97e97449b705c62f7b38954 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Types.cs b/Assets/Raindrop/Types.cs similarity index 95% rename from Assets/Types.cs rename to Assets/Raindrop/Types.cs index ecbca7a..dfb9ed4 100644 --- a/Assets/Types.cs +++ b/Assets/Raindrop/Types.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Raindrop { - class Types + public class Types { [Serializable] public class Credential diff --git a/Assets/Types.cs.meta b/Assets/Raindrop/Types.cs.meta similarity index 100% rename from Assets/Types.cs.meta rename to Assets/Raindrop/Types.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 84ca591..2dc9b98 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -123,6 +123,310 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &38931173 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 38931174} + - component: {fileID: 38931178} + - component: {fileID: 38931177} + - component: {fileID: 38931176} + - component: {fileID: 38931175} + m_Layer: 5 + m_Name: LogoutBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &38931174 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 38931173} + 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_Children: + - {fileID: 1829647101} + m_Father: {fileID: 1090573972} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 432.96002, y: -779.76636} + m_SizeDelta: {x: 611.5748, y: 119.71399} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &38931175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 38931173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1360956885, guid: 46db69d45cc2c8f4cbecbd38f79f45ef, type: 3} + m_Name: + m_EditorClassIdentifier: + viewModelMethodName: LoginVM.OnLogoutBtnClick + viewEventName: UnityEngine.UI.Button.onClick +--- !u!114 &38931176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 38931173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 38931177} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &38931177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 38931173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9528302, g: 0.54447436, b: 0.54447436, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &38931178 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 38931173} + m_CullTransparentMesh: 1 +--- !u!1 &159306963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 159306964} + - component: {fileID: 159306966} + - component: {fileID: 159306965} + m_Layer: 5 + m_Name: Failed! + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &159306964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159306963} + 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_Children: [] + m_Father: {fileID: 1999675308} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 450, y: 158.5659} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &159306965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159306963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 60 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 6 + m_MaxSize: 60 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Login fail! + + message: TODO' +--- !u!222 &159306966 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159306963} + m_CullTransparentMesh: 1 +--- !u!1 &219892340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 219892341} + - component: {fileID: 219892342} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &219892341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 219892340} + 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_Children: + - {fileID: 1603377540} + - {fileID: 1268431908} + - {fileID: 853768760} + m_Father: {fileID: 2072508973} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &219892342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 219892340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1603377541} + toggleTransition: 1 + graphic: {fileID: 1268431909} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 --- !u!1 &289478450 GameObject: m_ObjectHideFlags: 0 @@ -272,6 +576,85 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0abab5bb77339e4428787a870eb31bd3, type: 3} +--- !u!1 &384628818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 384628819} + - component: {fileID: 384628821} + - component: {fileID: 384628820} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &384628819 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384628818} + 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_Children: [] + m_Father: {fileID: 936677285} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &384628820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384628818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &384628821 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384628818} + m_CullTransparentMesh: 1 --- !u!1 &406697129 GameObject: m_ObjectHideFlags: 0 @@ -406,6 +789,141 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 406697129} m_CullTransparentMesh: 1 +--- !u!1 &432150339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 432150340} + - component: {fileID: 432150345} + - component: {fileID: 432150344} + - component: {fileID: 432150343} + - component: {fileID: 432150342} + - component: {fileID: 432150341} + m_Layer: 5 + m_Name: Modal_LoginFailed + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &432150340 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + 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_Children: + - {fileID: 1356808778} + - {fileID: 1418630376} + m_Father: {fileID: 1910810518} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &432150341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 09b7e9011827e984fb71ed88b07d1f0b, type: 3} + m_Name: + m_EditorClassIdentifier: + modalReference: {fileID: 432150339} + modal_message: + modal_title: +--- !u!114 &432150342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 8.97 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &432150343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 1 + m_VerticalFit: 1 +--- !u!114 &432150344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.46666667} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &432150345 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432150339} + m_CullTransparentMesh: 1 --- !u!1 &512934467 GameObject: m_ObjectHideFlags: 0 @@ -441,10 +959,10 @@ RectTransform: m_Father: {fileID: 1910810518} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 32.30005, y: -86.956055} - m_SizeDelta: {x: -1631.1244, y: -1009.412} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 436.14, y: -630.2138} + m_SizeDelta: {x: 605.19995, y: 113.48163} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &512934469 MonoBehaviour: @@ -554,6 +1072,7 @@ GameObject: - component: {fileID: 601590706} - component: {fileID: 601590705} - component: {fileID: 601590704} + - component: {fileID: 601590707} m_Layer: 5 m_Name: LogoutBtn m_TagString: Untagged @@ -576,10 +1095,10 @@ RectTransform: m_Father: {fileID: 1910810518} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 32.3, y: -173.5} - m_SizeDelta: {x: 295.0099, y: 70.7037} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 432.96002, y: -779.76636} + m_SizeDelta: {x: 611.5748, y: 119.71399} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &601590704 MonoBehaviour: @@ -663,6 +1182,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 601590702} m_CullTransparentMesh: 1 +--- !u!114 &601590707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 601590702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1360956885, guid: 46db69d45cc2c8f4cbecbd38f79f45ef, type: 3} + m_Name: + m_EditorClassIdentifier: + viewModelMethodName: LoginVM.OnLogoutBtnClick + viewEventName: UnityEngine.UI.Button.onClick --- !u!1 &632800669 GameObject: m_ObjectHideFlags: 0 @@ -675,6 +1208,7 @@ GameObject: - component: {fileID: 632800673} - component: {fileID: 632800672} - component: {fileID: 632800671} + - component: {fileID: 632800674} m_Layer: 5 m_Name: PassTextField m_TagString: Untagged @@ -697,10 +1231,10 @@ RectTransform: m_Father: {fileID: 1910810518} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 53.55298, y: 55.47412} - m_SizeDelta: {x: -1582.4846, y: -1012.7144} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 477.0183, y: -392.0724} + m_SizeDelta: {x: 699.6915, y: 113.92651} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &632800671 MonoBehaviour: @@ -838,6 +1372,241 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 632800669} m_CullTransparentMesh: 1 +--- !u!114 &632800674 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 632800669} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1957390036, guid: 46db69d45cc2c8f4cbecbd38f79f45ef, type: 3} + m_Name: + m_EditorClassIdentifier: + viewModelPropertyName: LoginVM.Password + viewEventName: TMPro.TMP_InputField.onValueChanged + viewPropertyName: TMPro.TMP_InputField.text + viewAdapterTypeName: + viewAdapterOptions: {fileID: 0} + viewModelAdapterTypeName: + viewModelAdapterOptions: {fileID: 0} + exceptionPropertyName: + exceptionAdapterTypeName: + exceptionAdapterOptions: {fileID: 0} +--- !u!1 &696494505 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 696494506} + - component: {fileID: 696494508} + - component: {fileID: 696494507} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &696494506 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696494505} + 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_Children: [] + m_Father: {fileID: 1418630376} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &696494507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696494505} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 85 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: OK +--- !u!222 &696494508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696494505} + m_CullTransparentMesh: 1 +--- !u!1 &703123634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 703123635} + - component: {fileID: 703123637} + - component: {fileID: 703123636} + m_Layer: 5 + m_Name: Location + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &703123635 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703123634} + 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_Children: [] + m_Father: {fileID: 1090573972} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &703123636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703123634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &703123637 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703123634} + m_CullTransparentMesh: 1 --- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 @@ -1086,6 +1855,218 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 783031746} m_CullTransparentMesh: 1 +--- !u!1 &853334010 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 853334011} + - component: {fileID: 853334014} + - component: {fileID: 853334013} + - component: {fileID: 853334012} + m_Layer: 5 + m_Name: OKBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &853334011 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853334010} + 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_Children: + - {fileID: 1296132511} + m_Father: {fileID: 1999675308} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 450, y: 158.57} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &853334012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853334010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 853334013} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1999675309} + m_TargetAssemblyTypeName: ModalCloser, Assembly-CSharp + m_MethodName: DeactivateModal + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &853334013 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853334010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &853334014 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853334010} + m_CullTransparentMesh: 1 +--- !u!1 &853768759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 853768760} + - component: {fileID: 853768762} + - component: {fileID: 853768761} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &853768760 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853768759} + 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_Children: [] + m_Father: {fileID: 219892341} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &853768761 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853768759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &853768762 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853768759} + m_CullTransparentMesh: 1 --- !u!1 &900175403 GameObject: m_ObjectHideFlags: 0 @@ -1164,6 +2145,7 @@ GameObject: - component: {fileID: 904771130} - component: {fileID: 904771129} - component: {fileID: 904771128} + - component: {fileID: 904771132} m_Layer: 5 m_Name: UI m_TagString: Untagged @@ -1244,6 +2226,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1910810518} + - {fileID: 1090573972} m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1252,6 +2235,176 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!114 &904771132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 904771127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5759aa2a69d06bf42bc000d03390227e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &936677284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 936677285} + - component: {fileID: 936677289} + - component: {fileID: 936677288} + - component: {fileID: 936677287} + - component: {fileID: 936677286} + m_Layer: 5 + m_Name: GridDD + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &936677285 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936677284} + 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_Children: + - {fileID: 384628819} + - {fileID: 1155767808} + - {fileID: 1860074066} + m_Father: {fileID: 1910810518} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -730.74365, y: -186.34656} + m_SizeDelta: {x: 458.51343, y: 116.289} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &936677286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936677284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 822021643, guid: 46db69d45cc2c8f4cbecbd38f79f45ef, type: 3} + m_Name: + m_EditorClassIdentifier: + viewModelSelectionPropertyName: LoginVM.SelectedItem + viewModelOptionsPropertyName: LoginVM.Options + exceptionPropertyName: + exceptionAdapterTypeName: + selectionViewModelToUIAdapter: + selectionUIToViewModelAdapter: + optionsAdapter: +--- !u!114 &936677287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936677284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 936677288} + m_Template: {fileID: 1860074066} + m_CaptionText: {fileID: 384628820} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 853768761} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: Option A + m_Image: {fileID: 0} + - m_Text: Option B + m_Image: {fileID: 0} + - m_Text: Option C + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &936677288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936677284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &936677289 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936677284} + m_CullTransparentMesh: 1 --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -1335,6 +2488,186 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090573971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090573972} + - component: {fileID: 1090573976} + - component: {fileID: 1090573975} + - component: {fileID: 1090573974} + - component: {fileID: 1090573973} + m_Layer: 5 + m_Name: GamePnl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1090573972 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090573971} + 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_Children: + - {fileID: 38931174} + - {fileID: 1999675308} + - {fileID: 703123635} + m_Father: {fileID: 904771131} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1090573973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090573971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6e0c28d5fb230f4e90475005bc6511c, type: 3} + m_Name: + m_EditorClassIdentifier: + canvasType: 1 +--- !u!114 &1090573974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090573971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2eeaa71c61350f46902f312854272c9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1090573975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090573971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1090573976 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090573971} + m_CullTransparentMesh: 1 +--- !u!1 &1155767807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1155767808} + - component: {fileID: 1155767810} + - component: {fileID: 1155767809} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1155767808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1155767807} + 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_Children: [] + m_Father: {fileID: 936677285} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1155767809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1155767807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1155767810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1155767807} + m_CullTransparentMesh: 1 --- !u!1 &1171704728 GameObject: m_ObjectHideFlags: 0 @@ -1603,6 +2936,626 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1193650083} m_CullTransparentMesh: 1 +--- !u!1 &1262350653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1262350654} + - component: {fileID: 1262350657} + - component: {fileID: 1262350656} + - component: {fileID: 1262350655} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1262350654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262350653} + 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_Children: + - {fileID: 2072508973} + m_Father: {fileID: 1860074066} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1262350655 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262350653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1262350656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262350653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1262350657 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262350653} + m_CullTransparentMesh: 1 +--- !u!1 &1268431907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1268431908} + - component: {fileID: 1268431910} + - component: {fileID: 1268431909} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1268431908 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268431907} + 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_Children: [] + m_Father: {fileID: 219892341} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1268431909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268431907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1268431910 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268431907} + m_CullTransparentMesh: 1 +--- !u!1 &1296132510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1296132511} + - component: {fileID: 1296132513} + - component: {fileID: 1296132512} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1296132511 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296132510} + 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_Children: [] + m_Father: {fileID: 853334011} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1296132512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296132510} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 85 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: OK +--- !u!222 &1296132513 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296132510} + m_CullTransparentMesh: 1 +--- !u!1 &1353339734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1353339735} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1353339735 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353339734} + 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_Children: + - {fileID: 1889936408} + m_Father: {fileID: 1380663564} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1356808777 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1356808778} + - component: {fileID: 1356808780} + - component: {fileID: 1356808779} + m_Layer: 5 + m_Name: Failed! + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1356808778 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356808777} + 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_Children: [] + m_Father: {fileID: 432150340} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 450, y: 158.5659} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1356808779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356808777} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 60 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 6 + m_MaxSize: 60 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Login fail! + + message: TODO' +--- !u!222 &1356808780 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356808777} + m_CullTransparentMesh: 1 +--- !u!1 &1380663563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1380663564} + - component: {fileID: 1380663567} + - component: {fileID: 1380663566} + - component: {fileID: 1380663565} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1380663564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380663563} + 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_Children: + - {fileID: 1353339735} + m_Father: {fileID: 1860074066} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1380663565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380663563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1889936409} + m_HandleRect: {fileID: 1889936408} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1380663566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380663563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1380663567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380663563} + m_CullTransparentMesh: 1 +--- !u!1 &1418630375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418630376} + - component: {fileID: 1418630379} + - component: {fileID: 1418630378} + - component: {fileID: 1418630377} + m_Layer: 5 + m_Name: OKBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1418630376 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418630375} + 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_Children: + - {fileID: 696494506} + m_Father: {fileID: 432150340} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 450, y: 158.57} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1418630377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418630375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1418630378} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 432150341} + m_TargetAssemblyTypeName: ModalCloser, Assembly-CSharp + m_MethodName: DeactivateModal + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1418630378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418630375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1418630379 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418630375} + m_CullTransparentMesh: 1 --- !u!1 &1421356640 GameObject: m_ObjectHideFlags: 0 @@ -1737,6 +3690,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421356640} m_CullTransparentMesh: 1 +--- !u!1 &1603377539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1603377540} + - component: {fileID: 1603377542} + - component: {fileID: 1603377541} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1603377540 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603377539} + 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_Children: [] + m_Father: {fileID: 219892341} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1603377541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603377539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1603377542 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603377539} + m_CullTransparentMesh: 1 --- !u!1 &1738246286 GameObject: m_ObjectHideFlags: 0 @@ -1772,10 +3800,10 @@ RectTransform: m_Father: {fileID: 1910810518} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 51.230957, y: 127.109375} - m_SizeDelta: {x: -1587.1, y: -1020.4112} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 472.2052, y: -262.79144} + m_SizeDelta: {x: 690.12354, y: 116.87378} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1738246288 MonoBehaviour: @@ -2090,6 +4118,248 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1804642927} m_CullTransparentMesh: 1 +--- !u!1 &1829647100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1829647101} + - component: {fileID: 1829647103} + - component: {fileID: 1829647102} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1829647101 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829647100} + 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_Children: [] + m_Father: {fileID: 38931174} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1829647102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829647100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Logout + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 40.3 + m_fontSizeBase: 40.3 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1829647103 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829647100} + m_CullTransparentMesh: 1 +--- !u!1 &1860074065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1860074066} + - component: {fileID: 1860074069} + - component: {fileID: 1860074068} + - component: {fileID: 1860074067} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1860074066 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860074065} + 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_Children: + - {fileID: 1262350654} + - {fileID: 1380663564} + m_Father: {fileID: 936677285} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1860074067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860074065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 2072508973} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1262350654} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1380663565} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1860074068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860074065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1860074069 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860074065} + m_CullTransparentMesh: 1 --- !u!1 &1889810039 GameObject: m_ObjectHideFlags: 0 @@ -2099,7 +4369,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1889810040} - - component: {fileID: 1889810041} + - component: {fileID: 1889810042} m_Layer: 0 m_Name: MetaverseClient m_TagString: Untagged @@ -2121,7 +4391,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1889810041 +--- !u!114 &1889810042 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2130,9 +4400,84 @@ MonoBehaviour: m_GameObject: {fileID: 1889810039} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 932643cf6d618d24fa6abf5246c79907, type: 3} + m_Script: {fileID: 11500000, guid: 55c6aede8bf73ca48b10f0d9e2e771f0, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1889936407 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1889936408} + - component: {fileID: 1889936410} + - component: {fileID: 1889936409} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1889936408 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889936407} + 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_Children: [] + m_Father: {fileID: 1353339735} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1889936409 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889936407} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1889936410 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889936407} + m_CullTransparentMesh: 1 --- !u!1 &1910810517 GameObject: m_ObjectHideFlags: 0 @@ -2145,6 +4490,7 @@ GameObject: - component: {fileID: 1910810520} - component: {fileID: 1910810519} - component: {fileID: 1910810521} + - component: {fileID: 1910810522} m_Layer: 5 m_Name: LoginPnl m_TagString: Untagged @@ -2167,6 +4513,8 @@ RectTransform: - {fileID: 632800670} - {fileID: 512934468} - {fileID: 601590703} + - {fileID: 936677285} + - {fileID: 432150340} m_Father: {fileID: 904771131} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2225,6 +4573,154 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c2eeaa71c61350f46902f312854272c9, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &1910810522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910810517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6e0c28d5fb230f4e90475005bc6511c, type: 3} + m_Name: + m_EditorClassIdentifier: + canvasType: 0 +--- !u!1 &1999675307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1999675308} + - component: {fileID: 1999675313} + - component: {fileID: 1999675312} + - component: {fileID: 1999675311} + - component: {fileID: 1999675310} + - component: {fileID: 1999675309} + m_Layer: 5 + m_Name: Modal_LoginFailed + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1999675308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + 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_Children: + - {fileID: 159306964} + - {fileID: 853334011} + m_Father: {fileID: 1090573972} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1999675309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 09b7e9011827e984fb71ed88b07d1f0b, type: 3} + m_Name: + m_EditorClassIdentifier: + modalReference: {fileID: 1999675307} + modal_message: + modal_title: +--- !u!114 &1999675310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 8.97 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1999675311 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 1 + m_VerticalFit: 1 +--- !u!114 &1999675312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.46666667} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1999675313 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1999675307} + m_CullTransparentMesh: 1 --- !u!1 &2034268938 GameObject: m_ObjectHideFlags: 0 @@ -2277,3 +4773,39 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &2072508972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2072508973} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2072508973 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072508972} + 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_Children: + - {fileID: 219892341} + m_Father: {fileID: 1262350654} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} diff --git a/Assets/Tests.meta b/Assets/Tests.meta new file mode 100644 index 0000000..9a47d67 --- /dev/null +++ b/Assets/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42d992bf1ac1bbb4890470b5056957ed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/Test_LibreMetaverse.cs b/Assets/Tests/Test_LibreMetaverse.cs new file mode 100644 index 0000000..41a8a31 --- /dev/null +++ b/Assets/Tests/Test_LibreMetaverse.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; + +public class Test_LibreMetaverse +{ + // A Test behaves as an ordinary method + [Test] + public void Test_LibreMetaverseSimplePasses() + { + // Use the Assert class to test conditions + } + + // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use + // `yield return null;` to skip a frame. + [UnityTest] + public IEnumerator Test_LibreMetaverseWithEnumeratorPasses() + { + // Use the Assert class to test conditions. + // Use yield to skip a frame. + yield return null; + } +} diff --git a/Assets/Tests/Test_LibreMetaverse.cs.meta b/Assets/Tests/Test_LibreMetaverse.cs.meta new file mode 100644 index 0000000..edab6fb --- /dev/null +++ b/Assets/Tests/Test_LibreMetaverse.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac824162184a168419902e9f5aec27eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/Tests.asmdef b/Assets/Tests/Tests.asmdef new file mode 100644 index 0000000..ae3de86 --- /dev/null +++ b/Assets/Tests/Tests.asmdef @@ -0,0 +1,22 @@ +{ + "name": "Tests", + "rootNamespace": "", + "references": [ + "UnityEngine.TestRunner", + "UnityEditor.TestRunner", + "LibreMetaverseAssembly" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Tests/Tests.asmdef.meta b/Assets/Tests/Tests.asmdef.meta new file mode 100644 index 0000000..c85e51b --- /dev/null +++ b/Assets/Tests/Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6683c01cea0f3647a5e6e64d7290bf1 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity.meta b/Assets/Unity.meta new file mode 100644 index 0000000..43a0c47 --- /dev/null +++ b/Assets/Unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2cfae097021b49f4e8db6772f89117e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/Global.cs b/Assets/Unity/Global.cs new file mode 100644 index 0000000..8249b89 --- /dev/null +++ b/Assets/Unity/Global.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Raindrop; + +public class Global : MonoBehaviour +{ + //this static-new is like a globally accessible instance without a singleton! :) + public static RaindropClient MainRaindropInstance = new RaindropClient(); + //this one manages the viewmodels and the stacking of UI modals. + public static RaindropViewManager RaindropVM = new RaindropViewManager(); + + + public string app_data_Path { get; private set; } + + private void Awake() + { + //initialise your 'statics' + + //Get the path of the Game data folder + app_data_Path = Application.persistentDataPath; + + //Output the Game data path to the console + Debug.Log("dataPath : " + app_data_Path); + + MainRaindropInstance.setConfigPath(app_data_Path); + } + +} diff --git a/Assets/Unity/Global.cs.meta b/Assets/Unity/Global.cs.meta new file mode 100644 index 0000000..f0c91f9 --- /dev/null +++ b/Assets/Unity/Global.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 55c6aede8bf73ca48b10f0d9e2e771f0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/RaindropViewManager.cs b/Assets/Unity/RaindropViewManager.cs new file mode 100644 index 0000000..6c707a7 --- /dev/null +++ b/Assets/Unity/RaindropViewManager.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +namespace Raindrop +{ + public enum CanvasType + { + Login, + Game + } + + public class RaindropViewManager + { + public CanvasManager cm; + + //manages all child Viewmodels + public RaindropViewManager() + { + Debug.Log("VM manager setup ok"); + + //subscribe all events from raindropclient + Global.MainRaindropInstance.LoginCompleted += MainRaindropInstance_LoginCompleted; + Global.MainRaindropInstance.LoginFailed += MainRaindropInstance_LoginFailed; + + } + + //register the canvas manager which is in a GO, who has the responsibility of flipping pages. + public void registerWithRaindropClient(CanvasManager canvasManager) + { + cm = canvasManager; + //start up the initial login panel + pushLoginView(); + } + private void pushLoginView() + { + cm.pushCanvas(CanvasType.Login); + } + + private void MainRaindropInstance_LoginFailed() + { + showFailedLoginModal(); + } + + private void showFailedLoginModal() + { + throw new NotImplementedException(); + } + + private void MainRaindropInstance_LoginCompleted() + { + cm.popCanvas(); + showSuccessLoginModal(); + } + + private void removeLoginView() + { + throw new NotImplementedException(); + } + + private void showSuccessLoginModal() + { + throw new NotImplementedException(); + } + } +} diff --git a/Assets/Unity/RaindropViewManager.cs.meta b/Assets/Unity/RaindropViewManager.cs.meta new file mode 100644 index 0000000..699eb8d --- /dev/null +++ b/Assets/Unity/RaindropViewManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b28c45eaa9e52bf44a89ae2585671419 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/Singleton.cs b/Assets/Unity/Singleton.cs new file mode 100644 index 0000000..da9b549 --- /dev/null +++ b/Assets/Unity/Singleton.cs @@ -0,0 +1,52 @@ +using UnityEngine; + +public abstract class Singleton : MonoBehaviour where T : Component +{ + private static T instance; + + private static bool m_applicationIsQuitting = false; + + public static T GetInstance() + { + if (m_applicationIsQuitting) { return null; } + + if (instance == null) + { + instance = FindObjectOfType(); + if (instance == null) + { + GameObject obj = new GameObject(); + obj.name = typeof(T).Name; + instance = obj.AddComponent(); + } + } + return instance; + } + + /* IMPORTANT!!! To use Awake in a derived class you need to do it this way + * protected override void Awake() + * { + * base.Awake(); + * //Your code goes here + * } + * */ + + protected virtual void Awake() + { + if (instance == null) + { + instance = this as T; + DontDestroyOnLoad(gameObject); + } + else if (instance != this as T) + { + Destroy(gameObject); + } + else { DontDestroyOnLoad(gameObject); } + } + + private void OnApplicationQuit() + { + m_applicationIsQuitting = true; + } +} diff --git a/Assets/Unity/Singleton.cs.meta b/Assets/Unity/Singleton.cs.meta new file mode 100644 index 0000000..bec5f25 --- /dev/null +++ b/Assets/Unity/Singleton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 973776a5b4c1d084bac0227a07fd79c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/UI.meta b/Assets/Unity/UI.meta new file mode 100644 index 0000000..7f4c9db --- /dev/null +++ b/Assets/Unity/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00dae98274c946945baeeae92bee796e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/UI/CanvasIdentifier.cs b/Assets/Unity/UI/CanvasIdentifier.cs new file mode 100644 index 0000000..b0f0172 --- /dev/null +++ b/Assets/Unity/UI/CanvasIdentifier.cs @@ -0,0 +1,9 @@ +using Raindrop; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class CanvasIdentifier : MonoBehaviour +{ + public CanvasType canvasType; +} diff --git a/Assets/Unity/UI/CanvasIdentifier.cs.meta b/Assets/Unity/UI/CanvasIdentifier.cs.meta new file mode 100644 index 0000000..78ff7ae --- /dev/null +++ b/Assets/Unity/UI/CanvasIdentifier.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a6e0c28d5fb230f4e90475005bc6511c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/UI/CanvasManager.cs b/Assets/Unity/UI/CanvasManager.cs new file mode 100644 index 0000000..b5c7ac6 --- /dev/null +++ b/Assets/Unity/UI/CanvasManager.cs @@ -0,0 +1,59 @@ +using Raindrop; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class CanvasManager : Singleton +{ + List canvasControllerList; + //CanvasIdentifier lastActiveCanvas; + public Stack activeCanvasStack = new Stack(); + + + protected override void Awake() + { + base.Awake(); + canvasControllerList = GetComponentsInChildren().ToList(); + canvasControllerList.ForEach(x => x.gameObject.SetActive(false)); + pushCanvas(CanvasType.Login); + + //canvas manager (attached to the UI GO) should register with the globals. so that the globals can acess them + Global.RaindropVM.registerWithRaindropClient(this); + + } + public void pushCanvas(CanvasType _type) + { + if (activeCanvasStack.Count() != 0) + { + var lastActiveCanvas = activeCanvasStack.Peek(); + //i think the old canvas will essentially be 'frozen in time' + lastActiveCanvas.gameObject.SetActive(false); + } + + CanvasIdentifier desiredCanvas = canvasControllerList.Find(x => x.canvasType == _type); + if (desiredCanvas != null) + { + desiredCanvas.gameObject.SetActive(true); + activeCanvasStack.Push (desiredCanvas); + } + else { Debug.LogWarning("The desired canvas was not found!"); } + } + + public void popCanvas() + { + if (activeCanvasStack.Count() == 0) + { + return; + } + + var lastActiveCanvas = activeCanvasStack.Peek(); + if (lastActiveCanvas != null) + { + lastActiveCanvas.gameObject.SetActive(false); + } + + + } +} diff --git a/Assets/Unity/UI/CanvasManager.cs.meta b/Assets/Unity/UI/CanvasManager.cs.meta new file mode 100644 index 0000000..f89100e --- /dev/null +++ b/Assets/Unity/UI/CanvasManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5759aa2a69d06bf42bc000d03390227e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity/UI/LoginVM.cs b/Assets/Unity/UI/LoginVM.cs new file mode 100644 index 0000000..b8adb31 --- /dev/null +++ b/Assets/Unity/UI/LoginVM.cs @@ -0,0 +1,191 @@ +using OpenMetaverse; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using UnityEngine; +using UnityWeld.Binding; + +[Binding] +public class LoginVM : MonoBehaviour, INotifyPropertyChanged +{ + + #region state + + private string username; + private string password; + private enum State + { + init, + connected, + disconnected, + } + private State state = State.init; + private readonly string INIT_USERNAME = "username"; + private readonly string INIT_PASSWORD = "password"; + + [Binding] + public string Username + { + get + { + return username; + } + set + { + if (username == value) + { + return; // No change. + } + + username = value; + + OnPropertyChanged(nameof(Username)); + } + } + [Binding] + public string Password + { + get + { + return password; + } + set + { + if (password == value) + { + return; // No change. + } + + password = value; + + OnPropertyChanged(nameof(Password)); + } + } + + private string[] options = new string[] + { + "Options-TODO", + "Option-B", + "Option-C", + "Option-F" + }; + + private string selectedItem = "Options-TODO"; + + #endregion + + [Binding] + public string SelectedItem + { + get + { + return selectedItem; + } + set + { + if (selectedItem == value) + { + return; // No change. + } + + selectedItem = value; + + OnPropertyChanged(nameof(SelectedItem)); + } + } + + + public string[] Options + { + get + { + return options; + } + } + + + + + #region behavior + /// + /// Event to raise when a property's value has changed. + /// + public event PropertyChangedEventHandler PropertyChanged; + + // Use this for initialization + void Start() + { + initialise(); + Global.MainRaindropInstance.LoginCompleted += cb_LoginCompleted; + Global.MainRaindropInstance.LoginFailed += cb_LoginFailed; + + } + + private void cb_LoginFailed() + { + string message = "meow"; + showModal("Login failed.", message); + } + + private void showModal(string v, string message) + { + + Debug.Log("MODAL:\n" + v + "\n" +message); + } + + public void cb_LoginCompleted() + { + string message = "meow"; + showModal("Login success!", message); + + } + + private static void showModalLoginSuccess() + { + + + } + + + + private void initialise() + { + //reset user and pw fields + username = INIT_USERNAME; + password = INIT_PASSWORD; + + } + + private void OnPropertyChanged(string propertyName) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + [Binding] + public void OnLoginBtnClick() + { + + //sanity + if (username == INIT_USERNAME || password == INIT_PASSWORD) + { + Debug.LogError("loggin button but username and password are not defined!"); + return; + } + Global.MainRaindropInstance.connectTo(Username,Password); + + } + + [Binding] + public void OnLogoutBtnClick() + { + Debug.Log("logout btn"); + + // Logout of simulator + Global.MainRaindropInstance.Client.Network.Logout(); + } + + #endregion +} diff --git a/Assets/LoginVM.cs.meta b/Assets/Unity/UI/LoginVM.cs.meta similarity index 100% rename from Assets/LoginVM.cs.meta rename to Assets/Unity/UI/LoginVM.cs.meta diff --git a/Assets/Unity/UI/ModalLogic.cs b/Assets/Unity/UI/ModalLogic.cs new file mode 100644 index 0000000..61c9955 --- /dev/null +++ b/Assets/Unity/UI/ModalLogic.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ModalLogic : MonoBehaviour +{ + + [SerializeField] + public GameObject modalReference; + [SerializeField] + public string modal_message; + [SerializeField] + public string modal_title; + + + public void DeactivateModal() + { + modalReference.SetActive(false); + + } + + + public void SetAndShowModal(string message, string title) + { + modal_title = title; + modal_message = message; + + modalReference.SetActive(true); + } +} diff --git a/Assets/Unity/UI/ModalLogic.cs.meta b/Assets/Unity/UI/ModalLogic.cs.meta new file mode 100644 index 0000000..816693a --- /dev/null +++ b/Assets/Unity/UI/ModalLogic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 09b7e9011827e984fb71ed88b07d1f0b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GlobalSuppressions.cs b/GlobalSuppressions.cs new file mode 100644 index 0000000..f19b25c --- /dev/null +++ b/GlobalSuppressions.cs @@ -0,0 +1,11 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("Build", "UNT0013:SerializeField attribute is invalid or redundant for property or field: 'modalRef'.", Justification = "", Scope = "member", Target = "~F:LoginVM.modalRef")] +[assembly: SuppressMessage("Build", "UNT0013:SerializeField attribute is invalid or redundant for property or field: 'modal_message'.", Justification = "", Scope = "member", Target = "~F:ModalLogic.modal_message")] +[assembly: SuppressMessage("Build", "UNT0013:SerializeField attribute is invalid or redundant for property or field: 'modal_title'.", Justification = "", Scope = "member", Target = "~F:ModalLogic.modal_title")] +[assembly: SuppressMessage("Build", "UNT0013:SerializeField attribute is invalid or redundant for property or field: 'modalReference'.", Justification = "", Scope = "member", Target = "~F:ModalLogic.modalReference")]