From 3778b0368c69bae1197e0243b5c04d957d5f4007 Mon Sep 17 00:00:00 2001 From: kjjohnsen Date: Sun, 13 Nov 2022 22:32:33 -0500 Subject: [PATCH] Added VEL Voice and sample --- .../Packages/VelNetUnity/Runtime/Plugins.meta | 8 + .../VelNetUnity/Runtime/Plugins/Concentus.dll | Bin 0 -> 325120 bytes .../Runtime/Plugins/Concentus.dll.meta | 33 + .../VelNetUnity/Runtime/Util/VelVoice.cs | 262 + .../VelNetUnity/Runtime/Util/VelVoice.cs.meta | 11 + .../Runtime/Util/VelVoicePlayer.cs | 107 + .../Runtime/Util/VelVoicePlayer.cs.meta | 11 + .../Materials.meta | 0 .../Materials/TransparentMat.mat | 0 .../Materials/TransparentMat.mat.meta | 0 .../Prefabs.meta | 0 .../Prefabs/PlayerPrefab.prefab | 0 .../Prefabs/PlayerPrefab.prefab.meta | 0 .../Prefabs/TestNetworkedGameObject.prefab | 0 .../TestNetworkedGameObject.prefab.meta | 0 .../Scenes.meta | 0 .../Scenes/Demo All.unity | 0 .../Scenes/Demo All.unity.meta | 0 .../Scenes/Simple Connection Example.unity | 0 .../Simple Connection Example.unity.meta | 0 .../Scripts.meta | 0 .../Scripts/CustomMessageTest.cs | 0 .../Scripts/CustomMessageTest.cs.meta | 0 .../Scripts/MouseDragger.cs | 0 .../Scripts/MouseDragger.cs.meta | 0 .../Scripts/NetworkGUI.cs | 0 .../Scripts/NetworkGUI.cs.meta | 0 .../Scripts/PlayerController.cs | 0 .../Scripts/PlayerController.cs.meta | 0 .../Scripts/RPCTest.cs | 0 .../Scripts/RPCTest.cs.meta | 0 .../Scripts/SyncedTextbox.cs | 0 .../Scripts/SyncedTextbox.cs.meta | 0 .../Scripts/VelNetMan.cs | 0 .../Scripts/VelNetMan.cs.meta | 0 .../Samples~/ExampleVelVoice/Materials.meta | 8 + .../Materials/TransparentMat.mat | 79 + .../Materials/TransparentMat.mat.meta | 8 + .../Samples~/ExampleVelVoice/Prefabs.meta | 8 + .../Prefabs/PlayerPrefab.prefab | 429 ++ .../Prefabs/PlayerPrefab.prefab.meta | 7 + .../Prefabs/TestNetworkedGameObject.prefab | 167 + .../TestNetworkedGameObject.prefab.meta | 7 + .../Samples~/ExampleVelVoice/Scenes.meta | 8 + .../Scenes/VelVoiceSample.unity | 4365 +++++++++++++++++ .../Scenes/VelVoiceSample.unity.meta | 7 + .../Samples~/ExampleVelVoice/Scripts.meta | 8 + .../Scripts/CustomMessageTest.cs | 22 + .../Scripts/CustomMessageTest.cs.meta | 11 + .../ExampleVelVoice/Scripts/MouseDragger.cs | 44 + .../Scripts/MouseDragger.cs.meta | 11 + .../ExampleVelVoice/Scripts/NetworkGUI.cs | 66 + .../Scripts/NetworkGUI.cs.meta | 11 + .../Scripts/PlayerController.cs | 83 + .../Scripts/PlayerController.cs.meta | 11 + .../ExampleVelVoice/Scripts/RPCTest.cs | 26 + .../ExampleVelVoice/Scripts/RPCTest.cs.meta | 11 + .../ExampleVelVoice/Scripts/SyncedTextbox.cs | 24 + .../Scripts/SyncedTextbox.cs.meta | 11 + .../ExampleVelVoice/Scripts/VelNetMan.cs | 16 + .../ExampleVelVoice/Scripts/VelNetMan.cs.meta | 11 + .../Packages/VelNetUnity/package.json | 13 +- 62 files changed, 5900 insertions(+), 4 deletions(-) create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins/Concentus.dll create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins/Concentus.dll.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoice.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoice.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs.meta rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Materials.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Materials/TransparentMat.mat (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Materials/TransparentMat.mat.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Prefabs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Prefabs/PlayerPrefab.prefab (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Prefabs/PlayerPrefab.prefab.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Prefabs/TestNetworkedGameObject.prefab (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Prefabs/TestNetworkedGameObject.prefab.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scenes.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scenes/Demo All.unity (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scenes/Demo All.unity.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scenes/Simple Connection Example.unity (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scenes/Simple Connection Example.unity.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/CustomMessageTest.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/CustomMessageTest.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/MouseDragger.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/MouseDragger.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/NetworkGUI.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/NetworkGUI.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/PlayerController.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/PlayerController.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/RPCTest.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/RPCTest.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/SyncedTextbox.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/SyncedTextbox.cs.meta (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/VelNetMan.cs (100%) rename TestVelGameServer/Packages/VelNetUnity/Samples~/{Example => ExampleDissonance}/Scripts/VelNetMan.cs.meta (100%) create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs.meta create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs create mode 100644 TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins.meta b/TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins.meta new file mode 100644 index 0000000..8745142 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a3b9ce0fbdeaeb49ba34712af854547 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins/Concentus.dll b/TestVelGameServer/Packages/VelNetUnity/Runtime/Plugins/Concentus.dll new file mode 100644 index 0000000000000000000000000000000000000000..e4bbceaef692dab3c24b00e845aebf000ea9d7c7 GIT binary patch literal 325120 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%0DGD_z+25dPLthc_H>!-cC!N5%Nz&1 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 SbDT` frameBuffer; + + List sendQueue = new List(); + List encoderArrayPool = new List(); + List decoderArrayPool = new List(); + int lastUsedEncoderPool = 0; + int lastUsedDecoderPool = 0; + int encoderBufferIndex = 0; + int size = 0; + int lastPosition = 0; + string device = ""; + int encoder_frame_size = 640; + double micSampleTime; + int opusFreq = 16000; + double encodeTime = 1 / (double)16000;//16000.0; + double lastMicSample; //holds the last mic sample, in case we need to interpolate it + double sampleTimer = 0; //increments with every mic sample, but when over the encodeTime, causes a sample and subtracts that encode time + EventWaitHandle waiter; + float silenceThreshold = .02f; //average volume of packet + int numSilent = 0; //number of silent packets detected + int minSilencePacketsToStop = 5; + double averageVolume = 0; + Thread t; + public Action encodedFrameAvailable = delegate { }; + + // Start is called before the first frame update + void Start() + { + opusEncoder = new OpusEncoder(opusFreq, 1, Concentus.Enums.OpusApplication.OPUS_APPLICATION_VOIP); + opusDecoder = new OpusDecoder(opusFreq, 1); + encoderBuffer = new float[opusFreq]; + frameBuffer = new List(); + //string path = Application.persistentDataPath + "/" + "mic.csv"; //this was for writing mic samples + //sw = new StreamWriter(path, false); + + + + + for (int i = 0; i < 100; i++) //pre allocate a bunch of arrays for microphone frames (probably will only need 1 or 2) + { + encoderArrayPool.Add(new float[encoder_frame_size]); + decoderArrayPool.Add(new FixedArray(encoder_frame_size)); + + } + + t = new Thread(encodeThread); + waiter = new EventWaitHandle(true, EventResetMode.AutoReset); + t.Start(); + } + + public void startMicrophone(string mic) + { + Debug.Log(mic); + device = mic; + int minFreq, maxFreq; + Microphone.GetDeviceCaps(device, out minFreq, out maxFreq); + Debug.Log("Freq: " + minFreq + ":" + maxFreq); + clip = Microphone.Start(device, true, 10, 48000); + micSampleTime = 1.0 / clip.frequency; + + Debug.Log("Frequency:" + clip.frequency); + tempData = new float[clip.samples * clip.channels]; + Debug.Log("channels: " + clip.channels); + } + + private void OnApplicationQuit() + { + t.Abort(); + + //sw.Flush(); + //sw.Close(); + + } + + float[] getNextEncoderPool() + { + lastUsedEncoderPool = (lastUsedEncoderPool + 1) % encoderArrayPool.Count; + return encoderArrayPool[lastUsedEncoderPool]; + } + + FixedArray getNextDecoderPool() + { + lastUsedDecoderPool = (lastUsedDecoderPool + 1) % decoderArrayPool.Count; + + FixedArray toReturn = decoderArrayPool[lastUsedDecoderPool]; + toReturn.count = 0; + return toReturn; + } + // Update is called once per frame + void Update() + { + + if (clip != null) + { + int micPosition = Microphone.GetPosition(device); + if (micPosition == lastPosition) + { + return; //sometimes the microphone will not advance + } + int numSamples = 0; + float[] temp; + if (micPosition > lastPosition) + { + numSamples = micPosition - lastPosition; + } + else + { + //whatever was left + numSamples = (tempData.Length - lastPosition) + micPosition; + } + + + //Debug.Log(micPosition); + temp = new float[numSamples]; //this has to be dynamically allocated because of the way clip.GetData works (annoying...maybe use native mic) + clip.GetData(temp, lastPosition); + lastPosition = micPosition; + + + //this code does 2 things. 1) it samples the microphone data to be exactly what the encoder wants, 2) it forms encoder packets + for (int i = 0; i < temp.Length; i++) //iterate through temp, which contans that mic samples at 44.1khz + { + sampleTimer += micSampleTime; + if (sampleTimer > encodeTime) + { + + //take a sample between the last sample and the current sample + + double diff = sampleTimer - encodeTime; //this represents how far past this sample actually is + double t = diff / micSampleTime; //this should be between 0 and 1 + double v = lastMicSample * (1 - t) + temp[i] * t; + sampleTimer -= encodeTime; + + encoderBuffer[encoderBufferIndex++] = (float)v; + averageVolume += v > 0 ? v : -v; + if (encoderBufferIndex > encoder_frame_size) //this is when a new packet gets created + { + + + + averageVolume = averageVolume / encoder_frame_size; + + if (averageVolume < silenceThreshold) + { + numSilent++; + } + else + { + numSilent = 0; + } + averageVolume = 0; + + if (numSilent < minSilencePacketsToStop) + { + + float[] frame = getNextEncoderPool(); //these are predefined sizes, so we don't have to allocate a new array + //lock the frame buffer + + System.Array.Copy(encoderBuffer, frame, encoder_frame_size); //nice and fast + + + lock (frameBuffer) + { + + frameBuffer.Add(frame); + waiter.Set(); //signal the encode frame + } + } + encoderBufferIndex = 0; + + } + } + lastMicSample = temp[i]; //remember the last sample, just in case this is the first one next time + } + } + + lock (sendQueue) + { + foreach (FixedArray f in sendQueue) + { + encodedFrameAvailable(f); + + } + sendQueue.Clear(); + } + + } + + public float[] decodeOpusData(byte[] data, int count) + { + float[] t = getNextEncoderPool(); + opusDecoder.Decode(data, 0, count, t, 0, encoder_frame_size); + return t; + } + + void encodeThread() + { + + while (waiter.WaitOne(Timeout.Infinite)) //better to wait on signal + { + + List toEncode = new List(); + + + lock (frameBuffer) + { + foreach (float[] frame in frameBuffer) + { + toEncode.Add(frame); + } + frameBuffer.Clear(); + } + + foreach (float[] frame in toEncode) + { + FixedArray a = getNextDecoderPool(); + int out_data_size = opusEncoder.Encode(frame, 0, encoder_frame_size, a.array, 0, a.array.Length); + a.count = out_data_size; + //add frame to the send buffer + lock (sendQueue) + { + sendQueue.Add(a); + } + } + + } + + } + + + + + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoice.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoice.cs.meta new file mode 100644 index 0000000..b5e500c --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoice.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 798d4aea9be4cfc4297706b051a11b0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs new file mode 100644 index 0000000..2ab3166 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs @@ -0,0 +1,107 @@ +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; +namespace VelNet +{ + public class VelVoicePlayer : NetworkComponent + { + + public VelVoice voiceSystem; //must be set for the player only + public AudioSource source; //must be set for the clone only + AudioClip myClip; + int bufferedAmount = 0; + int playedAmount = 0; + int lastTime = 0; + float[] empty = new float[1000]; //a buffer of 0s to force silence, because playing doesn't stop on demand + float delayStartTime; + public override void ReceiveBytes(byte[] message) + { + float[] temp = voiceSystem.decodeOpusData(message, message.Length); + myClip.SetData(temp, bufferedAmount % source.clip.samples); + bufferedAmount += temp.Length; + myClip.SetData(empty, bufferedAmount % source.clip.samples); //buffer some empty data because otherwise you'll hear sound (but it'll be overwritten by the next sample) + + if (!source.isPlaying) + { + delayStartTime = Time.time; //I've received a packet but I haven't played it + } + } + + + // Start is called before the first frame update + void Start() + { + voiceSystem = GameObject.FindObjectOfType(); + if (voiceSystem == null) + { + Debug.LogError("No microphone found. Make sure you have one in the scene."); + return; + } + if (networkObject.IsMine) + { + voiceSystem.encodedFrameAvailable += (frame) => + { + //float[] temp = new float[frame.count]; + //System.Array.Copy(frame.array, temp, frame.count); + MemoryStream mem = new MemoryStream(); + BinaryWriter writer = new BinaryWriter(mem); + writer.Write(frame.array, 0, frame.count); + this.SendBytes(mem.ToArray(), false); + + + + }; + } + + myClip = AudioClip.Create(this.name, 16000 * 7, 1, 16000, false); + source.clip = myClip; + source.loop = true; + source.Pause(); + + } + + // Update is called once per frame + void Update() + { + + if (bufferedAmount > playedAmount && !source.isPlaying) + { + if ((bufferedAmount - playedAmount > 1000) || (Time.time - delayStartTime) > .1f) //this seems to make the quality better + { + source.Play(); + } + else + { + + return; + } + } + else if (playedAmount >= bufferedAmount) + { + playedAmount = bufferedAmount; + source.Pause(); + source.timeSamples = bufferedAmount % source.clip.samples; + } + //Debug.Log(playedAmount); + if (source.timeSamples >= lastTime) + { + playedAmount += (source.timeSamples - lastTime); + } + else //repeated + { + + int total = source.clip.samples - lastTime + source.timeSamples; + playedAmount += total; + } + lastTime = source.timeSamples; + + + } + + + + + } + +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs.meta new file mode 100644 index 0000000..c6c775b --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Runtime/Util/VelVoicePlayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5aa9e635c1bd5c41b0847806a597f45 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials/TransparentMat.mat b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials/TransparentMat.mat similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials/TransparentMat.mat rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials/TransparentMat.mat diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials/TransparentMat.mat.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials/TransparentMat.mat.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Materials/TransparentMat.mat.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Materials/TransparentMat.mat.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/PlayerPrefab.prefab b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/PlayerPrefab.prefab similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/PlayerPrefab.prefab rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/PlayerPrefab.prefab diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/PlayerPrefab.prefab.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/PlayerPrefab.prefab.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/PlayerPrefab.prefab.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/PlayerPrefab.prefab.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/TestNetworkedGameObject.prefab b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/TestNetworkedGameObject.prefab similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/TestNetworkedGameObject.prefab rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/TestNetworkedGameObject.prefab diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/TestNetworkedGameObject.prefab.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/TestNetworkedGameObject.prefab.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Prefabs/TestNetworkedGameObject.prefab.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Prefabs/TestNetworkedGameObject.prefab.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Demo All.unity b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Demo All.unity similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Demo All.unity rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Demo All.unity diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Demo All.unity.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Demo All.unity.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Demo All.unity.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Demo All.unity.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Simple Connection Example.unity b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Simple Connection Example.unity similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Simple Connection Example.unity rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Simple Connection Example.unity diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Simple Connection Example.unity.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Simple Connection Example.unity.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scenes/Simple Connection Example.unity.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scenes/Simple Connection Example.unity.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/CustomMessageTest.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/CustomMessageTest.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/CustomMessageTest.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/CustomMessageTest.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/CustomMessageTest.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/CustomMessageTest.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/CustomMessageTest.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/CustomMessageTest.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/MouseDragger.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/MouseDragger.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/MouseDragger.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/MouseDragger.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/MouseDragger.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/MouseDragger.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/MouseDragger.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/MouseDragger.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/NetworkGUI.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/NetworkGUI.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/NetworkGUI.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/NetworkGUI.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/NetworkGUI.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/NetworkGUI.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/NetworkGUI.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/NetworkGUI.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/PlayerController.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/PlayerController.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/PlayerController.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/PlayerController.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/PlayerController.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/PlayerController.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/PlayerController.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/PlayerController.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/RPCTest.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/RPCTest.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/RPCTest.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/RPCTest.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/RPCTest.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/RPCTest.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/RPCTest.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/RPCTest.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/SyncedTextbox.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/SyncedTextbox.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/SyncedTextbox.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/SyncedTextbox.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/SyncedTextbox.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/SyncedTextbox.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/SyncedTextbox.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/SyncedTextbox.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/VelNetMan.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/VelNetMan.cs similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/VelNetMan.cs rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/VelNetMan.cs diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/VelNetMan.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/VelNetMan.cs.meta similarity index 100% rename from TestVelGameServer/Packages/VelNetUnity/Samples~/Example/Scripts/VelNetMan.cs.meta rename to TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleDissonance/Scripts/VelNetMan.cs.meta diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials.meta new file mode 100644 index 0000000..38f5869 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc0ae145afb98164493d097e29dfb3bd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat new file mode 100644 index 0000000..194ed0a --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat @@ -0,0 +1,79 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TransparentMat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 0 + - _Metallic: 0 + - _Mode: 3 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 0.03137255} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat.meta new file mode 100644 index 0000000..ab60bc1 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Materials/TransparentMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6fad1ca32acea73489c2c4b898cdb9d4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs.meta new file mode 100644 index 0000000..af051bd --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18b28d1150d229647ae76efe2bea95f8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab new file mode 100644 index 0000000..c966287 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab @@ -0,0 +1,429 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2802320351940726854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6602982999811082154} + - component: {fileID: 6433756913090684124} + - component: {fileID: 6919422133110223353} + m_Layer: 0 + m_Name: Range + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6602982999811082154 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2802320351940726854} + m_LocalRotation: {x: -0.70710635, y: -0, z: -0, w: 0.7071073} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 8, y: 0.1, z: 8} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3076416102083120807} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!33 &6433756913090684124 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2802320351940726854} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6919422133110223353 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2802320351940726854} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6fad1ca32acea73489c2c4b898cdb9d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6139051692386484099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3076416102083120807} + - component: {fileID: 8527011532923434593} + - component: {fileID: 6854617867369839} + - component: {fileID: 5845716565458182149} + - component: {fileID: 9102273340480352682} + - component: {fileID: -4404668399269848200} + - component: {fileID: 7564913803199044469} + - component: {fileID: 4663964746634023742} + - component: {fileID: 7756407589087806652} + m_Layer: 0 + m_Name: PlayerPrefab + m_TagString: TestSphere + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3076416102083120807 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6602982999811082154} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8527011532923434593 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6854617867369839 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &5845716565458182149 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &9102273340480352682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5515094c5c544b6b8ed7fd51a86548d4, type: 3} + m_Name: + m_EditorClassIdentifier: + ownershipLocked: 1 + networkId: + sceneNetworkId: 0 + prefabName: + isSceneObject: 0 + syncedComponents: + - {fileID: -4404668399269848200} + - {fileID: 7564913803199044469} + - {fileID: 4663964746634023742} +--- !u!114 &-4404668399269848200 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 89e3af759df774692a566a166b4bf69b, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 9102273340480352682} + serializationRateHz: 30 + hybridOnChangeCompression: 1 + color: {r: 0, g: 0, b: 0, a: 0} +--- !u!114 &7564913803199044469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f1f9b0bbd93a484a987c51f1107ebe5, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 9102273340480352682} + serializationRateHz: 60 + hybridOnChangeCompression: 1 + position: 1 + rotation: 1 + scale: 0 + useLocalTransform: 0 + teleportDistance: 0 + teleportAngle: 0 +--- !u!114 &4663964746634023742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5aa9e635c1bd5c41b0847806a597f45, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 9102273340480352682} + voiceSystem: {fileID: 0} + source: {fileID: 7756407589087806652} +--- !u!82 &7756407589087806652 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6139051692386484099} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.002 + value: 1 + inSlope: -500.20065 + outSlope: -500.20065 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.004 + value: 0.5 + inSlope: -125.05016 + outSlope: -125.05016 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.008 + value: 0.25 + inSlope: -31.26254 + outSlope: -31.26254 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.016 + value: 0.125 + inSlope: -7.815635 + outSlope: -7.815635 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.032 + value: 0.0625 + inSlope: -1.9539088 + outSlope: -1.9539088 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.064 + value: 0.02798462 + inSlope: -0.2878108 + outSlope: -0.2878108 + tangentMode: 0 + weightedMode: 0 + inWeight: 1 + outWeight: 0 + - serializedVersion: 3 + time: 0.128 + value: 0.015625 + inSlope: -0.1221193 + outSlope: -0.1221193 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.256 + value: 0.0078125 + inSlope: -0.030529825 + outSlope: -0.030529825 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.512 + value: 0.00390625 + inSlope: -0.0076324563 + outSlope: -0.0076324563 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.002 + inSlope: -0.002000801 + outSlope: -0.002000801 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab.meta new file mode 100644 index 0000000..7899882 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/PlayerPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d4158ab9c4a204cdbba28d3273fc1fb3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab new file mode 100644 index 0000000..3be87ea --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6003361529827848619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7099230484513283147} + - component: {fileID: 8811139817265458480} + - component: {fileID: 3776025769317911085} + - component: {fileID: 1426238303320144522} + m_Layer: 0 + m_Name: Cube + m_TagString: TestSphere + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7099230484513283147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003361529827848619} + 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: 8565720275311462455} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8811139817265458480 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003361529827848619} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3776025769317911085 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003361529827848619} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1426238303320144522 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003361529827848619} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &8565720275311462453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8565720275311462455} + - component: {fileID: 3951900052977689805} + - component: {fileID: 8565720275311462452} + m_Layer: 0 + m_Name: TestNetworkedGameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8565720275311462455 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8565720275311462453} + 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: 7099230484513283147} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3951900052977689805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8565720275311462453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5515094c5c544b6b8ed7fd51a86548d4, type: 3} + m_Name: + m_EditorClassIdentifier: + ownershipLocked: 0 + networkId: + sceneNetworkId: 0 + prefabName: + isSceneObject: 0 + syncedComponents: + - {fileID: 8565720275311462452} +--- !u!114 &8565720275311462452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8565720275311462453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f1f9b0bbd93a484a987c51f1107ebe5, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 3951900052977689805} + serializationRateHz: 60 + hybridOnChangeCompression: 1 + useLocalTransform: 0 + teleportDistance: 0 + teleportAngle: 0 diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab.meta new file mode 100644 index 0000000..0743d13 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Prefabs/TestNetworkedGameObject.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e4a023f70e01405e8b249a4488fe319 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes.meta new file mode 100644 index 0000000..6c58880 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8bb9027566930042942da486c1e29e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity new file mode 100644 index 0000000..4d6c2c1 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity @@ -0,0 +1,4365 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.5137255, g: 0.53333336, b: 0.5647059, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 652307110} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: d1b34f106c04378428823df374b0e07c, type: 2} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &2034436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2034439} + - component: {fileID: 2034438} + - component: {fileID: 2034437} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2034437 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2034436} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Username +--- !u!222 &2034438 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2034436} + m_CullTransparentMesh: 1 +--- !u!224 &2034439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2034436} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 626742070} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &117638563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 117638565} + - component: {fileID: 117638567} + - component: {fileID: 117638566} + - component: {fileID: 117638564} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &117638564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + 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: 117638566} + m_Template: {fileID: 927188573} + m_CaptionText: {fileID: 138032021} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 720503450} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: NetworkGUI, Assembly-CSharp + m_MethodName: handleMicrophoneSelection + 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 + m_AlphaFadeSpeed: 0.15 +--- !u!224 &117638565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 138032023} + - {fileID: 1557879931} + - {fileID: 927188573} + m_Father: {fileID: 244561620} + 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: 225.6, y: 148.2} + m_SizeDelta: {x: 445.67, y: 38.7538} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &117638566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + 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 &117638567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_CullTransparentMesh: 1 +--- !u!1 &138032020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 138032023} + - component: {fileID: 138032022} + - component: {fileID: 138032021} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &138032021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + 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: +--- !u!222 &138032022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + m_CullTransparentMesh: 1 +--- !u!224 &138032023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 117638565} + 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.4999695, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &162005663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 162005664} + - component: {fileID: 162005666} + - component: {fileID: 162005665} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &162005664 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162005663} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 711524767} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &162005665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162005663} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Room Name +--- !u!222 &162005666 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162005663} + m_CullTransparentMesh: 1 +--- !u!1 &244561616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 244561620} + - component: {fileID: 244561619} + - component: {fileID: 244561618} + - component: {fileID: 244561617} + - component: {fileID: 244561621} + m_Layer: 5 + m_Name: NetworkGUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &244561617 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244561616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &244561618 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244561616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &244561619 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244561616} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &244561620 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244561616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1894247853} + - {fileID: 117638565} + - {fileID: 1760805525} + - {fileID: 1278634767} + - {fileID: 626742070} + - {fileID: 711524767} + - {fileID: 864104176} + - {fileID: 948755938} + - {fileID: 545137760} + - {fileID: 1997780490} + - {fileID: 1020014860} + - {fileID: 1536292193} + m_Father: {fileID: 0} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &244561621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244561616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a7db5bc792cd471dbd8039664359eee, type: 3} + m_Name: + m_EditorClassIdentifier: + userInput: {fileID: 626742069} + sendInput: {fileID: 0} + roomInput: {fileID: 711524768} + messages: {fileID: 1894247854} + messageBuffer: [] + microphones: {fileID: 117638564} + velVoice: {fileID: 1505205301} +--- !u!1 &359309140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 359309141} + - component: {fileID: 359309143} + - component: {fileID: 359309142} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &359309141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 359309140} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 948755938} + 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.5000038} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &359309142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 359309140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter text... +--- !u!222 &359309143 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 359309140} + m_CullTransparentMesh: 1 +--- !u!1 &440509381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 440509384} + - component: {fileID: 440509383} + - component: {fileID: 440509382} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &440509382 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440509381} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &440509383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440509381} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &440509384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440509381} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &498776799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 498776800} + - component: {fileID: 498776802} + - component: {fileID: 498776801} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &498776800 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 498776799} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1992361063} + 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 &498776801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 498776799} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Take Ownership +--- !u!222 &498776802 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 498776799} + m_CullTransparentMesh: 1 +--- !u!1 &545137759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 545137760} + - component: {fileID: 545137763} + - component: {fileID: 545137762} + - component: {fileID: 545137761} + m_Layer: 5 + m_Name: GetRooms + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &545137760 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 545137759} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1081889596} + m_Father: {fileID: 244561620} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 2, y: 87} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!114 &545137761 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 545137759} + 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: 545137762} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: VelNet.NetworkGUI, Assembly-CSharp + m_MethodName: HandleGetRooms + 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 &545137762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 545137759} + 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 &545137763 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 545137759} + m_CullTransparentMesh: 1 +--- !u!1 &615558651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 615558652} + - component: {fileID: 615558654} + - component: {fileID: 615558653} + 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 &615558652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1047954372} + 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 &615558653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + 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 &615558654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + m_CullTransparentMesh: 1 +--- !u!1 &626742068 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 626742070} + - component: {fileID: 626742072} + - component: {fileID: 626742071} + - component: {fileID: 626742069} + m_Layer: 5 + m_Name: UserInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &626742069 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626742068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 626742071} + m_TextComponent: {fileID: 1560686266} + m_Placeholder: {fileID: 2034437} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnDidEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: ExampleApp + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!224 &626742070 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626742068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2034439} + - {fileID: 1560686264} + m_Father: {fileID: 244561620} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 213.20001, y: 58.600006} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &626742071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626742068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &626742072 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626742068} + m_CullTransparentMesh: 1 +--- !u!1 &652307109 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 652307111} + - component: {fileID: 652307110} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &652307110 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652307109} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &652307111 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652307109} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &711524766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 711524767} + - component: {fileID: 711524770} + - component: {fileID: 711524769} + - component: {fileID: 711524768} + m_Layer: 5 + m_Name: RoomInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &711524767 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711524766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 162005664} + - {fileID: 1484033256} + m_Father: {fileID: 244561620} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 213.1, y: 15.5} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &711524768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711524766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 711524769} + m_TextComponent: {fileID: 1484033257} + m_Placeholder: {fileID: 162005665} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnDidEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &711524769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711524766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &711524770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711524766} + m_CullTransparentMesh: 1 +--- !u!1 &720503449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 720503452} + - component: {fileID: 720503451} + - component: {fileID: 720503450} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &720503450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + 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 &720503451 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + m_CullTransparentMesh: 1 +--- !u!224 &720503452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1047954372} + 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!1 &864104175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 864104176} + - component: {fileID: 864104179} + - component: {fileID: 864104178} + - component: {fileID: 864104177} + m_Layer: 5 + m_Name: LeaveRoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &864104176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 864104175} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1401860307} + m_Father: {fileID: 244561620} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 357.97678, y: 15.5} + m_SizeDelta: {x: 125.7535, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &864104177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 864104175} + 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: 864104178} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: VelNet.NetworkGUI, Assembly-CSharp + m_MethodName: HandleLeave + 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 &864104178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 864104175} + 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 &864104179 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 864104175} + m_CullTransparentMesh: 1 +--- !u!1 &903768653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 903768657} + - component: {fileID: 903768656} + - component: {fileID: 903768654} + - component: {fileID: 903768658} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &903768654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903768653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9d312e1088769143a72b0c13d5aee32, type: 3} + m_Name: + m_EditorClassIdentifier: + draggableTags: + - TestSphere +--- !u!20 &903768656 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903768653} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.2735849, g: 0.2735849, b: 0.2735849, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &903768657 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903768653} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &903768658 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903768653} + m_Enabled: 1 +--- !u!1 &912887455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 912887456} + - component: {fileID: 912887459} + - component: {fileID: 912887458} + - component: {fileID: 912887457} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &912887456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1055818112} + m_Father: {fileID: 927188573} + 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 &912887457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &912887458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + 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 &912887459 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_CullTransparentMesh: 1 +--- !u!1 &927188572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 927188573} + - component: {fileID: 927188576} + - component: {fileID: 927188575} + - component: {fileID: 927188574} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &927188573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 912887456} + - {fileID: 1154194182} + m_Father: {fileID: 117638565} + 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 &927188574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1055818112} + 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: 912887456} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1154194183} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &927188575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + 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 &927188576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_CullTransparentMesh: 1 +--- !u!1 &948755937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 948755938} + - component: {fileID: 948755943} + - component: {fileID: 948755942} + - component: {fileID: 948755941} + - component: {fileID: 948755940} + - component: {fileID: 948755939} + m_Layer: 5 + m_Name: Synced Textbox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &948755938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 359309141} + - {fileID: 1840952814} + - {fileID: 1992361063} + m_Father: {fileID: 244561620} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -10, y: 10} + m_SizeDelta: {x: 309.08167, y: 65.9} + m_Pivot: {x: 1, y: 0} +--- !u!114 &948755939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0a7b2180d3fffdc459417bfc24b179b8, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 948755940} + serializationRateHz: 30 + hybridOnChangeCompression: 1 + text: {fileID: 948755941} +--- !u!114 &948755940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5515094c5c544b6b8ed7fd51a86548d4, type: 3} + m_Name: + m_EditorClassIdentifier: + ownershipLocked: 0 + networkId: + sceneNetworkId: 101 + prefabName: + isSceneObject: 1 + syncedComponents: + - {fileID: 948755939} +--- !u!114 &948755941 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 948755942} + m_TextComponent: {fileID: 1840952815} + m_Placeholder: {fileID: 359309142} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 2 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnDidEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &948755942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &948755943 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948755937} + m_CullTransparentMesh: 1 +--- !u!1 &1020014859 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1020014860} + - component: {fileID: 1020014862} + - component: {fileID: 1020014861} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1020014860 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020014859} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 244561620} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 139.40002, y: 71.6} + m_SizeDelta: {x: 130.6655, y: 11.7458} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1020014861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020014859} + 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: 10 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: App Name +--- !u!222 &1020014862 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020014859} + m_CullTransparentMesh: 1 +--- !u!1 &1047954371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1047954372} + - component: {fileID: 1047954373} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1047954372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047954371} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2144436500} + - {fileID: 615558652} + - {fileID: 720503452} + m_Father: {fileID: 1055818112} + 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 &1047954373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047954371} + 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: 2144436501} + toggleTransition: 1 + graphic: {fileID: 615558653} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1055818111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1055818112} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1055818112 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055818111} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1047954372} + m_Father: {fileID: 912887456} + 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} +--- !u!1 &1081889595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1081889596} + - component: {fileID: 1081889598} + - component: {fileID: 1081889597} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1081889596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081889595} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 545137760} + 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 &1081889597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081889595} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Get Rooms +--- !u!222 &1081889598 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081889595} + m_CullTransparentMesh: 1 +--- !u!1 &1099803612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1099803615} + - component: {fileID: 1099803616} + - component: {fileID: 1099803613} + - component: {fileID: 1099803614} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1099803613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fcf036844b060b47b23ad9a1e49eec2, type: 3} + m_Name: + m_EditorClassIdentifier: + playerPrefab: {fileID: 6139051692386484099, guid: d4158ab9c4a204cdbba28d3273fc1fb3, type: 3} +--- !u!114 &1099803614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ea1fe0eb58e4184bbb2edcc99c51119, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1099803615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1099803616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 233344de094f11341bdb834d564708dc, type: 3} + m_Name: + m_EditorClassIdentifier: + host: vn.ugavel.com + port: 5000 + udpConnected: 0 + userid: -1 + debugMessages: 1 + autoLogin: 1 + onlyConnectToSameVersion: 1 + connected: 0 + prefabs: + - {fileID: 9102273340480352682, guid: d4158ab9c4a204cdbba28d3273fc1fb3, type: 3} + - {fileID: 3951900052977689805, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + sceneObjects: [] + deletedSceneObjects: [] +--- !u!1 &1154194181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1154194182} + - component: {fileID: 1154194185} + - component: {fileID: 1154194184} + - component: {fileID: 1154194183} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1154194182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1679565284} + m_Father: {fileID: 927188573} + 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 &1154194183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + 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: 2033163678} + m_HandleRect: {fileID: 2033163677} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1154194184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + 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 &1154194185 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_CullTransparentMesh: 1 +--- !u!1 &1278634766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1278634767} + - component: {fileID: 1278634770} + - component: {fileID: 1278634769} + - component: {fileID: 1278634768} + m_Layer: 5 + m_Name: JoinRoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1278634767 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1278634766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1295274441} + m_Father: {fileID: 244561620} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 67.29309, y: 15.5} + m_SizeDelta: {x: 130.7862, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1278634768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1278634766} + 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: 1278634769} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: NetworkGUI, Assembly-CSharp + m_MethodName: HandleJoin + 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 &1278634769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1278634766} + 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 &1278634770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1278634766} + m_CullTransparentMesh: 1 +--- !u!1 &1295274440 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1295274441} + - component: {fileID: 1295274443} + - component: {fileID: 1295274442} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1295274441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295274440} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1278634767} + 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 &1295274442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295274440} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Join Room +--- !u!222 &1295274443 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295274440} + m_CullTransparentMesh: 1 +--- !u!1 &1401860306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1401860307} + - component: {fileID: 1401860309} + - component: {fileID: 1401860308} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1401860307 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401860306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 864104176} + 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 &1401860308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401860306} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Leave Room +--- !u!222 &1401860309 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401860306} + m_CullTransparentMesh: 1 +--- !u!1 &1428857709 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1428857710} + - component: {fileID: 1428857712} + - component: {fileID: 1428857711} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1428857710 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428857709} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1997780490} + 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 &1428857711 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428857709} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Get Room Data +--- !u!222 &1428857712 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428857709} + m_CullTransparentMesh: 1 +--- !u!1 &1484033255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1484033256} + - component: {fileID: 1484033258} + - component: {fileID: 1484033257} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1484033256 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484033255} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 711524767} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1484033257 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484033255} + 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: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0 +--- !u!222 &1484033258 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484033255} + m_CullTransparentMesh: 1 +--- !u!1 &1505205300 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1505205302} + - component: {fileID: 1505205301} + m_Layer: 0 + m_Name: VELVoice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1505205301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1505205300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 798d4aea9be4cfc4297706b051a11b0e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1505205302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1505205300} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 921.1795, y: 278.3806, z: 251.25226} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1536292192 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1536292193} + - component: {fileID: 1536292195} + - component: {fileID: 1536292194} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1536292193 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536292192} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 244561620} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 139.40002, y: 28.5} + m_SizeDelta: {x: 130.6655, y: 11.7458} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1536292194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536292192} + 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: 10 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Room Name +--- !u!222 &1536292195 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536292192} + m_CullTransparentMesh: 1 +--- !u!1 &1557879930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557879931} + - component: {fileID: 1557879933} + - component: {fileID: 1557879932} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1557879931 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 117638565} + 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 &1557879932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + 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 &1557879933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + m_CullTransparentMesh: 1 +--- !u!1 &1560686263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1560686264} + - component: {fileID: 1560686265} + - component: {fileID: 1560686266} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1560686264 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560686263} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 626742070} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1560686265 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560686263} + m_CullTransparentMesh: 1 +--- !u!114 &1560686266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560686263} + 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: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ExampleApp +--- !u!1 &1679565283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1679565284} + 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 &1679565284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679565283} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2033163677} + m_Father: {fileID: 1154194182} + 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 &1760805524 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1760805525} + - component: {fileID: 1760805528} + - component: {fileID: 1760805527} + - component: {fileID: 1760805526} + m_Layer: 5 + m_Name: JoinServer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1760805525 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760805524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2118429759} + m_Father: {fileID: 244561620} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 67.02789, y: 58.600006} + m_SizeDelta: {x: 130.7862, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1760805526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760805524} + 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: 1760805527} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: NetworkGUI, Assembly-CSharp + m_MethodName: HandleLogin + 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 &1760805527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760805524} + 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 &1760805528 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760805524} + m_CullTransparentMesh: 1 +--- !u!1 &1840952813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1840952814} + - component: {fileID: 1840952816} + - component: {fileID: 1840952815} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1840952814 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1840952813} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 948755938} + 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.5000038} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1840952815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1840952813} + 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: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1840952816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1840952813} + m_CullTransparentMesh: 1 +--- !u!1 &1894247852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1894247853} + - component: {fileID: 1894247855} + - component: {fileID: 1894247854} + m_Layer: 5 + m_Name: Received + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1894247853 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894247852} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 244561620} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 162.54999, y: 16.098999} + m_SizeDelta: {x: 315.1, y: -47.802124} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1894247854 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894247852} + 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: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1894247855 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894247852} + m_CullTransparentMesh: 1 +--- !u!1 &1992361062 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1992361063} + - component: {fileID: 1992361066} + - component: {fileID: 1992361065} + - component: {fileID: 1992361064} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1992361063 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992361062} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 498776800} + m_Father: {fileID: 948755938} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 31.6} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1992361064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992361062} + 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: 1992361065} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 948755939} + m_TargetAssemblyTypeName: SyncedTextbox, Assembly-CSharp + m_MethodName: TakeOwnership + 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 &1992361065 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992361062} + 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 &1992361066 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992361062} + m_CullTransparentMesh: 1 +--- !u!1 &1997780489 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997780490} + - component: {fileID: 1997780493} + - component: {fileID: 1997780492} + - component: {fileID: 1997780491} + m_Layer: 5 + m_Name: GetRoomsData + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1997780490 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997780489} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1428857710} + m_Father: {fileID: 244561620} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 169, y: 87} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1997780491 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997780489} + 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: 1997780492} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: VelNet.NetworkGUI, Assembly-CSharp + m_MethodName: GetRoomData + 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 &1997780492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997780489} + 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 &1997780493 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997780489} + m_CullTransparentMesh: 1 +--- !u!1 &2021764943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2021764946} + - component: {fileID: 2021764945} + - component: {fileID: 2021764944} + m_Layer: 0 + m_Name: TestRPC Object + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2021764944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021764943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5515094c5c544b6b8ed7fd51a86548d4, type: 3} + m_Name: + m_EditorClassIdentifier: + ownershipLocked: 0 + networkId: + sceneNetworkId: 102 + prefabName: + isSceneObject: 1 + syncedComponents: + - {fileID: 2021764945} +--- !u!114 &2021764945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021764943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bcc94802a5742d4299e48c898e52dfa, type: 3} + m_Name: + m_EditorClassIdentifier: + networkObject: {fileID: 2021764944} +--- !u!4 &2021764946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021764943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.9278836, y: 2.2367568, z: 0.06653424} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2033163676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2033163677} + - component: {fileID: 2033163679} + - component: {fileID: 2033163678} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2033163677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1679565284} + 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 &2033163678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + 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 &2033163679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + m_CullTransparentMesh: 1 +--- !u!1 &2118429758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2118429759} + - component: {fileID: 2118429761} + - component: {fileID: 2118429760} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2118429759 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2118429758} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1760805525} + 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 &2118429760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2118429758} + 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: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Login +--- !u!222 &2118429761 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2118429758} + m_CullTransparentMesh: 1 +--- !u!1 &2144436499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2144436500} + - component: {fileID: 2144436502} + - component: {fileID: 2144436501} + 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 &2144436500 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1047954372} + 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 &2144436501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + 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 &2144436502 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + m_CullTransparentMesh: 1 +--- !u!1001 &8565720276829121781 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3951900052977689805, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: isSceneObject + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3951900052977689805, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: sceneNetworkId + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462452, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462453, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_Name + value: TestNetworkedGameObject + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462453, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalPosition.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8565720275311462455, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6e4a023f70e01405e8b249a4488fe319, type: 3} diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity.meta new file mode 100644 index 0000000..79d6735 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scenes/VelVoiceSample.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 640dff55801b890489258dcd776d4562 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts.meta new file mode 100644 index 0000000..f2cbcac --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd6dd1d4e81bce64faaf29eedf9d2a63 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs new file mode 100644 index 0000000..789e70d --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using VelNet; + +public class CustomMessageTest : MonoBehaviour +{ + private void Start() + { + VelNetManager.OnJoinedRoom += _ => + { + byte[] testPacket = { 244 }; + VelNetManager.SendCustomMessage(testPacket, true, true, false); + }; + + VelNetManager.CustomMessageReceived += (senderId, dataWithCategory) => + { + if (dataWithCategory[0] == 244) + { + Debug.Log($"Received test packet from {senderId}"); + } + }; + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs.meta new file mode 100644 index 0000000..354019c --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/CustomMessageTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ea1fe0eb58e4184bbb2edcc99c51119 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs new file mode 100644 index 0000000..e77cd8f --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs @@ -0,0 +1,44 @@ +using UnityEngine; +using VelNet; + +public class MouseDragger : MonoBehaviour +{ + private Camera cam; + public string[] draggableTags = { "draggable" }; + private NetworkObject draggingObject; + + private void Start() + { + cam = Camera.main; + } + + private void Update() + { + if (Input.GetMouseButtonDown(0)) + { + if (Physics.Raycast(cam.ScreenPointToRay(Input.mousePosition), out RaycastHit hit)) + { + foreach (string draggableTag in draggableTags) + { + if (hit.transform.CompareTag(draggableTag) || (hit.transform.parent != null && hit.transform.parent.CompareTag(draggableTag))) + { + NetworkObject netObj = hit.transform.GetComponent(); + netObj ??= hit.transform.GetComponentInParent(); + if (netObj == null) break; + netObj.TakeOwnership(); + draggingObject = netObj; + break; + } + } + } + } + else if (Input.GetMouseButtonUp(0)) + { + draggingObject = null; + } + else if (Input.GetMouseButton(0) && draggingObject != null) + { + draggingObject.transform.position = cam.ScreenPointToRay(Input.mousePosition).direction * Vector3.Distance(draggingObject.transform.position, cam.transform.position) + cam.transform.position; + } + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs.meta new file mode 100644 index 0000000..dcc6a81 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/MouseDragger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9d312e1088769143a72b0c13d5aee32 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs new file mode 100644 index 0000000..65f4097 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs @@ -0,0 +1,66 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace VelNet +{ + public class NetworkGUI : MonoBehaviour + { + public InputField userInput; + public InputField sendInput; + public InputField roomInput; + public Text messages; + public List messageBuffer; + public Dropdown microphones; + public VelVoice velVoice; + public void HandleLogin() + { + if (userInput.text != "") + { + VelNetManager.Login(userInput.text, SystemInfo.deviceUniqueIdentifier); + } + } + + public void HandleGetRooms() + { + if (VelNetManager.instance.connected) + { + VelNetManager.GetRooms(); + } + } + + public void GetRoomData() + { + if (VelNetManager.IsConnected) + { + VelNetManager.GetRoomData(VelNetManager.Room); + } + } + + public void HandleJoin() + { + if (roomInput.text != "") + { + VelNetManager.Join(roomInput.text); + } + } + + public void HandleLeave() + { + VelNetManager.Leave(); + } + + // Start is called before the first frame update + private void Start() + { + microphones.AddOptions(new List(Microphone.devices)); + handleMicrophoneSelection(); + } + + public void handleMicrophoneSelection() + { + velVoice.startMicrophone(microphones.options[microphones.value].text); + } + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs.meta new file mode 100644 index 0000000..c4289bb --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/NetworkGUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a7db5bc792cd471dbd8039664359eee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs new file mode 100644 index 0000000..50d7b24 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs @@ -0,0 +1,83 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace VelNet +{ + public class PlayerController : NetworkSerializedObjectStream + { + private Renderer rend; + public Color color; + + protected override void Awake() + { + base.Awake(); + + rend = GetComponent(); + if (IsMine) + { + color = new Color(Random.Range(0, 1f), Random.Range(0, 1f), Random.Range(0, 1f)); + rend.material.color = color; + } + } + + // Update is called once per frame + private void Update() + { + if (IsMine) + { + Vector3 movement = new Vector3(); + movement.x += Input.GetAxis("Horizontal"); + movement.y += Input.GetAxis("Vertical"); + movement.z = 0; + transform.Translate(movement * Time.deltaTime); + + if (Input.GetKeyDown(KeyCode.Space)) + { + VelNetManager.NetworkInstantiate("TestNetworkedGameObject"); + } + + if (Input.GetKeyDown(KeyCode.BackQuote)) + { + foreach (KeyValuePair kvp in VelNetManager.instance.objects) + { + kvp.Value.TakeOwnership(); + } + } + + if (Input.GetKeyDown(KeyCode.Backspace)) + { + foreach (string key in VelNetManager.instance.objects + .Where(kvp => !kvp.Value.ownershipLocked) + .Select(kvp => kvp.Key).ToArray()) + { + VelNetManager.NetworkDestroy(key); + } + } + } + } + + protected override void SendState(BinaryWriter binaryWriter) + { + binaryWriter.Write(color); + } + + protected override void ReceiveState(BinaryReader binaryReader) + { + // Color newColor = binaryReader.ReadColor(); + Color newColor; + newColor.r = binaryReader.ReadSingle(); + newColor.g = binaryReader.ReadSingle(); + newColor.b = binaryReader.ReadSingle(); + newColor.a = binaryReader.ReadSingle(); + if (newColor != color) + { + rend.material.color = newColor; + } + + color = newColor; + } + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs.meta new file mode 100644 index 0000000..1c49a76 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/PlayerController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 89e3af759df774692a566a166b4bf69b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs new file mode 100644 index 0000000..ca3de9a --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; +using VelNet; + +public class RPCTest : NetworkComponent +{ + private void Update() + { + if (Input.GetKeyDown(KeyCode.R)) + { + SendRPC(nameof(TestRPC), true); + } + } + + private void TestRPC() + { + Debug.Log("RPC RECEIVED!"); + } + + public override void ReceiveBytes(byte[] message) + { + Debug.Log("WOW. BYTES"); + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs.meta new file mode 100644 index 0000000..6f48220 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/RPCTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bcc94802a5742d4299e48c898e52dfa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs new file mode 100644 index 0000000..af83c6d --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs @@ -0,0 +1,24 @@ +using System.IO; +using UnityEngine.UI; +using VelNet; + +public class SyncedTextbox : NetworkSerializedObjectStream +{ + public InputField text; + + + protected override void SendState(BinaryWriter binaryWriter) + { + binaryWriter.Write(text.text); + } + + protected override void ReceiveState(BinaryReader binaryReader) + { + text.text = binaryReader.ReadString(); + } + + public void TakeOwnership() + { + networkObject.TakeOwnership(); + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs.meta new file mode 100644 index 0000000..2e95173 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/SyncedTextbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a7b2180d3fffdc459417bfc24b179b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs new file mode 100644 index 0000000..2fa6149 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using VelNet; + +public class VelNetMan : MonoBehaviour +{ + public GameObject playerPrefab; + + // Start is called before the first frame update + private void Start() + { + VelNetManager.OnJoinedRoom += player => + { + VelNetManager.NetworkInstantiate(playerPrefab.name); + }; + } +} \ No newline at end of file diff --git a/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs.meta b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs.meta new file mode 100644 index 0000000..225d370 --- /dev/null +++ b/TestVelGameServer/Packages/VelNetUnity/Samples~/ExampleVelVoice/Scripts/VelNetMan.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2fcf036844b060b47b23ad9a1e49eec2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Packages/VelNetUnity/package.json b/TestVelGameServer/Packages/VelNetUnity/package.json index 9898bec..08ca673 100644 --- a/TestVelGameServer/Packages/VelNetUnity/package.json +++ b/TestVelGameServer/Packages/VelNetUnity/package.json @@ -1,7 +1,7 @@ { "name": "edu.uga.engr.vel.velnet", "displayName": "VelNet", - "version": "1.1.0", + "version": "1.1.1", "unity": "2019.1", "description": "A custom networking library for Unity.", "keywords": [ @@ -15,9 +15,14 @@ }, "samples": [ { - "displayName": "Example", - "description": "Example Scene", - "path": "Samples~/Example" + "displayName": "Example Dissonance", + "description": "Example Scene with Dissonance Integration Required", + "path": "Samples~/ExampleDissonance" + }, + { + "displayName": "Example VEL Voice", + "description": "Example Scene using Built-in VEL Voice", + "path": "Samples~/ExampleVelVoice" } ], "dependencies": {