diff --git a/.idea/.idea.station_obscurum_temp/.idea/workspace.xml b/.idea/.idea.station_obscurum_temp/.idea/workspace.xml
index d395937..243236f 100644
--- a/.idea/.idea.station_obscurum_temp/.idea/workspace.xml
+++ b/.idea/.idea.station_obscurum_temp/.idea/workspace.xml
@@ -9,7 +9,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -108,7 +164,7 @@
-
+
diff --git a/Assets/DefaultPrefabObjects.asset b/Assets/DefaultPrefabObjects.asset
index c9e345a..c14ea38 100644
--- a/Assets/DefaultPrefabObjects.asset
+++ b/Assets/DefaultPrefabObjects.asset
@@ -13,6 +13,7 @@ MonoBehaviour:
m_Name: DefaultPrefabObjects
m_EditorClassIdentifier:
_prefabs:
+ - {fileID: 3680155643994880520, guid: 502609875cf67524391bcf30129c195b, type: 3}
- {fileID: 4512293259955182956, guid: 300370bdf7819da41937e0beac65b32c, type: 3}
- {fileID: 233110740096973419, guid: e05b94df3e7783a48ac1ed2d12a71774, type: 3}
- {fileID: 611616139817875448, guid: bf5f023b4017a5e41a9815ec5745df3d, type: 3}
@@ -21,4 +22,3 @@ MonoBehaviour:
- {fileID: 3624261834906416601, guid: 4e1673ccc2acac543871855a0e8bed71, type: 3}
- {fileID: 201277550, guid: d904f93bc171bb144ba33c5155282f6f, type: 3}
- {fileID: 27039729695437543, guid: f820efff6a2871447b961fc755212ba3, type: 3}
- - {fileID: 3680155643994880520, guid: 502609875cf67524391bcf30129c195b, type: 3}
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt b/Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt
deleted file mode 100644
index de9f6c5..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-2.1.1
- - Added deinitializer to FishyFacepunch.
-
-2.1.0
- - Fixed ClientId 32767 not found error when being used with Multipass.
-
-2.0.0
- - FishNetworking 2.0.0 support.
-
-1.3.1
- - FishNetworking 1.3.1 Support
-
-1.3.0
- - Removed obsolete methods
- - FishNetworking 1.3.0 Support
-
-1.2.0
- - Removed GC (Full Credits to Punfish - Thank you)
- - Removed obsolete method
-
-1.1.1
- - FishNetworking 0.1.5.Nightly.10 Support
-
-1.1.0
- - Support for client hosted games (needs two separated steam accounts, to test) - Thank to Punfish
- - Organized folder structure
- - Removed ChannelData
-
-1.0.0
- - Initial release.
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs
deleted file mode 100644
index d235e2c..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-
-namespace FishyFacepunch
-{
- public class BidirectionalDictionary : IEnumerable
- {
- private Dictionary t1ToT2Dict = new Dictionary();
- private Dictionary t2ToT1Dict = new Dictionary();
-
- public IEnumerable FirstTypes => t1ToT2Dict.Keys;
- public IEnumerable SecondTypes => t2ToT1Dict.Keys;
-
- public IEnumerator GetEnumerator() => t1ToT2Dict.GetEnumerator();
-
- public int Count => t1ToT2Dict.Count;
-
- public Dictionary First => t1ToT2Dict;
- public Dictionary Second => t2ToT1Dict;
-
- public void Add(T1 key, T2 value)
- {
- if (t1ToT2Dict.ContainsKey(key))
- {
- Remove(key);
- }
-
- t1ToT2Dict[key] = value;
- t2ToT1Dict[value] = key;
- }
-
- public void Add(T2 key, T1 value)
- {
- if (t2ToT1Dict.ContainsKey(key))
- {
- Remove(key);
- }
-
- t2ToT1Dict[key] = value;
- t1ToT2Dict[value] = key;
- }
-
- public T2 Get(T1 key) => t1ToT2Dict[key];
-
- public T1 Get(T2 key) => t2ToT1Dict[key];
-
- public bool TryGetValue(T1 key, out T2 value) => t1ToT2Dict.TryGetValue(key, out value);
-
- public bool TryGetValue(T2 key, out T1 value) => t2ToT1Dict.TryGetValue(key, out value);
-
- public bool Contains(T1 key) => t1ToT2Dict.ContainsKey(key);
-
- public bool Contains(T2 key) => t2ToT1Dict.ContainsKey(key);
-
- public void Remove(T1 key)
- {
- if (Contains(key))
- {
- T2 val = t1ToT2Dict[key];
- t1ToT2Dict.Remove(key);
- t2ToT1Dict.Remove(val);
- }
- }
- public void Remove(T2 key)
- {
- if (Contains(key))
- {
- T1 val = t2ToT1Dict[key];
- t1ToT2Dict.Remove(val);
- t2ToT1Dict.Remove(key);
- }
- }
-
- public T1 this[T2 key]
- {
- get => t2ToT1Dict[key];
- set
- {
- Add(key, value);
- }
- }
-
- public T2 this[T1 key]
- {
- get => t1ToT2Dict[key];
- set
- {
- Add(key, value);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs
deleted file mode 100644
index 2727871..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-#if !FishyFacepunch
-using FishNet.Transporting;
-using FishyFacepunch.Server;
-using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-
-namespace FishyFacepunch.Client
-{
- ///
- /// Creates a fake client connection to interact with the ServerSocket when acting as host.
- ///
- public class ClientHostSocket : CommonSocket
- {
- #region Private.
- ///
- /// Socket for the server.
- ///
- private ServerSocket _server;
- ///
- /// Incomimg data.
- ///
- private Queue _incoming = new Queue();
- #endregion
-
- ///
- /// Checks to set localCLient started.
- ///
- internal void CheckSetStarted()
- {
- //Check to set as started.
- if (_server != null && base.GetLocalConnectionState() == LocalConnectionState.Starting)
- {
- if (_server.GetLocalConnectionState() == LocalConnectionState.Started)
- SetLocalConnectionState(LocalConnectionState.Started, false);
- }
- }
-
- ///
- /// Starts the client connection.
- ///
- ///
- ///
- ///
- ///
- internal bool StartConnection(ServerSocket serverSocket)
- {
- _server = serverSocket;
- _server.SetClientHostSocket(this);
- if (_server.GetLocalConnectionState() != LocalConnectionState.Started)
- return false;
-
- SetLocalConnectionState(LocalConnectionState.Starting, false);
- return true;
- }
-
- ///
- /// Sets a new connection state.
- ///
- protected override void SetLocalConnectionState(LocalConnectionState connectionState, bool server)
- {
- base.SetLocalConnectionState(connectionState, server);
- if (connectionState == LocalConnectionState.Started)
- _server.OnClientHostState(true);
- else
- _server.OnClientHostState(false);
- }
-
- ///
- /// Stops the local socket.
- ///
- internal bool StopConnection()
- {
- if (base.GetLocalConnectionState() == LocalConnectionState.Stopped || base.GetLocalConnectionState() == LocalConnectionState.Stopping)
- return false;
-
- base.ClearQueue(_incoming);
- //Immediately set stopped since no real connection exists.
- SetLocalConnectionState(LocalConnectionState.Stopping, false);
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- _server.SetClientHostSocket(null);
-
- return true;
- }
-
- ///
- /// Iterations data received.
- ///
- internal void IterateIncoming()
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- while (_incoming.Count > 0)
- {
- LocalPacket packet = _incoming.Dequeue();
- ArraySegment segment = new ArraySegment(packet.Data, 0, packet.Length);
- base.Transport.HandleClientReceivedDataArgs(new ClientReceivedDataArgs(segment, (Channel)packet.Channel, Transport.Index));
- packet.Dispose();
- }
- }
-
- ///
- /// Called when the server sends the local client data.
- ///
- internal void ReceivedFromLocalServer(LocalPacket packet)
- {
- _incoming.Enqueue(packet);
- }
-
- ///
- /// Queues data to be sent to server.
- ///
- internal void SendToServer(byte channelId, ArraySegment segment)
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
- if (_server.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- LocalPacket packet = new LocalPacket(segment, channelId);
- _server.ReceivedFromClientHost(packet);
- }
- }
-}
-#endif // !DISABLESTEAMWORKS
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs
deleted file mode 100644
index 151c9d1..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs
+++ /dev/null
@@ -1,238 +0,0 @@
-#if !FishyFacepunch
-using FishNet.Managing.Logging;
-using FishNet.Transporting;
-using Steamworks;
-using Steamworks.Data;
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-using UnityEngine;
-
-namespace FishyFacepunch.Client
-{
- public class ClientSocket : CommonSocket
- {
- #region Private.
- ///
- /// SteamId for host.
- ///
- private SteamId _hostSteamID = 0;
- ///
- /// Socket to use.
- ///
- private Connection HostConnection => HostConnectionManager.Connection;
-
- ///
- /// Use the internal connection manager from steam.
- ///
- private FishyConnectionManager HostConnectionManager;
-
- ///
- /// Task used to check for timeout.
- ///
- private CancellationTokenSource cancelToken;
- private TaskCompletionSource connectedComplete;
- private TimeSpan ConnectionTimeout;
-
- ///
- /// Task used to check for timeout.
- ///
- private bool _Error = false;
-
- #endregion
-
- ///
- /// Initializes this for use.
- ///
- ///
- internal override void Initialize(Transport t)
- {
- base.Initialize(t);
- }
-
- ///
- /// Starts the client connection.
- ///
- ///
- ///
- ///
- ///
- internal async void StartConnection(string address, ushort port)
- {
- cancelToken = new CancellationTokenSource();
- SteamNetworkingSockets.OnConnectionStatusChanged += OnConnectionStatusChanged;
- ConnectionTimeout = TimeSpan.FromSeconds(Math.Max(1, base.Transport.GetTimeout(false)));
-
- SetLocalConnectionState(LocalConnectionState.Starting, false);
-
- try
- {
- if (SteamClient.IsValid)
- {
- connectedComplete = new TaskCompletionSource();
- if (!IsValidAddress(address))
- {
- _hostSteamID = UInt64.Parse(address);
- HostConnectionManager = SteamNetworkingSockets.ConnectRelay(_hostSteamID);
- }
- else
- {
- HostConnectionManager = SteamNetworkingSockets.ConnectNormal(NetAddress.From(address, port));
- }
- HostConnectionManager.ForwardMessage = OnMessageReceived;
- Task connectedCompleteTask = connectedComplete.Task;
- Task timeOutTask = Task.Delay(ConnectionTimeout, cancelToken.Token);
-
- if (await Task.WhenAny(connectedCompleteTask, timeOutTask) != connectedCompleteTask)
- {
- if (cancelToken.IsCancellationRequested)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"The connection attempt was cancelled.");
- }
- else if (timeOutTask.IsCompleted)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"Connection to {address} timed out.");
- StopConnection();
- }
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- }
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError("SteamWorks not initialized");
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- }
- }
- catch (FormatException)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"Connection string was not in the right format. Did you enter a SteamId?");
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- _Error = true;
- }
- catch (Exception ex)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError(ex.Message);
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- _Error = true;
- }
- finally
- {
- if (_Error)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError("Connection failed.");
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
- }
- }
- }
-
- ///
- /// Called when local connection state changes.
- ///
- private void OnConnectionStatusChanged(Connection conn, ConnectionInfo info)
- {
- if (info.State == ConnectionState.Connected)
- {
- SetLocalConnectionState(LocalConnectionState.Started, false);
- connectedComplete.SetResult(connectedComplete.Task);
- }
- else if (info.State == ConnectionState.ClosedByPeer || info.State == ConnectionState.ProblemDetectedLocally)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection was closed by peer, {info.EndReason}");
- StopConnection();
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection state changed: {info.State.ToString()} - {info.EndReason}");
- }
- }
-
- ///
- /// Stops the local socket.
- ///
- internal bool StopConnection()
- {
- if (base.GetLocalConnectionState() == LocalConnectionState.Stopped || base.GetLocalConnectionState() == LocalConnectionState.Stopping)
- return false;
-
- SetLocalConnectionState(LocalConnectionState.Stopping, false);
-
- cancelToken?.Cancel();
-
- //Reset callback.
- SteamNetworkingSockets.OnConnectionStatusChanged -= OnConnectionStatusChanged;
-
- if (HostConnectionManager != null)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log("Sending Disconnect message");
- HostConnection.Close(false, 0, "Graceful disconnect");
- HostConnectionManager = null;
- }
-
- SetLocalConnectionState(LocalConnectionState.Stopped, false);
-
- return true;
- }
-
- ///
- /// Iterations data received.
- ///
- internal void IterateIncoming()
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- HostConnectionManager.Receive(MAX_MESSAGES);
- }
-
- private void OnMessageReceived(IntPtr dataPtr, int size)
- {
- (byte[] data, int ch) = ProcessMessage(dataPtr, size);
- base.Transport.HandleClientReceivedDataArgs(new ClientReceivedDataArgs(new ArraySegment(data), (Channel)ch, Transport.Index));
- }
-
- ///
- /// Queues data to be sent to server.
- ///
- ///
- ///
- internal void SendToServer(byte channelId, ArraySegment segment)
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- Result res = base.Send(HostConnection, segment, channelId);
- if (res == Result.NoConnection || res == Result.InvalidParam)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection to server was lost.");
- StopConnection();
- }
- else if (res != Result.OK)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"Could not send: {res.ToString()}");
- }
- }
-
- ///
- /// Sends queued data to server.
- ///
- internal void IterateOutgoing()
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- HostConnection.Flush();
- }
- }
-}
-#endif // !DISABLESTEAMWORKS
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs.meta
deleted file mode 100644
index ebb2a90..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientSocket.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c5c258174868ee54cb570bef71c82404
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs
deleted file mode 100644
index 7d7bd7d..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs
+++ /dev/null
@@ -1,177 +0,0 @@
-#if !FishyFacepunch
-using FishNet.Managing.Logging;
-using FishNet.Transporting;
-using Steamworks;
-using Steamworks.Data;
-using System;
-using System.Collections.Generic;
-using System.Net;
-using System.Runtime.InteropServices;
-using UnityEngine;
-
-namespace FishyFacepunch
-{
-
- public abstract class CommonSocket
- {
-
- #region Public.
- ///
- /// Current ConnectionState.
- ///
- private LocalConnectionState _connectionState = LocalConnectionState.Stopped;
- ///
- /// Returns the current ConnectionState.
- ///
- ///
- internal LocalConnectionState GetLocalConnectionState()
- {
- return _connectionState;
- }
- ///
- /// Sets a new connection state.
- ///
- ///
- protected virtual void SetLocalConnectionState(LocalConnectionState connectionState, bool asServer)
- {
- //If state hasn't changed.
- if (connectionState == _connectionState)
- return;
-
- _connectionState = connectionState;
- if (asServer)
- Transport.HandleServerConnectionState(new ServerConnectionStateArgs(connectionState, Transport.Index));
- else
- Transport.HandleClientConnectionState(new ClientConnectionStateArgs(connectionState, Transport.Index));
- }
- #endregion
-
- #region Protected.
- ///
- /// Transport controlling this socket.
- ///
- protected Transport Transport = null;
- ///
- /// Pointers for received messages per connection.
- ///
- protected IntPtr[] MessagePointers = new IntPtr[MAX_MESSAGES];
- ///
- /// Buffer used to receive data.
- ///
- protected byte[] InboundBuffer = null;
- #endregion
-
- #region Const.
- ///
- /// Maximum number of messages which can be received per connection.
- ///
- protected const int MAX_MESSAGES = 256;
- #endregion
-
- internal void ClearQueue(Queue lpq)
- {
- while (lpq.Count > 0)
- {
- LocalPacket lp = lpq.Dequeue();
- lp.Dispose();
- }
- }
- ///
- /// Initializes this for use.
- ///
- ///
- internal virtual void Initialize(Transport t)
- {
- Transport = t;
- //Get whichever channel has max MTU and resize buffer.
- int maxMTU = Transport.GetMTU(0);
- maxMTU = Math.Max(maxMTU, Transport.GetMTU(1));
- InboundBuffer = new byte[maxMTU];
- }
-
- ///
- /// Check if this is a valid address to start a p2p or c2s session.
- ///
- ///
- ///
- protected bool IsValidAddress(string address)
- {
- //If address is required then make sure it can be parsed.
- if (!string.IsNullOrEmpty(address))
- {
- if (!IPAddress.TryParse(address, out IPAddress result))
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else
- {
- return false;
- }
- }
-
- ///
- /// Sends data over the steamConnection.
- ///
- ///
- ///
- ///
- ///
- protected Result Send(Connection conn, ArraySegment segment, byte channelId)
- {
- /* Have to resize array to include channel index
- * if array isn't large enough to fit it. This is because
- * we don't know what channel data comes in on so
- * the channel has to be packed into the data sent.
- * Odds of the array having to resize are extremely low
- * so while this is not ideal, it's still very low risk. */
- if ((segment.Array.Length - 1) <= (segment.Offset + segment.Count))
- {
- byte[] arr = segment.Array;
- Array.Resize(ref arr, arr.Length + 1);
- arr[arr.Length - 1] = channelId;
- }
- //If large enough just increase the segment and set the channel byte.
- else
- {
- segment.Array[segment.Offset + segment.Count] = channelId;
- }
- //Make a new segment so count is right.
- segment = new ArraySegment(segment.Array, segment.Offset, segment.Count + 1);
-
- GCHandle pinnedArray = GCHandle.Alloc(segment.Array, GCHandleType.Pinned);
- IntPtr pData = pinnedArray.AddrOfPinnedObject() + segment.Offset;
-
- SendType sendFlag = (channelId == (byte)Channel.Unreliable) ? SendType.Unreliable : SendType.Reliable;
- Result result = conn.SendMessage(pData, segment.Count, sendFlag);
- if (result != Result.OK)
- {
- if (Transport.NetworkManager.CanLog(LoggingType.Warning))
- Debug.LogWarning($"Send issue: {result}");
- }
-
- pinnedArray.Free();
- return result;
- }
-
- ///
- /// Returns a message from the steam network.
- ///
- ///
- ///
- ///
- protected (byte[], int) ProcessMessage(IntPtr ptrs, int size)
- {
- byte[] managedArray = new byte[size];
- Marshal.Copy(ptrs, managedArray, 0, size);
- int channel = managedArray[managedArray.Length - 1];
- Array.Resize(ref managedArray, managedArray.Length - 1);
- return (managedArray, channel);
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs.meta
deleted file mode 100644
index 34fb757..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/CommonSocket.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 3bc85d49720cf5844bf19af677e4f5f5
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs
deleted file mode 100644
index e05b936..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Steamworks;
-using System;
-
-public class FishyConnectionManager : ConnectionManager
-{
- public Action ForwardMessage;
-
- public override void OnMessage(IntPtr data, int size, long messageNum, long recvTime, int channel)
- {
- ForwardMessage(data, size);
- }
-}
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs.meta
deleted file mode 100644
index e04a569..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishyConnectionManager.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4200e3c1bd9ce214baf0cc323ef78429
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs
deleted file mode 100644
index 58a8908..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Steamworks;
-using Steamworks.Data;
-using System;
-
-public class FishySocketManager : SocketManager
-{
- public Action ForwardMessage;
-
- public override void OnMessage(Connection connection, NetIdentity identity, IntPtr data, int size, long messageNum, long recvTime, int channel)
- {
- ForwardMessage(connection, data, size);
- }
-}
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs.meta
deleted file mode 100644
index 4567fed..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/FishySocketManager.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1180bddcdfeaad44e80261cedd2b806d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs
deleted file mode 100644
index e48887d..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using FishNet.Utility.Performance;
-using System;
-
-namespace FishyFacepunch
-{
- internal struct LocalPacket
- {
- public byte[] Data;
- public int Length;
- public byte Channel;
- public LocalPacket(ArraySegment data, byte channel)
- {
- Data = ByteArrayPool.Retrieve(data.Count);
- Length = data.Count;
- Buffer.BlockCopy(data.Array, data.Offset, Data, 0, Length);
- Channel = channel;
- }
-
- public void Dispose()
- {
- if (Data != null)
- ByteArrayPool.Store(Data);
- }
- }
-}
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs.meta
deleted file mode 100644
index 1e83600..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/LocalPacket.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c1e0f33bdfade44489a2decb96d23c72
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs b/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs
deleted file mode 100644
index 622bafa..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs
+++ /dev/null
@@ -1,425 +0,0 @@
-#if !FishyFacepunch
-using FishNet.Managing.Logging;
-using FishNet.Transporting;
-using FishyFacepunch.Client;
-using Steamworks;
-using Steamworks.Data;
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace FishyFacepunch.Server
-{
- public class ServerSocket : CommonSocket
- {
- #region Public.
- ///
- /// Gets the current ConnectionState of a remote client on the server.
- ///
- /// ConnectionId to get ConnectionState for.
- internal RemoteConnectionState GetConnectionState(int connectionId)
- {
- //Remote clients can only have Started or Stopped states since we cannot know in between.
- if (_steamConnections.Second.ContainsKey(connectionId))
- return RemoteConnectionState.Started;
- else
- return RemoteConnectionState.Stopped;
- }
- #endregion
-
- #region Private.
- ///
- /// SteamConnections for ConnectionIds.
- ///
- private BidirectionalDictionary _steamConnections = new BidirectionalDictionary();
- ///
- /// SteamIds for ConnectionIds.
- ///
- private BidirectionalDictionary _steamIds = new BidirectionalDictionary();
- ///
- /// Maximum number of remote connections.
- ///
- private int _maximumClients;
- ///
- /// Next Id to use for a connection.
- ///
- private int _nextConnectionId;
- ///
- /// Socket for the connection.
- ///
- private FishySocketManager _socket;
- ///
- /// ConnectionIds which can be reused.
- ///
- private Queue _cachedConnectionIds = new Queue();
- ///
- /// Contains state of the client host. True is started, false is stopped.
- ///
- private bool _clientHostStarted = false;
- ///
- /// Packets received from local client.
- ///
- private Queue _clientHostIncoming = new Queue();
- ///
- /// Socket for client host. Will be null if not being used.
- ///
- private ClientHostSocket _clientHost;
- #endregion
-
- ///
- /// Initializes this for use.
- ///
- ///
- internal override void Initialize(Transport t)
- {
- base.Initialize(t);
- }
-
- ///
- /// Resets the socket if invalid.
- ///
- internal void ResetInvalidSocket()
- {
- /* Force connection state to stopped if listener is invalid.
- * Not sure if steam may change this internally so better
- * safe than sorry and check before trying to connect
- * rather than being stuck in the incorrect state. */
- if (_socket == default)
- base.SetLocalConnectionState(LocalConnectionState.Stopped, true);
- }
- ///
- /// Starts the server.
- ///
- internal bool StartConnection(string address, ushort port, int maximumClients)
- {
- SteamNetworkingSockets.OnConnectionStatusChanged += OnRemoteConnectionState;
-
- SetMaximumClients(maximumClients);
- _nextConnectionId = 0;
- _cachedConnectionIds.Clear();
-
- base.SetLocalConnectionState(LocalConnectionState.Starting, true);
-
- if (_socket != null)
- {
- _socket?.Close();
- _socket = default;
- }
-
-#if UNITY_SERVER
- _socket = SteamNetworkingSockets.CreateNormalSocket(NetAddress.From(address, port));
-#else
- _socket = SteamNetworkingSockets.CreateRelaySocket();
-#endif
- _socket.ForwardMessage = OnMessageReceived;
-
- base.SetLocalConnectionState(LocalConnectionState.Started, true);
-
- return true;
- }
-
- ///
- /// Stops the local socket.
- ///
- internal bool StopConnection()
- {
- if (base.GetLocalConnectionState() == LocalConnectionState.Stopped)
- return false;
-
- base.SetLocalConnectionState(LocalConnectionState.Stopping, true);
-
- if (_socket != null)
- {
- SteamNetworkingSockets.OnConnectionStatusChanged -= OnRemoteConnectionState;
- _socket?.Close();
- _socket = default;
- }
-
- base.SetLocalConnectionState(LocalConnectionState.Stopped, true);
-
- return true;
- }
-
- ///
- /// Stops a remote client from the server, disconnecting the client.
- ///
- /// ConnectionId of the client to disconnect.
- internal bool StopConnection(int connectionId)
- {
- if (connectionId == FishyFacepunch.CLIENT_HOST_ID)
- {
- if (_clientHost != null)
- {
- _clientHost.StopConnection();
- return true;
- }
- else
- {
- return false;
- }
-
- }
- else
- {
- if (_steamConnections.Second.TryGetValue(connectionId, out Connection steamConn))
- {
- return StopConnection(connectionId, steamConn);
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"Steam connection not found for connectionId {connectionId}.");
- return false;
- }
- }
- }
- ///
- /// Stops a remote client from the server, disconnecting the client.
- ///
- ///
- ///
- private bool StopConnection(int connectionId, Connection socket)
- {
- socket.Close(false, 0, "Graceful disconnect");
- _steamConnections.Remove(connectionId);
- _steamIds.Remove(connectionId);
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Client with ConnectionID {connectionId} disconnected.");
- base.Transport.HandleRemoteConnectionState(new RemoteConnectionStateArgs(RemoteConnectionState.Stopped, connectionId, Transport.Index));
- _cachedConnectionIds.Enqueue(connectionId);
-
- return true;
- }
-
- ///
- /// Called when a remote connection state changes.
- ///
- private void OnRemoteConnectionState(Connection conn, ConnectionInfo info)
- {
- ulong clientSteamID = info.Identity.SteamId;
- if (info.State == ConnectionState.Connecting)
- {
- if (_steamConnections.Count >= _maximumClients)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Incoming connection {clientSteamID} was rejected because would exceed the maximum connection count.");
-
- conn.Close(false, 0, "Max Connection Count");
- return;
- }
-
- Result res;
-
- if ((res = conn.Accept()) == Result.OK)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Accepting connection {clientSteamID}");
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection {clientSteamID} could not be accepted: {res.ToString()}");
- }
- }
- else if (info.State == ConnectionState.Connected)
- {
- int connectionId = (_cachedConnectionIds.Count > 0) ? _cachedConnectionIds.Dequeue() : _nextConnectionId++;
- _steamConnections.Add(conn, connectionId);
- _steamIds.Add(clientSteamID, connectionId);
-
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Client with SteamID {clientSteamID} connected. Assigning connection id {connectionId}");
- base.Transport.HandleRemoteConnectionState(new RemoteConnectionStateArgs(RemoteConnectionState.Started, connectionId, Transport.Index));
- }
- else if (info.State == ConnectionState.ClosedByPeer || info.State == ConnectionState.ProblemDetectedLocally)
- {
- if (_steamConnections.TryGetValue(conn, out int connId))
- {
- StopConnection(connId, conn);
- }
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection {clientSteamID} state changed: {info.State.ToString()}");
- }
- }
-
-
- ///
- /// Allows for Outgoing queue to be iterated.
- ///
- internal void IterateOutgoing()
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- foreach (Connection conn in _steamConnections.FirstTypes)
- {
- conn.Flush();
- }
- }
-
- ///
- /// Iterates the Incoming queue.
- ///
- ///
- internal void IterateIncoming()
- {
- //Stopped or trying to stop.
- if (base.GetLocalConnectionState() == LocalConnectionState.Stopped || base.GetLocalConnectionState() == LocalConnectionState.Stopping)
- return;
-
- //Iterate local client packets first.
- while (_clientHostIncoming.Count > 0)
- {
- LocalPacket packet = _clientHostIncoming.Dequeue();
- ArraySegment segment = new ArraySegment(packet.Data, 0, packet.Length);
- base.Transport.HandleServerReceivedDataArgs(new ServerReceivedDataArgs(segment, (Channel)packet.Channel, FishyFacepunch.CLIENT_HOST_ID, Transport.Index));
- packet.Dispose();
- }
-
- _socket.Receive(MAX_MESSAGES);
- }
-
- private void OnMessageReceived(Connection conn, IntPtr dataPtr, int size)
- {
- (byte[] data, int ch) = ProcessMessage(dataPtr, size);
- base.Transport.HandleServerReceivedDataArgs(new ServerReceivedDataArgs(new ArraySegment(data), (Channel)ch, _steamConnections[conn], Transport.Index));
- }
-
- ///
- /// Sends data to a client.
- ///
- ///
- ///
- ///
- internal void SendToClient(byte channelId, ArraySegment segment, int connectionId)
- {
- if (base.GetLocalConnectionState() != LocalConnectionState.Started)
- return;
-
- //Check if sending local client first, send and exit if so.
- if (connectionId == FishyFacepunch.CLIENT_HOST_ID)
- {
- if (_clientHost != null)
- {
- LocalPacket packet = new LocalPacket(segment, channelId);
- _clientHost.ReceivedFromLocalServer(packet);
- }
- return;
- }
-
- if (_steamConnections.TryGetValue(connectionId, out Connection steamConn))
- {
- Result res = base.Send(steamConn, segment, channelId);
-
- if (res == Result.NoConnection || res == Result.InvalidParam)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Common))
- Debug.Log($"Connection to {connectionId} was lost.");
- StopConnection(connectionId, steamConn);
- }
- else if (res != Result.OK)
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"Could not send: {res.ToString()}");
- }
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"ConnectionId {connectionId} does not exist, data will not be sent.");
- }
- }
-
- ///
- /// Gets the address of a remote connection Id.
- ///
- ///
- ///
- internal string GetConnectionAddress(int connectionId)
- {
- if (_steamIds.TryGetValue(connectionId, out SteamId steamId))
- {
- return steamId.ToString();
- }
- else
- {
- if (base.Transport.NetworkManager.CanLog(LoggingType.Error))
- Debug.LogError($"ConnectionId {connectionId} is invalid; address cannot be returned.");
-
- return string.Empty;
- }
- }
-
-
- ///
- /// Sets maximum number of clients allowed to connect to the server. If applied at runtime and clients exceed this value existing clients will stay connected but new clients may not connect.
- ///
- ///
- internal void SetMaximumClients(int value)
- {
- _maximumClients = Math.Min(value, FishyFacepunch.CLIENT_HOST_ID - 1);
- }
- internal int GetMaximumClients()
- {
- return _maximumClients;
- }
-
- #region ClientHost (local client).
- ///
- /// Sets ClientHost value.
- ///
- ///
- internal void SetClientHostSocket(ClientHostSocket socket)
- {
- _clientHost = socket;
- }
- ///
- /// Called when the local client stops.
- ///
- internal void OnClientHostState(bool started)
- {
-
- _clientHostStarted = started;
- FishyFacepunch ff = (FishyFacepunch)base.Transport;
- SteamId steamId = new SteamId()
- {
- Value = ff.LocalUserSteamID
- };
-
- //If not started flush incoming from local client.
- if (!started && _clientHostStarted)
- {
- base.ClearQueue(_clientHostIncoming);
- base.Transport.HandleRemoteConnectionState(new RemoteConnectionStateArgs(RemoteConnectionState.Stopped, FishyFacepunch.CLIENT_HOST_ID, Transport.Index));
- _steamIds.Remove(steamId);
- }
- //If started.
- else if (started)
- {
- _steamIds[steamId] = FishyFacepunch.CLIENT_HOST_ID;
- base.Transport.HandleRemoteConnectionState(new RemoteConnectionStateArgs(RemoteConnectionState.Started, FishyFacepunch.CLIENT_HOST_ID, Transport.Index));
- }
-
- _clientHostStarted = started;
- }
-
- ///
- /// Queues a received packet from the local client.
- ///
- internal void ReceivedFromClientHost(LocalPacket packet)
- {
- if (!_clientHostStarted)
- {
- packet.Dispose();
- return;
- }
-
- _clientHostIncoming.Enqueue(packet);
- }
- #endregion
- }
-}
-#endif // !DISABLESTEAMWORKS
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs.meta
deleted file mode 100644
index cdfb777..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ServerSocket.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a0f5d2e6e0da6a244a3fa589e4f6bba2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs b/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs
deleted file mode 100644
index 2ae2a05..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs
+++ /dev/null
@@ -1,518 +0,0 @@
-#if !FishyFacepunch
-using FishNet.Managing;
-using FishNet.Transporting;
-using Steamworks;
-using System;
-using UnityEngine;
-
-namespace FishyFacepunch
-{
- public class FishyFacepunch : Transport
- {
- ~FishyFacepunch()
- {
- Shutdown();
- }
-
- #region Public.
- [System.NonSerialized]
- public ulong LocalUserSteamID;
- #endregion
-
- #region Serialized.
- ///
- /// Steam application Id.
- ///
- [Tooltip("Steam application Id.")]
- [SerializeField]
- private uint _steamAppID = 480;
-
- [Header("Server")]
- ///
- /// Address server should bind to.
- ///
- [Tooltip("Address server should bind to.")]
- [SerializeField]
- private string _serverBindAddress = string.Empty;
- ///
- /// Port to use.
- ///
- [Tooltip("Port to use.")]
- [SerializeField]
- private ushort _port = 27015;
- ///
- /// Maximum number of players which may be connected at once.
- ///
- [Tooltip("Maximum number of players which may be connected at once.")]
- [Range(1, ushort.MaxValue)]
- [SerializeField]
- private ushort _maximumClients = 16;
-
- [Header("Client")]
- ///
- /// Address client should connect to.
- ///
- [Tooltip("Address client should connect to.")]
- [SerializeField]
- private string _clientAddress = string.Empty;
-
- [Tooltip("Timeout for connecting in seconds.")]
- [SerializeField]
- private int _timeout = 25;
- #endregion
-
- #region Private.
- ///
- /// MTUs for each channel.
- ///
- private int[] _mtus;
- ///
- /// Client for the transport.
- ///
- private Client.ClientSocket _client = new Client.ClientSocket();
- ///
- /// Client when acting as host.
- ///
- private Client.ClientHostSocket _clientHost = new Client.ClientHostSocket();
- ///
- /// Server for the transport.
- ///
- private Server.ServerSocket _server = new Server.ServerSocket();
- #endregion
-
- #region Const.
- ///
- /// Id to use for client when acting as host.
- ///
- internal const int CLIENT_HOST_ID = short.MaxValue;
- #endregion
-
- #region Initialization and Unity.
- public override void Initialize(NetworkManager networkManager, int transportIndex)
- {
- base.Initialize(networkManager, transportIndex);
-
- CreateChannelData();
-
-#if !UNITY_SERVER
- SteamClient.Init(_steamAppID, true);
- SteamNetworking.AllowP2PPacketRelay(true);
-#endif
- _clientHost.Initialize(this);
- _client.Initialize(this);
- _server.Initialize(this);
- }
-
- private void OnDestroy()
- {
- Shutdown();
- }
-
- private void Update()
- {
- _clientHost.CheckSetStarted();
- }
- #endregion
-
- #region Setup.
- ///
- /// Creates ChannelData for the transport.
- ///
- private void CreateChannelData()
- {
- _mtus = new int[2]
- {
- 1048576,
- 1200
- };
- }
-
- ///
- /// Tries to initialize steam network access.
- ///
- private void InitializeRelayNetworkAccess()
- {
-#if !UNITY_SERVER
- SteamNetworkingUtils.InitRelayNetworkAccess();
- LocalUserSteamID = Steamworks.SteamClient.SteamId.Value;
-#endif
- }
- #endregion
-
- #region ConnectionStates.
- ///
- /// Gets the IP address of a remote connection Id.
- ///
- ///
- ///
- public override string GetConnectionAddress(int connectionId)
- {
- return _server.GetConnectionAddress(connectionId);
- }
- ///
- /// Called when a connection state changes for the local client.
- ///
- public override event Action OnClientConnectionState;
- ///
- /// Called when a connection state changes for the local server.
- ///
- public override event Action OnServerConnectionState;
- ///
- /// Called when a connection state changes for a remote client.
- ///
- public override event Action OnRemoteConnectionState;
- ///
- /// Gets the current local ConnectionState.
- ///
- /// True if getting ConnectionState for the server.
- public override LocalConnectionState GetConnectionState(bool server)
- {
- if (server)
- return _server.GetLocalConnectionState();
- else
- return _client.GetLocalConnectionState();
- }
- ///
- /// Gets the current ConnectionState of a remote client on the server.
- ///
- /// ConnectionId to get ConnectionState for.
- public override RemoteConnectionState GetConnectionState(int connectionId)
- {
- return _server.GetConnectionState(connectionId);
- }
- ///
- /// Handles a ConnectionStateArgs for the local client.
- ///
- ///
- public override void HandleClientConnectionState(ClientConnectionStateArgs connectionStateArgs)
- {
- OnClientConnectionState?.Invoke(connectionStateArgs);
- }
- ///
- /// Handles a ConnectionStateArgs for the local server.
- ///
- ///
- public override void HandleServerConnectionState(ServerConnectionStateArgs connectionStateArgs)
- {
- OnServerConnectionState?.Invoke(connectionStateArgs);
- }
- ///
- /// Handles a ConnectionStateArgs for a remote client.
- ///
- ///
- public override void HandleRemoteConnectionState(RemoteConnectionStateArgs connectionStateArgs)
- {
- OnRemoteConnectionState?.Invoke(connectionStateArgs);
- }
- #endregion
-
- #region Iterating.
- ///
- /// Processes data received by the socket.
- ///
- /// True to process data received on the server.
- public override void IterateIncoming(bool server)
- {
- if (server)
- {
- _server.IterateIncoming();
-
- }
- else
- {
- _client.IterateIncoming();
- _clientHost.IterateIncoming();
- }
- }
-
- ///
- /// Processes data to be sent by the socket.
- ///
- /// True to process data received on the server.
- public override void IterateOutgoing(bool server)
- {
- if (server)
- _server.IterateOutgoing();
- else
- _client.IterateOutgoing();
- }
- #endregion
-
- #region ReceivedData.
- ///
- /// Called when client receives data.
- ///
- public override event Action OnClientReceivedData;
- ///
- /// Handles a ClientReceivedDataArgs.
- ///
- ///
- public override void HandleClientReceivedDataArgs(ClientReceivedDataArgs receivedDataArgs)
- {
- OnClientReceivedData?.Invoke(receivedDataArgs);
- }
- ///
- /// Called when server receives data.
- ///
- public override event Action OnServerReceivedData;
- ///
- /// Handles a ClientReceivedDataArgs.
- ///
- ///
- public override void HandleServerReceivedDataArgs(ServerReceivedDataArgs receivedDataArgs)
- {
- OnServerReceivedData?.Invoke(receivedDataArgs);
- }
- #endregion
-
- #region Sending.
- ///
- /// Sends to the server or all clients.
- ///
- /// Channel to use.
- /// /// Data to send.
- public override void SendToServer(byte channelId, ArraySegment segment)
- {
- _client.SendToServer(channelId, segment);
- _clientHost.SendToServer(channelId, segment);
- }
- ///
- /// Sends data to a client.
- ///
- ///
- ///
- ///
- public override void SendToClient(byte channelId, ArraySegment segment, int connectionId)
- {
- _server.SendToClient(channelId, segment, connectionId);
- }
- #endregion
-
- #region Configuration.
- ///
- /// Returns the maximum number of clients allowed to connect to the server. If the transport does not support this method the value -1 is returned.
- ///
- ///
- public override int GetMaximumClients()
- {
- return _server.GetMaximumClients();
- }
- ///
- /// Sets maximum number of clients allowed to connect to the server. If applied at runtime and clients exceed this value existing clients will stay connected but new clients may not connect.
- ///
- ///
- public override void SetMaximumClients(int value)
- {
- _server.SetMaximumClients(value);
- }
- ///
- /// Sets which address the client will connect to.
- ///
- ///
- public override void SetClientAddress(string address)
- {
- _clientAddress = address;
- }
- public override void SetServerBindAddress(string address, IPAddressType addressType)
- {
- _serverBindAddress = address;
- }
- ///
- /// Sets which port to use.
- ///
- ///
- public override void SetPort(ushort port)
- {
- _port = port;
- }
- ///
- /// Returns the adjusted timeout as float
- ///
- ///
- public override float GetTimeout(bool asServer)
- {
- return _timeout;
- }
- #endregion
-
- #region Start and stop.
- ///
- /// Starts the local server or client using configured settings.
- ///
- /// True to start server.
- public override bool StartConnection(bool server)
- {
- Debug.Log("StartConnection fishy server: " + server);
-
- if (server)
- return StartServer();
- else
- return StartClient(_clientAddress);
- }
-
- ///
- /// Stops the local server or client.
- ///
- /// True to stop server.
- public override bool StopConnection(bool server)
- {
- if (server)
- return StopServer();
- else
- return StopClient();
- }
-
- ///
- /// Stops a remote client from the server, disconnecting the client.
- ///
- /// ConnectionId of the client to disconnect.
- /// True to abrutly stp the client socket without waiting socket thread.
- public override bool StopConnection(int connectionId, bool immediately)
- {
- return StopClient(connectionId, immediately);
- }
-
- ///
- /// Stops both client and server.
- ///
- public override void Shutdown()
- {
- //Stops client then server connections.
- StopConnection(false);
- StopConnection(true);
- }
-
- #region Privates.
- ///
- /// Starts server.
- ///
- /// True if there were no blocks. A true response does not promise a socket will or has connected.
- private bool StartServer()
- {
- bool clientRunning = false;
-#if !UNITY_SERVER
- if (!SteamClient.IsValid)
- {
- Debug.LogError("Steam Facepunch not initialized. Server could not be started.");
- return false;
- }
- //if (_client.GetLocalConnectionState() != LocalConnectionState.Stopped)
- //{
- // Debug.LogError("Server cannot run while client is running.");
- // return false;
- //}
-
- clientRunning = (_client.GetLocalConnectionState() != LocalConnectionState.Stopped);
- /* If remote _client is running then stop it
- * and start the client host variant. */
- if (clientRunning)
- _client.StopConnection();
-#endif
-
- _server.ResetInvalidSocket();
- if (_server.GetLocalConnectionState() != LocalConnectionState.Stopped)
- {
- Debug.LogError("Server is already running.");
- return false;
- }
- InitializeRelayNetworkAccess();
-
- bool result = _server.StartConnection(_serverBindAddress, _port, _maximumClients);
-
- //If need to restart client.
- if (result && clientRunning)
- StartConnection(false);
-
- return result;
- }
-
- ///
- /// Stops server.
- ///
- private bool StopServer()
- {
- return _server.StopConnection();
- }
-
- ///
- /// Starts the client.
- ///
- ///
- /// True if there were no blocks. A true response does not promise a socket will or has connected.
- private bool StartClient(string address)
- {
- if (!SteamClient.IsValid)
- {
- Debug.LogError("Steam Facepunch not initialized. Client could not be started.");
- return false;
- }
-
- //If not acting as a host.
- if (_server.GetLocalConnectionState() == LocalConnectionState.Stopped)
- {
- if (_client.GetLocalConnectionState() != LocalConnectionState.Stopped)
- {
- Debug.LogError("Client is already running.");
- return false;
- }
- //Stop client host if running.
- if (_clientHost.GetLocalConnectionState() != LocalConnectionState.Stopped)
- _clientHost.StopConnection();
- //Initialize.
- InitializeRelayNetworkAccess();
-
- _client.StartConnection(address, _port);
- }
- //Acting as host.
- else
- {
- _clientHost.StartConnection(_server);
- }
-
- return true;
- }
-
- ///
- /// Stops the client.
- ///
- private bool StopClient()
- {
- bool result = false;
- result |= _client.StopConnection();
- result |= _clientHost.StopConnection();
- return result;
- }
-
- ///
- /// Stops a remote client on the server.
- ///
- ///
- /// True to abrutly stp the client socket without waiting socket thread.
- private bool StopClient(int connectionId, bool immediately)
- {
- return _server.StopConnection(connectionId);
- }
- #endregion
- #endregion
-
- #region Channels.
- ///
- /// Gets the MTU for a channel. This should take header size into consideration.
- /// For example, if MTU is 1200 and a packet header for this channel is 10 in size, this method should return 1190.
- ///
- ///
- ///
- public override int GetMTU(byte channel)
- {
- if (channel >= _mtus.Length)
- {
- Debug.LogError($"Channel {channel} is out of bounds.");
- return 0;
- }
-
- return _mtus[channel];
- }
- #endregion
- }
-}
-#endif // !DISABLESTEAMWORKS
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs.meta b/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs.meta
deleted file mode 100644
index 6482ab5..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/FishyFacepunch.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 9da90c29836670c49809661c5c09cd5d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt b/Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt
deleted file mode 100644
index 7c32728..0000000
--- a/Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt
+++ /dev/null
@@ -1 +0,0 @@
-2.1.1
\ No newline at end of file
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll
deleted file mode 100644
index 6901913..0000000
Binary files a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll and /dev/null differ
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta
deleted file mode 100644
index 542717d..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta
+++ /dev/null
@@ -1,81 +0,0 @@
-fileFormatVersion: 2
-guid: fc89a528dd38bd04a90af929e9c0f80e
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- : Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 0
- Exclude Linux64: 0
- Exclude OSXUniversal: 0
- Exclude Win: 1
- Exclude Win64: 1
- - first:
- Any:
- second:
- enabled: 0
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- DefaultValueInitialized: true
- OS: OSX
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux64
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml
deleted file mode 100644
index 859dd91..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml
+++ /dev/null
@@ -1,3571 +0,0 @@
-
-
-
- Facepunch.Steamworks.Posix
-
-
-
-
- An awaitable version of a SteamAPICall_t
-
-
-
-
- This gets called if IsComplete returned false on the first call.
- The Action "continues" the async call. We pass it to the Dispatch
- to be called when the callback returns.
-
-
-
-
- Gets the result. This is called internally by the async shit.
-
-
-
-
- Return true if complete or failed
-
-
-
-
- This is what makes this struct awaitable
-
-
-
-
- Gives us a generic way to get the CallbackId of structs
-
-
-
-
- Cancels a ticket.
- You should cancel your ticket when you close the game or leave a server.
-
-
-
-
- Responsible for all callback/callresult handling
-
- This manually pumps Steam's message queue and dispatches those
- events to any waiting callbacks/callresults.
-
-
-
-
- If set then we'll call this function every time a callback is generated.
-
- This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific
- callback then please create an issue on github and I'll add it!
-
- Params are : [Callback Type] [Callback Contents] [server]
-
-
-
-
-
- Called if an exception happens during a callback/callresult.
- This is needed because the exception isn't always accessible when running
- async.. and can fail silently. With this hooked you won't be stuck wondering
- what happened.
-
-
-
-
- This gets called from Client/Server Init
- It's important to switch to the manual dispatcher
-
-
-
-
- Make sure we don't call Frame in a callback - because that'll cause some issues for everyone.
-
-
-
-
- Calls RunFrame and processes events from this Steam Pipe
-
-
-
-
- To be safe we don't call the continuation functions while iterating
- the Callback list. This is maybe overly safe because the only way this
- could be an issue is if the callback list is modified in the continuation
- which would only happen if starting or shutting down in the callback.
-
-
-
-
- A callback is a general global message
-
-
-
-
- Given a callback, try to turn it into a string
-
-
-
-
- A result is a reply to a specific command
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Watch for a steam api call
-
-
-
-
- Install a global callback. The passed function will get called if it's all good.
-
-
-
-
- The score is just a simple numerical value
-
-
-
-
- The score represents a time, in seconds
-
-
-
-
- The score represents a time, in milliseconds
-
-
-
-
- The top-score is the lowest number
-
-
-
-
- The top-score is the highest number
-
-
-
-
- Send the message unreliably. Can be lost. Messages *can* be larger than a
- single MTU (UDP packet), but there is no retransmission, so if any piece
- of the message is lost, the entire message will be dropped.
-
- The sending API does have some knowledge of the underlying connection, so
- if there is no NAT-traversal accomplished or there is a recognized adjustment
- happening on the connection, the packet will be batched until the connection
- is open again.
-
-
-
-
- Disable Nagle's algorithm.
- By default, Nagle's algorithm is applied to all outbound messages. This means
- that the message will NOT be sent immediately, in case further messages are
- sent soon after you send this, which can be grouped together. Any time there
- is enough buffered data to fill a packet, the packets will be pushed out immediately,
- but partially-full packets not be sent until the Nagle timer expires.
-
-
-
-
- If the message cannot be sent very soon (because the connection is still doing some initial
- handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable
- messages. Using this flag on reliable messages is invalid.
-
-
-
- Reliable message send. Can send up to 0.5mb in a single message.
- Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for
- efficient sends of large chunks of data.
-
-
-
- Return a NetIdentity that represents LocalHost
-
-
-
-
- Return true if this identity is localhost
-
-
-
-
- Convert to a SteamId
-
-
-
-
-
- Set the specified Address
-
-
-
-
- Automatically convert to a SteamId
-
-
-
-
-
- Returns NULL if we're not a SteamId
-
-
-
-
- Returns NULL if we're not a NetAddress
-
-
-
-
- We override tostring to provide a sensible representation
-
-
-
-
- The Port. This is redundant documentation.
-
-
-
-
- Any IP, specific port
-
-
-
-
- Localhost IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Set everything to zero
-
-
-
-
- Return true if the IP is ::0. (Doesn't check port.)
-
-
-
-
- Return true if IP is mapped IPv4
-
-
-
-
- Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1)
-
-
-
-
- Get the Address section
-
-
-
-
- Used as a base to create your client connection. This creates a socket
- to a single connection.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Accept an incoming connection that has been received on a listen socket.
-
-
-
-
- Disconnects from the remote host and invalidates the connection handle. Any unread data on the
- connection is discarded..
- reasonCode is defined and used by you.
-
-
-
-
- Get/Set connection user data
-
-
-
-
- A name for the connection, used mostly for debugging
-
-
-
-
- This is the best version to use.
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- This creates a ton of garbage - so don't do anything with this beyond testing!
-
-
-
-
- Flush any messages waiting on the Nagle timer and send them at the next transmission
- opportunity (often that means right now).
-
-
-
-
- Returns detailed connection stats in text format. Useful
- for dumping to a log, etc.
-
- Plain text connection info
-
-
-
- Describe the state of a connection
-
-
-
-
- High level state of the connection
-
-
-
-
- Remote address. Might be all 0's if we don't know it, or if this is N/A.
-
-
-
-
- Who is on the other end? Depending on the connection type and phase of the connection, we might not know
-
-
-
-
- Basic cause of the connection termination or problem.
-
-
-
-
-
- Object that describes a "location" on the Internet with sufficient
- detail that we can reasonably estimate an upper bound on the ping between
- the two hosts, even if a direct route between the hosts is not possible,
- and the connection must be routed through the Steam Datagram Relay network.
- This does not contain any information that identifies the host. Indeed,
- if two hosts are in the same building or otherwise have nearly identical
- networking characteristics, then it's valid to use the same location
- object for both of them.
-
- NOTE: This object should only be used in the same process! Do not serialize it,
- send it over the wire, or persist it in a file or database! If you need
- to do that, convert it to a string representation using the methods in
- ISteamNetworkingUtils().
-
-
-
-
- Estimate the round-trip latency between two arbitrary locations, in
- milliseconds. This is a conservative estimate, based on routing through
- the relay network. For most basic relayed connections, this ping time
- will be pretty accurate, since it will be based on the route likely to
- be actually used.
-
- If a direct IP route is used (perhaps via NAT traversal), then the route
- will be different, and the ping time might be better. Or it might actually
- be a bit worse! Standard IP routing is frequently suboptimal!
-
- But even in this case, the estimate obtained using this method is a
- reasonable upper bound on the ping time. (Also it has the advantage
- of returning immediately and not sending any packets.)
-
- In a few cases we might not able to estimate the route. In this case
- a negative value is returned. k_nSteamNetworkingPing_Failed means
- the reason was because of some networking difficulty. (Failure to
- ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot
- currently answer the question for some other reason.
-
- Do you need to be able to do this from a backend/matchmaking server?
- You are looking for the "ticketgen" library.
-
-
-
- Destroy a listen socket. All the connections that were accepting on the listen
- socket are closed ungracefully.
-
-
-
-
- True if unlocked
-
-
-
-
- Should hold the unlock time if State is true
-
-
-
-
- Gets the icon of the achievement. This can return a null image even though the image exists if the image
- hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be
- downloaded.
-
-
-
-
- Gets the icon of the achievement, waits for it to load if we have to
-
-
-
-
- Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data
- available.
-
-
-
-
- Make this achievement earned
-
-
-
-
- Reset this achievement to not achieved
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero
- rate.
-
-
-
-
- appid generating playtime
-
-
-
-
- is duration control applicable to user + game combination
-
-
-
-
- playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in
- seconds
-
-
-
-
- playtime on current calendar day
-
-
-
-
- recommended progress
-
-
-
-
- the name of a leaderboard
-
-
-
-
- Submit your score and replace your old score even if it was better
-
-
-
-
- Submit your new score, but won't replace your high score if it's lower
-
-
-
-
- Attaches a piece of user generated content the user's entry on a leaderboard
-
-
-
-
- Used to query for a sequential range of leaderboard entries by leaderboard Sort.
-
-
-
-
- Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the
- leaderboard
- before or after the user's entry, Steam will adjust the range to try to return the number of entries
- requested.
- For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will
- return the first
- 5 entries in the leaderboard. If The current user has no entry, this will return null.
-
-
-
-
- Used to retrieve all leaderboard entries for friends of the current user
-
-
-
-
- Try to join this room. Will return RoomEnter.Success on success,
- and anything else is a failure
-
-
-
-
- Leave a lobby; this will take effect immediately on the client side
- other users in the lobby will be notified by a LobbyChatUpdate_t callback
-
-
-
-
- Invite another user to the lobby
- will return true if the invite is successfully sent, whether or not the target responds
- returns false if the local user is not connected to the Steam servers
-
-
-
-
- returns the number of users in the specified lobby
-
-
-
-
- Returns current members. Need to be in the lobby to see the users.
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Removes a metadata key from the lobby
-
-
-
-
- Get all data for this lobby
-
-
-
-
- Gets per-user metadata for someone in this lobby
-
-
-
-
- Sets per-user metadata (for the local user implicitly)
-
-
-
-
- Sends a string to the chat room
-
-
-
-
- Sends bytes the the chat room
- this isn't exposed because there's no way to read raw bytes atm,
- and I figure people can send json if they want something more advanced
-
-
-
-
- Refreshes metadata for a lobby you're not necessarily in right now
- you never do this for lobbies you're a member of, only if your
- this will send down all the metadata associated with a lobby
- this is an asynchronous call
- returns false if the local user is not connected to the Steam servers
- results will be returned by a LobbyDataUpdate_t callback
- if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
-
-
-
-
- Max members able to join this lobby. Cannot be over 250.
- Can only be set by the owner
-
-
-
-
- [SteamID variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- [IP/Port variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- Gets the details of the lobby's game server, if set. Returns true if the lobby is
- valid and has a server set, otherwise returns false.
-
-
-
-
- You must be the lobby owner to set the owner
-
-
-
-
- Check if the specified SteamId owns the lobby
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- Filter by specified key/value pair; string parameters
-
-
-
-
- Numerical filter where value is less than the value provided
-
-
-
-
- Numerical filter where value is greater than the value provided
-
-
-
-
- Numerical filter where value must be equal to the value provided
-
-
-
-
- Numerical filter where value must not equal the value provided
-
-
-
-
- Test key, initialize numerical filter list if necessary, then add new numerical filter
-
-
-
-
- Order filtered results according to key/values nearest the provided key/value pair.
- Can specify multiple near value filters; each successive filter is lower priority than the previous.
-
-
-
-
- returns only lobbies with the specified number of slots available
-
-
-
-
- sets how many results to return, the lower the count the faster it is to download the lobby results
-
-
-
-
- Run the query, get the matching lobbies
-
-
-
-
- A server query packet.
-
-
-
-
- Target IP address
-
-
-
-
- Target port
-
-
-
-
- This data is pooled. Make a copy if you don't use it immediately.
- This buffer is also quite large - so pay attention to Size.
-
-
-
-
- Size of the data
-
-
-
-
- Represents a RemotePlaySession from the SteamRemotePlay interface
-
-
-
-
- Returns true if this session was valid when created. This will stay true even
- after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected
-
-
-
-
- Get the SteamID of the connected user
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Gets the individual tags for this server
-
-
-
-
- Add this server to our history list
- If we're already in the history list, weill set the last played time to now
-
-
-
-
- If this server responds to source engine style queries, we'll be able to get a list of rules here
-
-
-
-
- Remove this server from our history list
-
-
-
-
- Add this server to our favourite list
-
-
-
-
- Remove this server from our favourite list
-
-
-
-
- Find out the status of an asynchronous inventory result handle.
-
-
-
-
- Copies the contents of a result set into a flat array. The specific contents of the result set depend on
- which query which was used.
-
-
-
-
- Returns the server time at which the result was generated. Compare against the value of
- IClientUtils::GetServerRealTime() to determine age.
-
-
-
-
- Returns true if the result belongs to the target steam ID or false if the result does not. This is
- important when using DeserializeResult to verify that a remote player is not pretending to have a
- different users inventory.
-
-
-
-
- Destroys a result handle and frees all associated memory.
-
-
-
-
- Captures the entire state of the current users Steam inventory.
-
-
-
-
- Captures the state of a subset of the current users Steam inventory identified by an array of item
- instance IDs.
-
-
-
-
- GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the
- items (one time only).
-
-
-
-
- ConsumeItem() removes items from the inventory permanently.
-
-
-
-
- Deprecated method. Playtime accounting is performed on the Steam servers.
-
-
-
-
- Playtime credit must be consumed and turned into item drops by your game.
-
-
-
-
- LoadItemDefinitions triggers the automatic load and refresh of item definitions.
-
-
-
-
- Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is
- k_ELeaderboardDataRequestUsers
-
-
-
-
- An optional interface to use instead of deriving
-
-
-
-
- The actual connection we're managing
-
-
-
-
- The last received ConnectionInfo
-
-
-
-
- We're trying to connect!
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- We started connecting to this guy
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- We got disconnected
-
-
-
-
- Received a message
-
-
-
-
- Must call Accept or Close on the connection within a second or so
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- Called when the connection leaves
-
-
-
-
- Received a message from a connection
-
-
-
-
- Used as a base to create your networking server. This creates a socket
- and listens/communicates with multiple queries.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Default behaviour is to accept every connection
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- Which app we're querying. Defaults to the current app.
-
-
-
-
- When a new server is added, this function will get called
-
-
-
-
- Called for every responsive server
-
-
-
-
- A list of servers that responded. If you're only interested in servers that responded since you
- last updated, then simply clear this list.
-
-
-
-
- A list of servers that were in the master list but didn't respond.
-
-
-
-
- Query the server list. Task result will be true when finished
-
-
-
-
-
- Exposes a wide range of information and actions for applications and Downloadable Content (DLC).
-
-
-
-
- posted after the user gains ownership of DLC and that DLC is installed
-
-
-
-
- posted after the user gains executes a Steam URL with command line or query parameters
- such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc
- while the game is already running. The new params can be queried
- with GetLaunchQueryParam and GetLaunchCommandLine
-
-
-
-
- Checks if the active user is subscribed to the current App ID
-
-
-
-
- Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender
- SteamID
-
-
-
-
- Checks if the license owned by the user provides low violence depots.
- Low violence depots are useful for copies sold in countries that have content restrictions
-
-
-
-
- Checks whether the current App ID license is for Cyber Cafes.
-
-
-
-
- CChecks if the user has a VAC ban on their account
-
-
-
-
- Gets the current language that the user has set.
- This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title.
-
-
-
-
- Gets a list of the languages the current app supports.
-
-
-
-
- Checks if the active user is subscribed to a specified AppId.
- Only use this if you need to check ownership of another game related to yours, a demo for example.
-
-
-
-
- Checks if the user owns a specific DLC and if the DLC is installed
-
-
-
-
- Returns the time of the purchase of the app
-
-
-
-
- Checks if the user is subscribed to the current app through a free weekend
- This function will return false for users who have a retail or other type of license
- Before using, please ask your Valve technical contact how to package and secure your free weekened
-
-
-
-
- Returns metadata for all available DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Returns null if we're not on a beta branch, else the name of the branch
-
-
-
-
- Allows you to force verify game content on next launch.
-
- If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a
- server),
- you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit.
-
-
-
-
- Gets a list of all installed depots for a given App ID in mount order
-
-
-
-
- Gets the install folder for a specific AppID.
- This works even if the application is not installed, based on where the game would be installed with the
- default Steam library location.
-
-
-
-
- The app may not actually be owned by the current user, they may have it left over from a free weekend,
- etc.
-
-
-
-
- Gets the Steam ID of the original owner of the current app. If it's different from the current user then
- it is borrowed..
-
-
-
-
- Gets the associated launch parameter if the game is run via
- steam://run/appid/?param1=value1;param2=value2;param3=value3 etc.
- Parameter names starting with the character '@' are reserved for internal use and will always return an
- empty string.
- Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried
- by the game,
- but it is advised that you not param names beginning with an underscore for your own features.
-
-
-
-
- Gets the download progress for optional DLC.
-
-
-
-
- Gets the buildid of this app, may change at any time based on backend updates to the game.
- Defaults to 0 if you're not running a build downloaded from steam.
-
-
-
-
- Asynchronously retrieves metadata details about a specific file in the depot manifest.
- Currently provides:
-
-
-
-
- Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/.
- This method of passing a connect string (used when joining via rich presence, accepting an
- invite, etc) is preferable to passing the connect string on the operating system command
- line, which is a security risk. In order for rich presence joins to go through this
- path and not be placed on the OS command line, you must set a value in your app's
- configuration on Steam. Ask Valve for help with this.
-
-
-
-
- Initialize the steam client.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Checks if the current user's Steam client is connected to the Steam servers.
- If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam
- client will automatically be trying to recreate the connection as often as possible. When the
- connection is restored a SteamServersConnected_t callback will be posted.
- You usually don't need to check for this yourself. All of the API calls that rely on this will
- check internally. Forcefully disabling stuff when the player loses access is usually not a
- very good experience for the player and you could be preventing them from accessing APIs that do not
- need a live connection to Steam.
-
-
-
-
- Gets the Steam ID of the account currently logged into the Steam client. This is
- commonly called the 'current user', or 'local user'.
- A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat
- rooms, and used to differentiate users in all parts of the Steamworks API.
-
-
-
-
- returns the local players name - guaranteed to not be NULL.
- this is the same name as on the users community profile page
-
-
-
-
- gets the status of the current user
-
-
-
-
- returns the appID of the current process
-
-
-
-
- Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't
- this returns true then it starts the Steam client if required and launches your game again through it,
- and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it
- may not relaunch the exact executable that called it, as it will always relaunch from the version
- installed in your Steam library folder/
- Note that during development, when not launching via Steam, this might always return true.
-
-
-
-
- Called in interfaces that rely on this being initialized
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Called when chat message has been received from a friend. You'll need to turn on
- ListenForFriendsMessages to recieve this. (friend, msgtype, message)
-
-
-
-
- called when a friends' status changes
-
-
-
-
- Called when the user tries to join a game from their friends list
- rich presence will have been set with the "connect" key which is set here
-
-
-
-
- Posted when game overlay activates or deactivates
- the game can use this to be pause or resume single player games
-
-
-
-
- Called when the user tries to join a different game server from their friends list
- game client should attempt to connect to specified server when this is received
-
-
-
-
- Called when the user tries to join a lobby from their friends list
- game client should attempt to connect to specified lobby when this is received
-
-
-
-
- Callback indicating updated data about friends rich presence information
-
-
-
-
- The dialog to open. Valid options are:
- "friends",
- "community",
- "players",
- "settings",
- "officialgamegroup",
- "stats",
- "achievements".
-
-
-
-
- "steamid" - Opens the overlay web browser to the specified user or groups profile.
- "chat" - Opens a chat window to the specified user, or joins the group chat.
- "jointrade" - Opens a window to a Steam Trading session that was started with the
- ISteamEconomy/StartTrade Web API.
- "stats" - Opens the overlay web browser to the specified user's stats.
- "achievements" - Opens the overlay web browser to the specified user's achievements.
- "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend.
- "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend.
- "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming
- friend invite.
- "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming
- friend invite.
-
-
-
-
- Activates the Steam Overlay to the Steam store page for the provided app.
-
-
-
-
- Activates Steam Overlay web browser directly to the specified URL.
-
-
-
-
- Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the
- provided lobby.
-
-
-
-
- Mark a target user as 'played with'.
- NOTE: The current user must be in game with the other player for the association to work.
-
-
-
-
- Requests the persona name and optionally the avatar of a specified user.
- NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars,
- don't request them.
- returns true if we're fetching the data, false if we already have it
-
-
-
-
- Find a rich presence value by key for current user. Will be null if not found.
-
-
-
-
- Sets a rich presence value by key for current user.
-
-
-
-
- Clears all of the current user's rich presence data.
-
-
-
-
- Listens for Steam friends chat messages.
- You can then show these chats inline in the game. For example with a Blizzard style chat message system
- or the chat system in Dota 2.
- After enabling this you will receive callbacks when ever the user receives a chat message.
-
-
-
-
- You shouldn't really need to call this because it get called by RunCallbacks on SteamClient
- but Valve think it might be a nice idea if you call it right before you get input info -
- just to make sure the info you're getting is 100% up to date.
-
-
-
-
- Return a list of connected controllers.
-
-
-
-
- Return an absolute path to the PNG image glyph for the provided digital action name. The current
- action set in use for the controller will be used for the lookup. You should cache the result and
- maintain your own list of loaded PNG assets.
-
-
-
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Call this if you're going to want to access definition information. You should be able to get
- away with calling this once at the start if your game, assuming your items don't change all the time.
- This will trigger OnDefinitionsUpdated at which point Definitions should be set.
-
-
-
-
- Will call LoadItemDefinitions and wait until Definitions is not null
-
-
-
-
- Try to find the definition that matches this definition ID.
- Uses a dictionary so should be about as fast as possible.
-
-
-
-
- We will try to keep this list of your items automatically up to date.
-
-
-
-
- Update the list of Items[]
-
-
-
-
- Get all items and return the InventoryResult
-
-
-
-
- This is used to grant a specific item to the user. This should
- only be used for development prototyping, from a trusted server,
- or if you don't care about hacked clients granting arbitrary items.
- This call can be disabled by a setting on Steamworks.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Deserializes a result set and verifies the signature bytes.
- This call has a potential soft-failure mode where the Result is expired, it will
- still succeed in this mode.The "expired"
- result could indicate that the data may be out of date - not just due to timed
- expiration( one hour ), but also because one of the items in the result set may
- have been traded or consumed since the result set was generated.You could compare
- the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine
- how old the data is. You could simply ignore the "expired" result code and
- continue as normal, or you could request the player with expired data to send
- an updated result set.
- You should call CheckResultSteamID on the result handle when it completes to verify
- that a remote player is not pretending to have a different user's inventory.
-
-
-
-
- Grant all promotional items the user is eligible for
-
-
-
-
- Trigger an item drop for this user. This is for timed drops.
-
-
-
-
- Trigger a promo item drop. You can call this at startup, it won't
- give users multiple promo drops.
-
-
-
-
- Start buying a cart load of items. This will return a positive result is the purchase has
- begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success.
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Maximum number of characters a lobby metadata key can be
-
-
-
-
- Someone invited you to a lobby
-
-
-
-
- You joined a lobby
-
-
-
-
- You created a lobby
-
-
-
-
- A game server has been associated with the lobby
-
-
-
-
- The lobby metadata has changed
-
-
-
-
- The lobby member metadata has changed
-
-
-
-
- The lobby member joined
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member was kicked. The 3rd param is the user that kicked them.
-
-
-
-
- The lobby member was banned. The 3rd param is the user that banned them.
-
-
-
-
- A chat message was recieved from a member of a lobby
-
-
-
-
- Creates a new invisible lobby. Call lobby.SetPublic to take it online.
-
-
-
-
- Attempts to directly join the specified lobby
-
-
-
-
- Get a list of servers that are on your favorites list
-
-
-
-
- Get a list of servers that you have added to your play history
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Functions to control music playback in the steam client.
- This gives games the opportunity to do things like pause the music or lower the volume,
- when an important cut scene is shown, and start playing afterwards.
- Nothing uses Steam Music though so this can probably get fucked
-
-
-
-
- Playback status changed
-
-
-
-
- Volume changed, parameter is new volume
-
-
-
-
- Checks if Steam Music is enabled
-
-
-
-
- true if a song is currently playing, paused, or queued up to play; otherwise false.
-
-
-
-
- Gets the current status of the Steam Music player
-
-
-
-
- Have the Steam Music player play the previous song.
-
-
-
-
- Have the Steam Music player skip to the next song
-
-
-
-
- Gets/Sets the current volume of the Steam Music player
-
-
-
-
- This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser
- if you want to recieve their messages
-
-
-
-
- Called when packets can't get through to the specified user.
- All queued packets unsent at this point will be dropped, further attempts
- to send will retry making the connection (but will be dropped if we fail again).
-
-
-
-
- This should be called in response to a OnP2PSessionRequest
-
-
-
-
- Allow or disallow P2P connects to fall back on Steam server relay if direct
- connection or NAT traversal can't be established. Applies to connections
- created after setting or old connections that need to reconnect.
-
-
-
-
- This should be called when you're done communicating with a user, as this will
- free up all of the resources allocated for the connection under-the-hood.
- If the remote user tries to send data to you again, a new OnP2PSessionRequest
- callback will be posted
-
-
-
-
- Checks if a P2P packet is available to read, and gets the size of the message if there is one.
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6)
-
- To use this derive a class from SocketManager and override as much as you want.
-
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6).
-
- To use this you should pass a class that inherits ISocketManager. You can use
- SocketManager to get connections and send messages, but the ISocketManager class
- will received all the appropriate callbacks.
-
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Creates a server that will be relayed via Valve's network (hiding the IP and improving ping)
-
-
-
-
- Connect to a relay server
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A function to receive debug network information on. This will do nothing
- unless you set DebugLevel to something other than None.
-
- You should set this to an appropriate level instead of setting it to the highest
- and then filtering it by hand because a lot of energy is used by creating the strings
- and your frame rate will tank and you won't know why.
-
-
-
-
- The latest available status gathered from the SteamRelayNetworkStatus callback
-
-
-
-
- If you know that you are going to be using the relay network (for example,
- because you anticipate making P2P connections), call this to initialize the
- relay network. If you do not call this, the initialization will
- be delayed until the first time you use a feature that requires access
- to the relay network, which will delay that first access.
-
- You can also call this to force a retry if the previous attempt has failed.
- Performing any action that requires access to the relay network will also
- trigger a retry, and so calling this function is never strictly necessary,
- but it can be useful to call it a program launch time, if access to the
- relay network is anticipated.
-
- Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t
- callbacks to know when initialization has completed.
- Typically initialization completes in a few seconds.
-
- Note: dedicated servers hosted in known data centers do *not* need
- to call this, since they do not make routing decisions. However, if
- the dedicated server will be using P2P functionality, it will act as
- a "client" and this should be called.
-
-
-
-
- Return location info for the current host.
-
- It takes a few seconds to initialize access to the relay network. If
- you call this very soon after startup the data may not be available yet.
-
- This always return the most up-to-date information we have available
- right now, even if we are in the middle of re-calculating ping times.
-
-
-
-
- Same as PingLocation.EstimatePingTo, but assumes that one location is the local host.
- This is a bit faster, especially if you need to calculate a bunch of
- these in a loop to find the fastest one.
-
-
-
-
- If you need ping information straight away, wait on this. It will return
- immediately if you already have up to date ping data
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Timeout value (in ms) to use when first connecting
-
-
-
-
- Timeout value (in ms) to use after connection is established
-
-
-
-
- Upper limit of buffered pending bytes to be sent.
- If this is reached SendMessage will return LimitExceeded.
- Default is 524288 bytes (512k)
-
-
-
-
- Get Debug Information via OnDebugOutput event
-
- Except when debugging, you should only use NetDebugOutput.Msg
- or NetDebugOutput.Warning. For best performance, do NOT
- request a high detail level and then filter out messages in the callback.
-
- This incurs all of the expense of formatting the messages, which are then discarded.
- Setting a high priority value (low numeric value) here allows the library to avoid
- doing this work.
-
-
-
-
- So we can remember and provide a Get for DebugLEvel
-
-
-
-
- We need to keep the delegate around until it's not used anymore
-
-
-
-
- This can be called from other threads - so we're going to queue these up and process them in a safe
- place.
-
-
-
-
- Called regularly from the Dispatch loop so we can provide a timely
- stream of messages.
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Parental Settings Changed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This API can be used to selectively advertise your multiplayer game session in a Steam chat room group.
- Tell Steam the number of player spots that are available for your party, and a join-game string, and it
- will show a beacon in the selected group and allow that many users to “follow” the beacon to your party.
- Adjust the number of open slots if other players join through alternate matchmaking methods.
-
-
-
-
- The list of possible Party beacon locations has changed
-
-
-
-
- The list of active beacons may have changed
-
-
-
-
- Functions that provide information about Steam Remote Play sessions, streaming your game content to
- another computer or to a Steam Link app or hardware.
-
-
-
-
- Called when a session is connected
-
-
-
-
- Called when a session becomes disconnected
-
-
-
-
- Get the number of currently connected Steam Remote Play sessions
-
-
-
-
- Get the currently connected Steam Remote Play session ID at the specified index.
- IsValid will return false if it's out of bounds
-
-
-
-
- Invite a friend to Remote Play Together
- This returns false if the invite can't be sent
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Creates a new file, writes the bytes to the file, and then closes the file.
- If the target file already exists, it is overwritten
-
-
-
-
- Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
-
-
-
-
- Checks whether the specified file exists.
-
-
-
-
- Checks if a specific file is persisted in the steam cloud.
-
-
-
-
- Gets the specified file's last modified date/time.
-
-
-
-
- Gets the specified files size in bytes. 0 if not exists.
-
-
-
-
- Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the
- API.
-
-
-
-
- Deletes a file from the local disk, and propagates that delete to the cloud.
-
-
-
-
- Number of bytes total
-
-
-
-
- Number of bytes used
-
-
-
-
- Number of bytes remaining until your quota is used
-
-
-
-
- returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp
-
-
-
-
- Checks if the account wide Steam Cloud setting is enabled for this user
- or if they disabled it in the Settings->Cloud dialog.
-
-
-
-
- Checks if the per game Steam Cloud setting is enabled for this user
- or if they disabled it in the Game Properties->Update dialog.
-
- This must only ever be set as the direct result of the user explicitly
- requesting that it's enabled or not. This is typically accomplished with
- a checkbox within your in-game options
-
-
-
-
- Gets the total number of local files synchronized by Steam Cloud.
-
-
-
-
- Get a list of filenames synchronized by Steam Cloud
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A screenshot has been requested by the user from the Steam screenshot hotkey.
- This will only be called if Hooked is true, in which case Steam
- will not take the screenshot itself.
-
-
-
-
- A screenshot successfully written or otherwise added to the library and can now be tagged.
-
-
-
-
- A screenshot attempt failed
-
-
-
-
- Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB
- format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
-
-
-
-
- Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200
- pixels wide and the same aspect ratio
- as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The
- screenshots must be in either JPEG or TGA format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
- JPEG, TGA, and PNG formats are supported.
-
-
-
-
- Causes the Steam overlay to take a screenshot.
- If screenshots are being hooked by the game then a
- ScreenshotRequested callback is sent back to the game instead.
-
-
-
-
- Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the
- game handles them.
- Hooking is disabled by default, and only ever enabled if you do so with this function.
- If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the
- hotkey or
- when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or
- AddScreenshotToLibrary in response.
-
-
-
-
- Provides the core of the Steam Game Servers API
-
-
-
-
- User has been authed or rejected
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the server now is logged on and has a working connection to the Steam master server.
-
-
-
-
- This will occur periodically if the Steam client is not connected, and has failed when retrying to
- establish a connection (result, stilltrying)
-
-
-
-
- Disconnected from Steam
-
-
-
-
- Initialize the steam server.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Run the callbacks. This is also called in Async callbacks.
-
-
-
-
- Sets whether this should be marked as a dedicated server.
- If not, it is assumed to be a listen server.
-
-
-
-
- Gets or sets the current MaxPlayers.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current BotCount.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current Map Name.
-
-
-
-
- Gets or sets the current ModDir
-
-
-
-
- Gets the current product
-
-
-
-
- Gets or sets the current Product
-
-
-
-
- Gets or sets the current ServerName
-
-
-
-
- Set whether the server should report itself as passworded
-
-
-
-
- Gets or sets the current GameTags. This is a comma seperated list of tags for this server.
- When querying the server list you can filter by these tags.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Returns true if the server is connected and registered with the Steam master server
- You should have called LogOnAnonymous etc on startup.
-
-
-
-
- To the best of its ability this tries to get the server's
- current public ip address. Be aware that this is likely to return
- null for the first few seconds after initialization.
-
-
-
-
- Enable or disable heartbeats, which are sent regularly to the master server.
- Enabled by default.
-
-
-
-
- Set heartbeat interval, if automatic heartbeats are enabled.
- You can leave this at the default.
-
-
-
-
- Force send a heartbeat to the master server instead of waiting
- for the next automatic update (if you've left them enabled)
-
-
-
-
- Update this connected player's information. You should really call this
- any time a player's name or score changes. This keeps the information shown
- to server queries up to date.
-
-
-
-
- Sets a Key Value. These can be anything you like, and are accessible
- when querying servers from the server list.
-
- Information describing gamemodes are common here.
-
-
-
-
- Remove all key values
-
-
-
-
- Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange.
-
-
-
-
- Forget this guy. They're no longer in the game.
-
-
-
-
- If true, Steam wants to send a packet. You should respond by sending
- this packet in an unconnected way to the returned Address and Port.
-
- Packet to send. The Data passed is pooled - so use it immediately.
- True if we want to send a packet
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- Does the user own this app (which could be DLC)
-
-
-
-
- Downloads stats for the user
- If the user has no stats will return fail
- these stats will only be auto-updated for clients playing on the server
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first.
- Remember to use Commit after use.
-
-
-
-
- Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid
- first.
- Remember to use Commit after use.
-
-
-
-
- Return true if available, exists and unlocked
-
-
-
-
- Once you've set a stat change on a user you need to commit your changes.
- You can do that using this function. The callback will let you know if
- your action succeeded, but most of the time you can fire and forget.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Posted after Download call
-
-
-
-
- Start downloading this item. You'll get notified of completion via OnDownloadItemResult.
-
- The ID of the file you want to download
- If true this should go straight to the top of the download list
- true if nothing went wrong and the download is started
-
-
-
- Will attempt to download this item asyncronously - allowing you to instantly react to its installation
-
- The ID of the file you want to download
- An optional callback
- Allows you to send a message to cancel the download anywhere during the process
- How often to call the progress function
- true if downloaded and installed correctly
-
-
-
- Utility function to fetch a single item. Internally this uses Ugc.FileQuery -
- which you can use to query multiple items if you need to.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the Steam client now has a working connection to the Steam servers.
- Usually this will have occurred before the game has launched, and should only be seen if the
- user has dropped connection due to a networking issue or a Steam server update.
-
-
-
-
- Called when a connection attempt has failed.
- This will occur periodically if the Steam client is not connected,
- and has failed when retrying to establish a connection.
-
-
-
-
- Called if the client has lost connection to the Steam servers.
- Real-time services will be disabled until a matching OnSteamServersConnected has been posted.
-
-
-
-
- Sent by the Steam server to the client telling it to disconnect from the specified game server,
- which it may be in the process of or already connected to.
- The game client should immediately disconnect upon receiving this message.
- This can usually occur if the user doesn't have rights to play on the game server.
-
-
-
-
- Called whenever the users licenses (owned packages) changes.
-
-
-
-
- Called when an auth ticket has been validated.
- The first parameter is the steamid of this user
- The second is the Steam ID that owns the game, this will be different from the first
- if the game is being borrowed via Steam Family Sharing
-
-
-
-
- Used internally for GetAuthSessionTicketAsync
-
-
-
-
- Called when a user has responded to a microtransaction authorization request.
- ( appid, orderid, user authorized )
-
-
-
-
- Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the
- Steam overlay browser.
- You can use this to add support for external site signups where you want to pop back into the browser
- after some web page
- signup sequence, and optionally get back some detail about that.
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate,
- half rate, or zero rate.
-
-
-
-
- Starts/Stops voice recording.
- Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording
- when the user has released their push-to-talk hotkey or the game session has completed.
-
-
-
-
- Returns true if we have voice data waiting to be read
-
-
-
-
- Reads the voice data and returns the number of bytes written.
- The compressed data can be transmitted by your application and decoded back into raw audio data using
- DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not
- meant to be played directly.
- This should be called once per frame, and at worst no more than four times a second to keep the
- microphone input delay as low as
- possible. Calling this any less may result in gaps in the returned stream.
-
-
-
-
- Reads the voice data and returns the bytes. You should obviously ideally be using
- ReadVoiceData because it won't be creating a new byte array every call. But this
- makes it easier to get it working, so let the babies have their bottle.
-
-
-
-
- Decodes the compressed voice data returned by GetVoice.
- The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025
- to 48000.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
- This waits for a positive response from the backend before returning the ticket. This means
- the ticket is definitely ready to go as soon as it returns. Will return null if the callback
- times out or returns negatively.
-
-
-
-
- Checks if the current users looks like they are behind a NAT device.
- This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT.
-
-
-
-
- Gets the Steam level of the user, as shown on their Steam community profile.
-
-
-
-
- Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the
- specified URL.
- As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout
- pages will automatically recognize the user instead of presenting a login page.
- NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call
- this API when you are about to launch the browser, or else immediately navigate to the result URL using
- a hidden browser window.
- NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea
- to request and visit a new auth URL every 12 hours.
-
-
-
-
- Checks whether the current user has verified their phone number.
-
-
-
-
- Checks whether the current user has Steam Guard two factor authentication enabled on their account.
-
-
-
-
- Checks whether the user's phone number is used to uniquely identify them.
-
-
-
-
- Checks whether the current user's phone number is awaiting (re)verification.
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- If you get a null result from this it's probably because you're calling it too often.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Get anti indulgence / duration control
-
-
-
-
- called when the achivement icon is loaded
-
-
-
-
- called when the latests stats and achievements have been received
- from the server
-
-
-
-
- result of a request to store the user stats for a game
-
-
-
-
- result of a request to store the achievements for a game, or an
- "indicate progress" call. If both m_nCurProgress and m_nMaxProgress
- are zero, that means the achievement has been fully unlocked
-
-
-
-
- Callback indicating that a user's stats have been unloaded
-
-
-
-
- Get the available achievements
-
-
-
-
- Show the user a pop-up notification with the current progress toward an achievement.
- Will return false if RequestCurrentStats has not completed and successfully returned
- its callback, if the achievement doesn't exist/has unpublished changes in the app's
- Steamworks Admin page, or if the achievement is unlocked.
-
-
-
-
- Tries to get the number of players currently playing this game.
- Or -1 if failed.
-
-
-
-
- Send the changed stats and achievements data to the server for permanent storage.
- If this fails then nothing is sent to the server. It's advisable to keep trying until the call is
- successful.
- This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You
- should only be calling this during major state changes such as the end of a round, the map changing, or
- the user leaving a server. This call is required to display the achievement unlock notification dialog
- though, so if you have called SetAchievement then it's advisable to call this soon after that.
- If you have stats or achievements that you have saved locally but haven't uploaded with this function
- when your application process ends then this function will automatically be called.
- You can find additional debug information written to the %steam_install%\logs\stats_log.txt file.
- This function returns true upon success if :
- RequestCurrentStats has completed and successfully returned its callback AND
- the current game has stats associated with it in the Steamworks Partner backend, and those stats are
- published.
-
-
-
-
- Asynchronously request the user's current stats and achievements from the server.
- You must always call this first to get the initial status of stats and achievements.
- Only after the resulting callback comes back can you start calling the rest of the stats
- and achievement functions for the current user.
-
-
-
-
- Asynchronously fetches global stats data, which is available for stats marked as
- "aggregated" in the App Admin panel of the Steamworks website.
- You must have called RequestCurrentStats and it needs to return successfully via
- its callback prior to calling this.
-
- How many days of day-by-day history to retrieve in addition to the overall totals. The
- limit is 60.
-
- OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the
- remote call failed
-
-
-
-
- Gets a leaderboard by name, it will create it if it's not yet created.
- Leaderboards created with this function will not automatically show up in the Steam Community.
- You must manually set the Community Name field in the App Admin panel of the Steamworks website.
- As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on
- the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of
- dynamically created leaderboards.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Get a Int stat value
-
-
-
-
- Get a float stat value
-
-
-
-
- Practically wipes the slate clean for this user. If includeAchievements is true, will wipe
- any achievements too.
-
-
-
-
-
- Interface which provides access to a range of miscellaneous utility functions
-
-
-
-
- The country of the user changed
-
-
-
-
- Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute
- The parameter is the number of minutes left
-
-
-
-
- Called when Steam wants to shutdown
-
-
-
-
- Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if
- cancelled etc.
-
-
-
-
- Returns the number of seconds since the application was active
-
-
-
-
- Returns the number of seconds since the user last moved the mouse etc
-
-
-
-
- Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time)
-
-
-
-
- returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via
- an IP-to-location database)
- e.g "US" or "UK".
-
-
-
-
- returns true if the image exists, and the buffer was successfully filled out
- results are returned in RGBA format
- the destination buffer size should be 4 * height * width * sizeof(char)
-
-
-
-
- returns the image in RGBA format
-
-
-
-
- Returns true if we're using a battery (ie, a laptop not plugged in)
-
-
-
-
- Returns battery power [0-1]
-
-
-
-
- Sets the position where the overlay instance for the currently calling game should show notifications.
- This position is per-game and if this function is called from outside of a game context it will do
- nothing.
-
-
-
-
- Returns true if the overlay is running and the user can access it. The overlay process could take a few
- seconds to
- start and hook the game process, so this function will initially return false while the overlay is
- loading.
-
-
-
-
- Normally this call is unneeded if your game has a constantly running frame loop that calls the
- D3D Present API, or OGL SwapBuffers API every frame.
-
- However, if you have a game that only refreshes the screen on an event driven basis then that can break
- the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also
- need to Present() to the screen any time an even needing a notification happens or when the overlay is
- brought up over the game by a user. You can use this API to ask the overlay if it currently need a
- present
- in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you
- refresh the screen with Present or SwapBuffers to allow the overlay to do it's work.
-
-
-
-
- Asynchronous call to check if an executable file has been signed using the public key set on the signing
- tab
- of the partner site, for example to refuse to load modified executable files.
-
-
-
-
- Activates the Big Picture text input dialog which only supports gamepad input
-
-
-
-
- Returns previously entered text
-
-
-
-
- returns the language the steam client is running in, you probably want
- Apps.CurrentGameLanguage instead, this is for very special usage cases
-
-
-
-
- returns true if Steam itself is running in VR mode
-
-
-
-
- Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition
-
-
-
-
- returns true if Steam and the Steam Overlay are running in Big Picture mode
- Games much be launched through the Steam client to enable the Big Picture overlay. During development,
- a game can be added as a non-steam game to the developers library to test this feature
-
-
-
-
- ask SteamUI to create and render its OpenVR dashboard
-
-
-
-
- Set whether the HMD content will be streamed via Steam In-Home Streaming
- If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be
- allowed.
- If this is set to false, then the application window will be streamed instead, and remote input will be
- allowed.
- The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game.
- (this is useful for games that have asymmetric multiplayer gameplay)
-
-
-
-
- Returns whether this steam client is a Steam China specific client, vs the global client
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Return true if currently using Steam's live broadcasting
-
-
-
-
- If we're broadcasting, will return the number of live viewers
-
-
-
-
- Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive')
- This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in
- our state loops, instead of trying to place it in all of your state transitions.
-
-
-
-
- Returns the current state of the supplied digital game action
-
-
-
-
- Returns the current state of these supplied analog game action
-
-
-
-
- Returns true if this is the local user
-
-
-
-
- Return true if this is a friend
-
-
-
-
- Returns true if you have this user blocked
-
-
-
-
- Return true if this user is playing the game we're running
-
-
-
-
- Returns true if this friend is online
-
-
-
-
- Sometimes we don't know the user's name. This will wait until we have
- downloaded the information on this user.
-
-
-
-
- Returns true if this friend is marked as away
-
-
-
-
- Returns true if this friend is marked as busy
-
-
-
-
- Returns true if this friend is marked as snoozing
-
-
-
-
- Invite this friend to the game that we are playing
-
-
-
-
- Sends a message to a Steam friend. Returns true if success
-
-
-
-
- Tries to get download the latest user stats
-
- True if successful, False if failure
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user achievement state. Must call RequestUserStats first.
-
- The name of the achievement you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a the time this achievement was unlocked.
-
- The name of the achievement you want to get
- The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return
- DateTime.MinValue
-
-
-
-
- Shortcut to call GetProperty( "name" )
-
-
-
-
- Shortcut to call GetProperty( "description" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url_large" )
-
-
-
-
- Shortcut to call GetProperty( "price_category" )
-
-
-
-
- Shortcut to call GetProperty( "type" )
-
-
-
-
- Returns true if this is an item that generates an item, rather
- than something that is actual an item
-
-
-
-
- Shortcut to call GetProperty( "exchange" )
-
-
-
-
- Get a list of exchanges that are available to make this item
-
-
-
-
- Shortcut to call GetBoolProperty( "marketable" )
-
-
-
-
- Shortcut to call GetBoolProperty( "tradable" )
-
-
-
-
- Gets the property timestamp
-
-
-
-
- Gets the property modified
-
-
-
-
- Get a specific property by name
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Gets a list of all properties on this item
-
-
-
-
- Returns the price of this item in the local currency (SteamInventory.Currency)
-
-
-
-
- If the price has been discounted, LocalPrice will differ from LocalBasePrice
- (assumed, this isn't documented)
-
-
-
-
- Return a list of recepies that contain this item
-
-
-
-
- Only available if the result set was created with the getproperties
-
-
-
-
- This item is account-locked and cannot be traded or given away.
- This is an item status flag which is permanently attached to specific item instances
-
-
-
-
- The item has been destroyed, traded away, expired, or otherwise invalidated.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- The item quantity has been decreased by 1 via ConsumeItem API.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is
- permanently removed.
- Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game
- implements item removal at all,
- a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain
- item definitions or fully
- blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother
- borrowed my laptop and deleted all of my rare items".
-
-
-
-
- Split stack into two items
-
-
-
-
- Add x units of the target item to this item
-
-
-
-
- Will try to return the date that this item was aquired. You need to have for the items
- with their properties for this to work.
-
-
-
-
- Tries to get the origin property. Need properties for this to work.
- Will return a string like "market"
-
-
-
-
- Small utility class to describe an item with a quantity
-
-
-
-
- A structured description of an item exchange
-
-
-
-
- The definition ID of the ingredient.
-
-
-
-
- If we don't know about this item definition this might be null.
- In which case, DefinitionId should still hold the correct id.
-
-
-
-
- The amount of this item needed. Generally this will be 1.
-
-
-
-
- The item that this will create.
-
-
-
-
- The items, with quantity required to create this item.
-
-
-
-
- Checks whether an inventory result handle belongs to the specified Steam ID.
- This is important when using Deserialize, to verify that a remote player is not pretending to have a
- different user's inventory
-
-
-
-
- Serialized result sets contain a short signature which can't be forged or replayed across different game
- sessions.
- A result set can be serialized on the local client, transmitted to other players via your game
- networking, and
- deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing
- rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a
- serialized
- result depends on the number items which are being serialized.When securely transmitting items to other
- players,
- it is recommended to use GetItemsByID first to create a minimal result set.
- Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See
- DeserializeResult
- for expiration handling.
-
-
-
-
- Creator of the beacon
-
-
-
-
- Creator of the beacon
-
-
-
-
- Will attempt to join the party. If successful will return a connection string.
- If failed, will return null
-
-
-
-
- When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your
- game a ReservationNotification callback.
- When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined
- successfully
-
-
-
-
- To cancel a reservation (due to timeout or user input), call this.
- Steam will open a new reservation slot.
- Note: The user may already be in-flight to your game, so it's possible they will still connect and try
- to join your party.
-
-
-
-
- Turn off the beacon
-
-
-
-
- Used to set up the server.
- The variables in here are all required to be set, and can't be changed once the server is created.
-
-
-
-
- The version string is usually in the form x.x.x.x, and is used by the master server to detect when the
- server is out of date.
- If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If
- this version number is
- less than that latest version then your server won't show.
-
-
-
-
- This should be the same directory game where gets installed into. Just the folder name, not the whole
- path. I.e. "Rust", "Garrysmod".
-
-
-
-
- The game description. Setting this to the full name of your game is recommended.
-
-
-
-
- Is a dedicated server
-
-
-
-
- Set the Steam quert port
-
-
-
-
- If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server
- API to use
- "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets
- for the master
- server updater.
-
- More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket
-
-
-
-
- Create a Normal Workshop item that can be subscribed to
-
-
-
-
- Workshop item that is meant to be voted on for the purpose of selling in-game
-
-
-
-
- https://partner.steamgames.com/doc/features/workshop/implementation#Legal
-
-
-
-
- The actual ID of this file
-
-
-
-
- The given title of this item
-
-
-
-
- The description of this item, in your local language if available
-
-
-
-
- A list of tags for this item, all lowercase
-
-
-
-
- App Id of the app that created this item
-
-
-
-
- App Id of the app that will consume this item.
-
-
-
-
- User who created this content
-
-
-
-
- The bayesian average for up votes / total votes, between [0,1]
-
-
-
-
- Time when the published item was created
-
-
-
-
- Time when the published item was last updated
-
-
-
-
- True if this is publically visible
-
-
-
-
- True if this item is only visible by friends of the creator
-
-
-
-
- True if this is only visible to the creator
-
-
-
-
- True if this item has been banned
-
-
-
-
- Whether the developer of this app has specifically flagged this item as accepted in the Workshop
-
-
-
-
- The number of upvotes of this item
-
-
-
-
- The number of downvotes of this item
-
-
-
-
- Start downloading this item.
- If this returns false the item isn't getting downloaded.
-
-
-
-
- If we're downloading, how big the total download is
-
-
-
-
- If we're downloading, how much we've downloaded
-
-
-
-
- If we're installed, how big is the install
-
-
-
-
- If we're downloading our current progress as a delta betwen 0-1
-
-
-
-
- A case insensitive check for tag
-
-
-
-
- Allows the user to subscribe to this item
-
-
-
-
- Allows the user to subscribe to download this item asyncronously
- If CancellationToken is default then there is 60 seconds timeout
- Progress will be set to 0-1
-
-
-
-
- Allows the user to unsubscribe from this item
-
-
-
-
- Adds item to user favorite list
-
-
-
-
- Removes item from user favorite list
-
-
-
-
- Allows the user to rate a workshop item up or down.
-
-
-
-
- Gets the current users vote on the item
-
-
-
-
- Return a URL to view this item online
-
-
-
-
- The URl to view this item's changelog
-
-
-
-
- The URL to view the comments on this item
-
-
-
-
- The URL to discuss this item
-
-
-
-
- The URL to view this items stats online
-
-
-
-
- The URL to the preview image for this item
-
-
-
-
- Edit this item
-
-
-
-
- Found items must have at least one of the defined tags
-
-
-
-
- Found items must have all defined tags
-
-
-
-
- Returns the current Unix Epoch
-
-
-
-
- Convert an epoch to a datetime
-
-
-
-
- Convert a DateTime to a unix time
-
-
-
-
- Returns a buffer. This will get returned and reused later on.
-
-
-
-
- Prevent unity from stripping shit we depend on
- https://docs.unity3d.com/Manual/ManagedCodeStripping.html
-
-
-
-
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml.meta
deleted file mode 100644
index 5e5f20c..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: f13b7820b3a9b6145a8ea48a92291748
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll
deleted file mode 100644
index f7f75ea..0000000
Binary files a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll and /dev/null differ
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll.meta
deleted file mode 100644
index c824695..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.dll.meta
+++ /dev/null
@@ -1,81 +0,0 @@
-fileFormatVersion: 2
-guid: fb41692bc4208c0449c96c0576331408
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- '': Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 0
- Exclude Linux64: 1
- Exclude OSXUniversal: 1
- Exclude Win: 0
- Exclude Win64: 1
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- CPU: x86
- DefaultValueInitialized: true
- OS: Windows
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml
deleted file mode 100644
index 4f58980..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml
+++ /dev/null
@@ -1,3571 +0,0 @@
-
-
-
- Facepunch.Steamworks.Win32
-
-
-
-
- An awaitable version of a SteamAPICall_t
-
-
-
-
- This gets called if IsComplete returned false on the first call.
- The Action "continues" the async call. We pass it to the Dispatch
- to be called when the callback returns.
-
-
-
-
- Gets the result. This is called internally by the async shit.
-
-
-
-
- Return true if complete or failed
-
-
-
-
- This is what makes this struct awaitable
-
-
-
-
- Gives us a generic way to get the CallbackId of structs
-
-
-
-
- Cancels a ticket.
- You should cancel your ticket when you close the game or leave a server.
-
-
-
-
- Responsible for all callback/callresult handling
-
- This manually pumps Steam's message queue and dispatches those
- events to any waiting callbacks/callresults.
-
-
-
-
- If set then we'll call this function every time a callback is generated.
-
- This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific
- callback then please create an issue on github and I'll add it!
-
- Params are : [Callback Type] [Callback Contents] [server]
-
-
-
-
-
- Called if an exception happens during a callback/callresult.
- This is needed because the exception isn't always accessible when running
- async.. and can fail silently. With this hooked you won't be stuck wondering
- what happened.
-
-
-
-
- This gets called from Client/Server Init
- It's important to switch to the manual dispatcher
-
-
-
-
- Make sure we don't call Frame in a callback - because that'll cause some issues for everyone.
-
-
-
-
- Calls RunFrame and processes events from this Steam Pipe
-
-
-
-
- To be safe we don't call the continuation functions while iterating
- the Callback list. This is maybe overly safe because the only way this
- could be an issue is if the callback list is modified in the continuation
- which would only happen if starting or shutting down in the callback.
-
-
-
-
- A callback is a general global message
-
-
-
-
- Given a callback, try to turn it into a string
-
-
-
-
- A result is a reply to a specific command
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Watch for a steam api call
-
-
-
-
- Install a global callback. The passed function will get called if it's all good.
-
-
-
-
- The score is just a simple numerical value
-
-
-
-
- The score represents a time, in seconds
-
-
-
-
- The score represents a time, in milliseconds
-
-
-
-
- The top-score is the lowest number
-
-
-
-
- The top-score is the highest number
-
-
-
-
- Send the message unreliably. Can be lost. Messages *can* be larger than a
- single MTU (UDP packet), but there is no retransmission, so if any piece
- of the message is lost, the entire message will be dropped.
-
- The sending API does have some knowledge of the underlying connection, so
- if there is no NAT-traversal accomplished or there is a recognized adjustment
- happening on the connection, the packet will be batched until the connection
- is open again.
-
-
-
-
- Disable Nagle's algorithm.
- By default, Nagle's algorithm is applied to all outbound messages. This means
- that the message will NOT be sent immediately, in case further messages are
- sent soon after you send this, which can be grouped together. Any time there
- is enough buffered data to fill a packet, the packets will be pushed out immediately,
- but partially-full packets not be sent until the Nagle timer expires.
-
-
-
-
- If the message cannot be sent very soon (because the connection is still doing some initial
- handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable
- messages. Using this flag on reliable messages is invalid.
-
-
-
- Reliable message send. Can send up to 0.5mb in a single message.
- Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for
- efficient sends of large chunks of data.
-
-
-
- Return a NetIdentity that represents LocalHost
-
-
-
-
- Return true if this identity is localhost
-
-
-
-
- Convert to a SteamId
-
-
-
-
-
- Set the specified Address
-
-
-
-
- Automatically convert to a SteamId
-
-
-
-
-
- Returns NULL if we're not a SteamId
-
-
-
-
- Returns NULL if we're not a NetAddress
-
-
-
-
- We override tostring to provide a sensible representation
-
-
-
-
- The Port. This is redundant documentation.
-
-
-
-
- Any IP, specific port
-
-
-
-
- Localhost IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Set everything to zero
-
-
-
-
- Return true if the IP is ::0. (Doesn't check port.)
-
-
-
-
- Return true if IP is mapped IPv4
-
-
-
-
- Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1)
-
-
-
-
- Get the Address section
-
-
-
-
- Used as a base to create your client connection. This creates a socket
- to a single connection.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Accept an incoming connection that has been received on a listen socket.
-
-
-
-
- Disconnects from the remote host and invalidates the connection handle. Any unread data on the
- connection is discarded..
- reasonCode is defined and used by you.
-
-
-
-
- Get/Set connection user data
-
-
-
-
- A name for the connection, used mostly for debugging
-
-
-
-
- This is the best version to use.
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- This creates a ton of garbage - so don't do anything with this beyond testing!
-
-
-
-
- Flush any messages waiting on the Nagle timer and send them at the next transmission
- opportunity (often that means right now).
-
-
-
-
- Returns detailed connection stats in text format. Useful
- for dumping to a log, etc.
-
- Plain text connection info
-
-
-
- Describe the state of a connection
-
-
-
-
- High level state of the connection
-
-
-
-
- Remote address. Might be all 0's if we don't know it, or if this is N/A.
-
-
-
-
- Who is on the other end? Depending on the connection type and phase of the connection, we might not know
-
-
-
-
- Basic cause of the connection termination or problem.
-
-
-
-
-
- Object that describes a "location" on the Internet with sufficient
- detail that we can reasonably estimate an upper bound on the ping between
- the two hosts, even if a direct route between the hosts is not possible,
- and the connection must be routed through the Steam Datagram Relay network.
- This does not contain any information that identifies the host. Indeed,
- if two hosts are in the same building or otherwise have nearly identical
- networking characteristics, then it's valid to use the same location
- object for both of them.
-
- NOTE: This object should only be used in the same process! Do not serialize it,
- send it over the wire, or persist it in a file or database! If you need
- to do that, convert it to a string representation using the methods in
- ISteamNetworkingUtils().
-
-
-
-
- Estimate the round-trip latency between two arbitrary locations, in
- milliseconds. This is a conservative estimate, based on routing through
- the relay network. For most basic relayed connections, this ping time
- will be pretty accurate, since it will be based on the route likely to
- be actually used.
-
- If a direct IP route is used (perhaps via NAT traversal), then the route
- will be different, and the ping time might be better. Or it might actually
- be a bit worse! Standard IP routing is frequently suboptimal!
-
- But even in this case, the estimate obtained using this method is a
- reasonable upper bound on the ping time. (Also it has the advantage
- of returning immediately and not sending any packets.)
-
- In a few cases we might not able to estimate the route. In this case
- a negative value is returned. k_nSteamNetworkingPing_Failed means
- the reason was because of some networking difficulty. (Failure to
- ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot
- currently answer the question for some other reason.
-
- Do you need to be able to do this from a backend/matchmaking server?
- You are looking for the "ticketgen" library.
-
-
-
- Destroy a listen socket. All the connections that were accepting on the listen
- socket are closed ungracefully.
-
-
-
-
- True if unlocked
-
-
-
-
- Should hold the unlock time if State is true
-
-
-
-
- Gets the icon of the achievement. This can return a null image even though the image exists if the image
- hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be
- downloaded.
-
-
-
-
- Gets the icon of the achievement, waits for it to load if we have to
-
-
-
-
- Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data
- available.
-
-
-
-
- Make this achievement earned
-
-
-
-
- Reset this achievement to not achieved
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero
- rate.
-
-
-
-
- appid generating playtime
-
-
-
-
- is duration control applicable to user + game combination
-
-
-
-
- playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in
- seconds
-
-
-
-
- playtime on current calendar day
-
-
-
-
- recommended progress
-
-
-
-
- the name of a leaderboard
-
-
-
-
- Submit your score and replace your old score even if it was better
-
-
-
-
- Submit your new score, but won't replace your high score if it's lower
-
-
-
-
- Attaches a piece of user generated content the user's entry on a leaderboard
-
-
-
-
- Used to query for a sequential range of leaderboard entries by leaderboard Sort.
-
-
-
-
- Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the
- leaderboard
- before or after the user's entry, Steam will adjust the range to try to return the number of entries
- requested.
- For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will
- return the first
- 5 entries in the leaderboard. If The current user has no entry, this will return null.
-
-
-
-
- Used to retrieve all leaderboard entries for friends of the current user
-
-
-
-
- Try to join this room. Will return RoomEnter.Success on success,
- and anything else is a failure
-
-
-
-
- Leave a lobby; this will take effect immediately on the client side
- other users in the lobby will be notified by a LobbyChatUpdate_t callback
-
-
-
-
- Invite another user to the lobby
- will return true if the invite is successfully sent, whether or not the target responds
- returns false if the local user is not connected to the Steam servers
-
-
-
-
- returns the number of users in the specified lobby
-
-
-
-
- Returns current members. Need to be in the lobby to see the users.
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Removes a metadata key from the lobby
-
-
-
-
- Get all data for this lobby
-
-
-
-
- Gets per-user metadata for someone in this lobby
-
-
-
-
- Sets per-user metadata (for the local user implicitly)
-
-
-
-
- Sends a string to the chat room
-
-
-
-
- Sends bytes the the chat room
- this isn't exposed because there's no way to read raw bytes atm,
- and I figure people can send json if they want something more advanced
-
-
-
-
- Refreshes metadata for a lobby you're not necessarily in right now
- you never do this for lobbies you're a member of, only if your
- this will send down all the metadata associated with a lobby
- this is an asynchronous call
- returns false if the local user is not connected to the Steam servers
- results will be returned by a LobbyDataUpdate_t callback
- if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
-
-
-
-
- Max members able to join this lobby. Cannot be over 250.
- Can only be set by the owner
-
-
-
-
- [SteamID variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- [IP/Port variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- Gets the details of the lobby's game server, if set. Returns true if the lobby is
- valid and has a server set, otherwise returns false.
-
-
-
-
- You must be the lobby owner to set the owner
-
-
-
-
- Check if the specified SteamId owns the lobby
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- Filter by specified key/value pair; string parameters
-
-
-
-
- Numerical filter where value is less than the value provided
-
-
-
-
- Numerical filter where value is greater than the value provided
-
-
-
-
- Numerical filter where value must be equal to the value provided
-
-
-
-
- Numerical filter where value must not equal the value provided
-
-
-
-
- Test key, initialize numerical filter list if necessary, then add new numerical filter
-
-
-
-
- Order filtered results according to key/values nearest the provided key/value pair.
- Can specify multiple near value filters; each successive filter is lower priority than the previous.
-
-
-
-
- returns only lobbies with the specified number of slots available
-
-
-
-
- sets how many results to return, the lower the count the faster it is to download the lobby results
-
-
-
-
- Run the query, get the matching lobbies
-
-
-
-
- A server query packet.
-
-
-
-
- Target IP address
-
-
-
-
- Target port
-
-
-
-
- This data is pooled. Make a copy if you don't use it immediately.
- This buffer is also quite large - so pay attention to Size.
-
-
-
-
- Size of the data
-
-
-
-
- Represents a RemotePlaySession from the SteamRemotePlay interface
-
-
-
-
- Returns true if this session was valid when created. This will stay true even
- after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected
-
-
-
-
- Get the SteamID of the connected user
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Gets the individual tags for this server
-
-
-
-
- Add this server to our history list
- If we're already in the history list, weill set the last played time to now
-
-
-
-
- If this server responds to source engine style queries, we'll be able to get a list of rules here
-
-
-
-
- Remove this server from our history list
-
-
-
-
- Add this server to our favourite list
-
-
-
-
- Remove this server from our favourite list
-
-
-
-
- Find out the status of an asynchronous inventory result handle.
-
-
-
-
- Copies the contents of a result set into a flat array. The specific contents of the result set depend on
- which query which was used.
-
-
-
-
- Returns the server time at which the result was generated. Compare against the value of
- IClientUtils::GetServerRealTime() to determine age.
-
-
-
-
- Returns true if the result belongs to the target steam ID or false if the result does not. This is
- important when using DeserializeResult to verify that a remote player is not pretending to have a
- different users inventory.
-
-
-
-
- Destroys a result handle and frees all associated memory.
-
-
-
-
- Captures the entire state of the current users Steam inventory.
-
-
-
-
- Captures the state of a subset of the current users Steam inventory identified by an array of item
- instance IDs.
-
-
-
-
- GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the
- items (one time only).
-
-
-
-
- ConsumeItem() removes items from the inventory permanently.
-
-
-
-
- Deprecated method. Playtime accounting is performed on the Steam servers.
-
-
-
-
- Playtime credit must be consumed and turned into item drops by your game.
-
-
-
-
- LoadItemDefinitions triggers the automatic load and refresh of item definitions.
-
-
-
-
- Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is
- k_ELeaderboardDataRequestUsers
-
-
-
-
- An optional interface to use instead of deriving
-
-
-
-
- The actual connection we're managing
-
-
-
-
- The last received ConnectionInfo
-
-
-
-
- We're trying to connect!
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- We started connecting to this guy
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- We got disconnected
-
-
-
-
- Received a message
-
-
-
-
- Must call Accept or Close on the connection within a second or so
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- Called when the connection leaves
-
-
-
-
- Received a message from a connection
-
-
-
-
- Used as a base to create your networking server. This creates a socket
- and listens/communicates with multiple queries.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Default behaviour is to accept every connection
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- Which app we're querying. Defaults to the current app.
-
-
-
-
- When a new server is added, this function will get called
-
-
-
-
- Called for every responsive server
-
-
-
-
- A list of servers that responded. If you're only interested in servers that responded since you
- last updated, then simply clear this list.
-
-
-
-
- A list of servers that were in the master list but didn't respond.
-
-
-
-
- Query the server list. Task result will be true when finished
-
-
-
-
-
- Exposes a wide range of information and actions for applications and Downloadable Content (DLC).
-
-
-
-
- posted after the user gains ownership of DLC and that DLC is installed
-
-
-
-
- posted after the user gains executes a Steam URL with command line or query parameters
- such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc
- while the game is already running. The new params can be queried
- with GetLaunchQueryParam and GetLaunchCommandLine
-
-
-
-
- Checks if the active user is subscribed to the current App ID
-
-
-
-
- Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender
- SteamID
-
-
-
-
- Checks if the license owned by the user provides low violence depots.
- Low violence depots are useful for copies sold in countries that have content restrictions
-
-
-
-
- Checks whether the current App ID license is for Cyber Cafes.
-
-
-
-
- CChecks if the user has a VAC ban on their account
-
-
-
-
- Gets the current language that the user has set.
- This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title.
-
-
-
-
- Gets a list of the languages the current app supports.
-
-
-
-
- Checks if the active user is subscribed to a specified AppId.
- Only use this if you need to check ownership of another game related to yours, a demo for example.
-
-
-
-
- Checks if the user owns a specific DLC and if the DLC is installed
-
-
-
-
- Returns the time of the purchase of the app
-
-
-
-
- Checks if the user is subscribed to the current app through a free weekend
- This function will return false for users who have a retail or other type of license
- Before using, please ask your Valve technical contact how to package and secure your free weekened
-
-
-
-
- Returns metadata for all available DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Returns null if we're not on a beta branch, else the name of the branch
-
-
-
-
- Allows you to force verify game content on next launch.
-
- If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a
- server),
- you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit.
-
-
-
-
- Gets a list of all installed depots for a given App ID in mount order
-
-
-
-
- Gets the install folder for a specific AppID.
- This works even if the application is not installed, based on where the game would be installed with the
- default Steam library location.
-
-
-
-
- The app may not actually be owned by the current user, they may have it left over from a free weekend,
- etc.
-
-
-
-
- Gets the Steam ID of the original owner of the current app. If it's different from the current user then
- it is borrowed..
-
-
-
-
- Gets the associated launch parameter if the game is run via
- steam://run/appid/?param1=value1;param2=value2;param3=value3 etc.
- Parameter names starting with the character '@' are reserved for internal use and will always return an
- empty string.
- Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried
- by the game,
- but it is advised that you not param names beginning with an underscore for your own features.
-
-
-
-
- Gets the download progress for optional DLC.
-
-
-
-
- Gets the buildid of this app, may change at any time based on backend updates to the game.
- Defaults to 0 if you're not running a build downloaded from steam.
-
-
-
-
- Asynchronously retrieves metadata details about a specific file in the depot manifest.
- Currently provides:
-
-
-
-
- Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/.
- This method of passing a connect string (used when joining via rich presence, accepting an
- invite, etc) is preferable to passing the connect string on the operating system command
- line, which is a security risk. In order for rich presence joins to go through this
- path and not be placed on the OS command line, you must set a value in your app's
- configuration on Steam. Ask Valve for help with this.
-
-
-
-
- Initialize the steam client.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Checks if the current user's Steam client is connected to the Steam servers.
- If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam
- client will automatically be trying to recreate the connection as often as possible. When the
- connection is restored a SteamServersConnected_t callback will be posted.
- You usually don't need to check for this yourself. All of the API calls that rely on this will
- check internally. Forcefully disabling stuff when the player loses access is usually not a
- very good experience for the player and you could be preventing them from accessing APIs that do not
- need a live connection to Steam.
-
-
-
-
- Gets the Steam ID of the account currently logged into the Steam client. This is
- commonly called the 'current user', or 'local user'.
- A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat
- rooms, and used to differentiate users in all parts of the Steamworks API.
-
-
-
-
- returns the local players name - guaranteed to not be NULL.
- this is the same name as on the users community profile page
-
-
-
-
- gets the status of the current user
-
-
-
-
- returns the appID of the current process
-
-
-
-
- Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't
- this returns true then it starts the Steam client if required and launches your game again through it,
- and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it
- may not relaunch the exact executable that called it, as it will always relaunch from the version
- installed in your Steam library folder/
- Note that during development, when not launching via Steam, this might always return true.
-
-
-
-
- Called in interfaces that rely on this being initialized
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Called when chat message has been received from a friend. You'll need to turn on
- ListenForFriendsMessages to recieve this. (friend, msgtype, message)
-
-
-
-
- called when a friends' status changes
-
-
-
-
- Called when the user tries to join a game from their friends list
- rich presence will have been set with the "connect" key which is set here
-
-
-
-
- Posted when game overlay activates or deactivates
- the game can use this to be pause or resume single player games
-
-
-
-
- Called when the user tries to join a different game server from their friends list
- game client should attempt to connect to specified server when this is received
-
-
-
-
- Called when the user tries to join a lobby from their friends list
- game client should attempt to connect to specified lobby when this is received
-
-
-
-
- Callback indicating updated data about friends rich presence information
-
-
-
-
- The dialog to open. Valid options are:
- "friends",
- "community",
- "players",
- "settings",
- "officialgamegroup",
- "stats",
- "achievements".
-
-
-
-
- "steamid" - Opens the overlay web browser to the specified user or groups profile.
- "chat" - Opens a chat window to the specified user, or joins the group chat.
- "jointrade" - Opens a window to a Steam Trading session that was started with the
- ISteamEconomy/StartTrade Web API.
- "stats" - Opens the overlay web browser to the specified user's stats.
- "achievements" - Opens the overlay web browser to the specified user's achievements.
- "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend.
- "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend.
- "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming
- friend invite.
- "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming
- friend invite.
-
-
-
-
- Activates the Steam Overlay to the Steam store page for the provided app.
-
-
-
-
- Activates Steam Overlay web browser directly to the specified URL.
-
-
-
-
- Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the
- provided lobby.
-
-
-
-
- Mark a target user as 'played with'.
- NOTE: The current user must be in game with the other player for the association to work.
-
-
-
-
- Requests the persona name and optionally the avatar of a specified user.
- NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars,
- don't request them.
- returns true if we're fetching the data, false if we already have it
-
-
-
-
- Find a rich presence value by key for current user. Will be null if not found.
-
-
-
-
- Sets a rich presence value by key for current user.
-
-
-
-
- Clears all of the current user's rich presence data.
-
-
-
-
- Listens for Steam friends chat messages.
- You can then show these chats inline in the game. For example with a Blizzard style chat message system
- or the chat system in Dota 2.
- After enabling this you will receive callbacks when ever the user receives a chat message.
-
-
-
-
- You shouldn't really need to call this because it get called by RunCallbacks on SteamClient
- but Valve think it might be a nice idea if you call it right before you get input info -
- just to make sure the info you're getting is 100% up to date.
-
-
-
-
- Return a list of connected controllers.
-
-
-
-
- Return an absolute path to the PNG image glyph for the provided digital action name. The current
- action set in use for the controller will be used for the lookup. You should cache the result and
- maintain your own list of loaded PNG assets.
-
-
-
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Call this if you're going to want to access definition information. You should be able to get
- away with calling this once at the start if your game, assuming your items don't change all the time.
- This will trigger OnDefinitionsUpdated at which point Definitions should be set.
-
-
-
-
- Will call LoadItemDefinitions and wait until Definitions is not null
-
-
-
-
- Try to find the definition that matches this definition ID.
- Uses a dictionary so should be about as fast as possible.
-
-
-
-
- We will try to keep this list of your items automatically up to date.
-
-
-
-
- Update the list of Items[]
-
-
-
-
- Get all items and return the InventoryResult
-
-
-
-
- This is used to grant a specific item to the user. This should
- only be used for development prototyping, from a trusted server,
- or if you don't care about hacked clients granting arbitrary items.
- This call can be disabled by a setting on Steamworks.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Deserializes a result set and verifies the signature bytes.
- This call has a potential soft-failure mode where the Result is expired, it will
- still succeed in this mode.The "expired"
- result could indicate that the data may be out of date - not just due to timed
- expiration( one hour ), but also because one of the items in the result set may
- have been traded or consumed since the result set was generated.You could compare
- the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine
- how old the data is. You could simply ignore the "expired" result code and
- continue as normal, or you could request the player with expired data to send
- an updated result set.
- You should call CheckResultSteamID on the result handle when it completes to verify
- that a remote player is not pretending to have a different user's inventory.
-
-
-
-
- Grant all promotional items the user is eligible for
-
-
-
-
- Trigger an item drop for this user. This is for timed drops.
-
-
-
-
- Trigger a promo item drop. You can call this at startup, it won't
- give users multiple promo drops.
-
-
-
-
- Start buying a cart load of items. This will return a positive result is the purchase has
- begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success.
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Maximum number of characters a lobby metadata key can be
-
-
-
-
- Someone invited you to a lobby
-
-
-
-
- You joined a lobby
-
-
-
-
- You created a lobby
-
-
-
-
- A game server has been associated with the lobby
-
-
-
-
- The lobby metadata has changed
-
-
-
-
- The lobby member metadata has changed
-
-
-
-
- The lobby member joined
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member was kicked. The 3rd param is the user that kicked them.
-
-
-
-
- The lobby member was banned. The 3rd param is the user that banned them.
-
-
-
-
- A chat message was recieved from a member of a lobby
-
-
-
-
- Creates a new invisible lobby. Call lobby.SetPublic to take it online.
-
-
-
-
- Attempts to directly join the specified lobby
-
-
-
-
- Get a list of servers that are on your favorites list
-
-
-
-
- Get a list of servers that you have added to your play history
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Functions to control music playback in the steam client.
- This gives games the opportunity to do things like pause the music or lower the volume,
- when an important cut scene is shown, and start playing afterwards.
- Nothing uses Steam Music though so this can probably get fucked
-
-
-
-
- Playback status changed
-
-
-
-
- Volume changed, parameter is new volume
-
-
-
-
- Checks if Steam Music is enabled
-
-
-
-
- true if a song is currently playing, paused, or queued up to play; otherwise false.
-
-
-
-
- Gets the current status of the Steam Music player
-
-
-
-
- Have the Steam Music player play the previous song.
-
-
-
-
- Have the Steam Music player skip to the next song
-
-
-
-
- Gets/Sets the current volume of the Steam Music player
-
-
-
-
- This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser
- if you want to recieve their messages
-
-
-
-
- Called when packets can't get through to the specified user.
- All queued packets unsent at this point will be dropped, further attempts
- to send will retry making the connection (but will be dropped if we fail again).
-
-
-
-
- This should be called in response to a OnP2PSessionRequest
-
-
-
-
- Allow or disallow P2P connects to fall back on Steam server relay if direct
- connection or NAT traversal can't be established. Applies to connections
- created after setting or old connections that need to reconnect.
-
-
-
-
- This should be called when you're done communicating with a user, as this will
- free up all of the resources allocated for the connection under-the-hood.
- If the remote user tries to send data to you again, a new OnP2PSessionRequest
- callback will be posted
-
-
-
-
- Checks if a P2P packet is available to read, and gets the size of the message if there is one.
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6)
-
- To use this derive a class from SocketManager and override as much as you want.
-
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6).
-
- To use this you should pass a class that inherits ISocketManager. You can use
- SocketManager to get connections and send messages, but the ISocketManager class
- will received all the appropriate callbacks.
-
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Creates a server that will be relayed via Valve's network (hiding the IP and improving ping)
-
-
-
-
- Connect to a relay server
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A function to receive debug network information on. This will do nothing
- unless you set DebugLevel to something other than None.
-
- You should set this to an appropriate level instead of setting it to the highest
- and then filtering it by hand because a lot of energy is used by creating the strings
- and your frame rate will tank and you won't know why.
-
-
-
-
- The latest available status gathered from the SteamRelayNetworkStatus callback
-
-
-
-
- If you know that you are going to be using the relay network (for example,
- because you anticipate making P2P connections), call this to initialize the
- relay network. If you do not call this, the initialization will
- be delayed until the first time you use a feature that requires access
- to the relay network, which will delay that first access.
-
- You can also call this to force a retry if the previous attempt has failed.
- Performing any action that requires access to the relay network will also
- trigger a retry, and so calling this function is never strictly necessary,
- but it can be useful to call it a program launch time, if access to the
- relay network is anticipated.
-
- Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t
- callbacks to know when initialization has completed.
- Typically initialization completes in a few seconds.
-
- Note: dedicated servers hosted in known data centers do *not* need
- to call this, since they do not make routing decisions. However, if
- the dedicated server will be using P2P functionality, it will act as
- a "client" and this should be called.
-
-
-
-
- Return location info for the current host.
-
- It takes a few seconds to initialize access to the relay network. If
- you call this very soon after startup the data may not be available yet.
-
- This always return the most up-to-date information we have available
- right now, even if we are in the middle of re-calculating ping times.
-
-
-
-
- Same as PingLocation.EstimatePingTo, but assumes that one location is the local host.
- This is a bit faster, especially if you need to calculate a bunch of
- these in a loop to find the fastest one.
-
-
-
-
- If you need ping information straight away, wait on this. It will return
- immediately if you already have up to date ping data
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Timeout value (in ms) to use when first connecting
-
-
-
-
- Timeout value (in ms) to use after connection is established
-
-
-
-
- Upper limit of buffered pending bytes to be sent.
- If this is reached SendMessage will return LimitExceeded.
- Default is 524288 bytes (512k)
-
-
-
-
- Get Debug Information via OnDebugOutput event
-
- Except when debugging, you should only use NetDebugOutput.Msg
- or NetDebugOutput.Warning. For best performance, do NOT
- request a high detail level and then filter out messages in the callback.
-
- This incurs all of the expense of formatting the messages, which are then discarded.
- Setting a high priority value (low numeric value) here allows the library to avoid
- doing this work.
-
-
-
-
- So we can remember and provide a Get for DebugLEvel
-
-
-
-
- We need to keep the delegate around until it's not used anymore
-
-
-
-
- This can be called from other threads - so we're going to queue these up and process them in a safe
- place.
-
-
-
-
- Called regularly from the Dispatch loop so we can provide a timely
- stream of messages.
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Parental Settings Changed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This API can be used to selectively advertise your multiplayer game session in a Steam chat room group.
- Tell Steam the number of player spots that are available for your party, and a join-game string, and it
- will show a beacon in the selected group and allow that many users to “follow” the beacon to your party.
- Adjust the number of open slots if other players join through alternate matchmaking methods.
-
-
-
-
- The list of possible Party beacon locations has changed
-
-
-
-
- The list of active beacons may have changed
-
-
-
-
- Functions that provide information about Steam Remote Play sessions, streaming your game content to
- another computer or to a Steam Link app or hardware.
-
-
-
-
- Called when a session is connected
-
-
-
-
- Called when a session becomes disconnected
-
-
-
-
- Get the number of currently connected Steam Remote Play sessions
-
-
-
-
- Get the currently connected Steam Remote Play session ID at the specified index.
- IsValid will return false if it's out of bounds
-
-
-
-
- Invite a friend to Remote Play Together
- This returns false if the invite can't be sent
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Creates a new file, writes the bytes to the file, and then closes the file.
- If the target file already exists, it is overwritten
-
-
-
-
- Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
-
-
-
-
- Checks whether the specified file exists.
-
-
-
-
- Checks if a specific file is persisted in the steam cloud.
-
-
-
-
- Gets the specified file's last modified date/time.
-
-
-
-
- Gets the specified files size in bytes. 0 if not exists.
-
-
-
-
- Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the
- API.
-
-
-
-
- Deletes a file from the local disk, and propagates that delete to the cloud.
-
-
-
-
- Number of bytes total
-
-
-
-
- Number of bytes used
-
-
-
-
- Number of bytes remaining until your quota is used
-
-
-
-
- returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp
-
-
-
-
- Checks if the account wide Steam Cloud setting is enabled for this user
- or if they disabled it in the Settings->Cloud dialog.
-
-
-
-
- Checks if the per game Steam Cloud setting is enabled for this user
- or if they disabled it in the Game Properties->Update dialog.
-
- This must only ever be set as the direct result of the user explicitly
- requesting that it's enabled or not. This is typically accomplished with
- a checkbox within your in-game options
-
-
-
-
- Gets the total number of local files synchronized by Steam Cloud.
-
-
-
-
- Get a list of filenames synchronized by Steam Cloud
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A screenshot has been requested by the user from the Steam screenshot hotkey.
- This will only be called if Hooked is true, in which case Steam
- will not take the screenshot itself.
-
-
-
-
- A screenshot successfully written or otherwise added to the library and can now be tagged.
-
-
-
-
- A screenshot attempt failed
-
-
-
-
- Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB
- format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
-
-
-
-
- Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200
- pixels wide and the same aspect ratio
- as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The
- screenshots must be in either JPEG or TGA format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
- JPEG, TGA, and PNG formats are supported.
-
-
-
-
- Causes the Steam overlay to take a screenshot.
- If screenshots are being hooked by the game then a
- ScreenshotRequested callback is sent back to the game instead.
-
-
-
-
- Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the
- game handles them.
- Hooking is disabled by default, and only ever enabled if you do so with this function.
- If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the
- hotkey or
- when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or
- AddScreenshotToLibrary in response.
-
-
-
-
- Provides the core of the Steam Game Servers API
-
-
-
-
- User has been authed or rejected
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the server now is logged on and has a working connection to the Steam master server.
-
-
-
-
- This will occur periodically if the Steam client is not connected, and has failed when retrying to
- establish a connection (result, stilltrying)
-
-
-
-
- Disconnected from Steam
-
-
-
-
- Initialize the steam server.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Run the callbacks. This is also called in Async callbacks.
-
-
-
-
- Sets whether this should be marked as a dedicated server.
- If not, it is assumed to be a listen server.
-
-
-
-
- Gets or sets the current MaxPlayers.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current BotCount.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current Map Name.
-
-
-
-
- Gets or sets the current ModDir
-
-
-
-
- Gets the current product
-
-
-
-
- Gets or sets the current Product
-
-
-
-
- Gets or sets the current ServerName
-
-
-
-
- Set whether the server should report itself as passworded
-
-
-
-
- Gets or sets the current GameTags. This is a comma seperated list of tags for this server.
- When querying the server list you can filter by these tags.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Returns true if the server is connected and registered with the Steam master server
- You should have called LogOnAnonymous etc on startup.
-
-
-
-
- To the best of its ability this tries to get the server's
- current public ip address. Be aware that this is likely to return
- null for the first few seconds after initialization.
-
-
-
-
- Enable or disable heartbeats, which are sent regularly to the master server.
- Enabled by default.
-
-
-
-
- Set heartbeat interval, if automatic heartbeats are enabled.
- You can leave this at the default.
-
-
-
-
- Force send a heartbeat to the master server instead of waiting
- for the next automatic update (if you've left them enabled)
-
-
-
-
- Update this connected player's information. You should really call this
- any time a player's name or score changes. This keeps the information shown
- to server queries up to date.
-
-
-
-
- Sets a Key Value. These can be anything you like, and are accessible
- when querying servers from the server list.
-
- Information describing gamemodes are common here.
-
-
-
-
- Remove all key values
-
-
-
-
- Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange.
-
-
-
-
- Forget this guy. They're no longer in the game.
-
-
-
-
- If true, Steam wants to send a packet. You should respond by sending
- this packet in an unconnected way to the returned Address and Port.
-
- Packet to send. The Data passed is pooled - so use it immediately.
- True if we want to send a packet
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- Does the user own this app (which could be DLC)
-
-
-
-
- Downloads stats for the user
- If the user has no stats will return fail
- these stats will only be auto-updated for clients playing on the server
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first.
- Remember to use Commit after use.
-
-
-
-
- Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid
- first.
- Remember to use Commit after use.
-
-
-
-
- Return true if available, exists and unlocked
-
-
-
-
- Once you've set a stat change on a user you need to commit your changes.
- You can do that using this function. The callback will let you know if
- your action succeeded, but most of the time you can fire and forget.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Posted after Download call
-
-
-
-
- Start downloading this item. You'll get notified of completion via OnDownloadItemResult.
-
- The ID of the file you want to download
- If true this should go straight to the top of the download list
- true if nothing went wrong and the download is started
-
-
-
- Will attempt to download this item asyncronously - allowing you to instantly react to its installation
-
- The ID of the file you want to download
- An optional callback
- Allows you to send a message to cancel the download anywhere during the process
- How often to call the progress function
- true if downloaded and installed correctly
-
-
-
- Utility function to fetch a single item. Internally this uses Ugc.FileQuery -
- which you can use to query multiple items if you need to.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the Steam client now has a working connection to the Steam servers.
- Usually this will have occurred before the game has launched, and should only be seen if the
- user has dropped connection due to a networking issue or a Steam server update.
-
-
-
-
- Called when a connection attempt has failed.
- This will occur periodically if the Steam client is not connected,
- and has failed when retrying to establish a connection.
-
-
-
-
- Called if the client has lost connection to the Steam servers.
- Real-time services will be disabled until a matching OnSteamServersConnected has been posted.
-
-
-
-
- Sent by the Steam server to the client telling it to disconnect from the specified game server,
- which it may be in the process of or already connected to.
- The game client should immediately disconnect upon receiving this message.
- This can usually occur if the user doesn't have rights to play on the game server.
-
-
-
-
- Called whenever the users licenses (owned packages) changes.
-
-
-
-
- Called when an auth ticket has been validated.
- The first parameter is the steamid of this user
- The second is the Steam ID that owns the game, this will be different from the first
- if the game is being borrowed via Steam Family Sharing
-
-
-
-
- Used internally for GetAuthSessionTicketAsync
-
-
-
-
- Called when a user has responded to a microtransaction authorization request.
- ( appid, orderid, user authorized )
-
-
-
-
- Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the
- Steam overlay browser.
- You can use this to add support for external site signups where you want to pop back into the browser
- after some web page
- signup sequence, and optionally get back some detail about that.
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate,
- half rate, or zero rate.
-
-
-
-
- Starts/Stops voice recording.
- Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording
- when the user has released their push-to-talk hotkey or the game session has completed.
-
-
-
-
- Returns true if we have voice data waiting to be read
-
-
-
-
- Reads the voice data and returns the number of bytes written.
- The compressed data can be transmitted by your application and decoded back into raw audio data using
- DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not
- meant to be played directly.
- This should be called once per frame, and at worst no more than four times a second to keep the
- microphone input delay as low as
- possible. Calling this any less may result in gaps in the returned stream.
-
-
-
-
- Reads the voice data and returns the bytes. You should obviously ideally be using
- ReadVoiceData because it won't be creating a new byte array every call. But this
- makes it easier to get it working, so let the babies have their bottle.
-
-
-
-
- Decodes the compressed voice data returned by GetVoice.
- The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025
- to 48000.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
- This waits for a positive response from the backend before returning the ticket. This means
- the ticket is definitely ready to go as soon as it returns. Will return null if the callback
- times out or returns negatively.
-
-
-
-
- Checks if the current users looks like they are behind a NAT device.
- This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT.
-
-
-
-
- Gets the Steam level of the user, as shown on their Steam community profile.
-
-
-
-
- Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the
- specified URL.
- As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout
- pages will automatically recognize the user instead of presenting a login page.
- NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call
- this API when you are about to launch the browser, or else immediately navigate to the result URL using
- a hidden browser window.
- NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea
- to request and visit a new auth URL every 12 hours.
-
-
-
-
- Checks whether the current user has verified their phone number.
-
-
-
-
- Checks whether the current user has Steam Guard two factor authentication enabled on their account.
-
-
-
-
- Checks whether the user's phone number is used to uniquely identify them.
-
-
-
-
- Checks whether the current user's phone number is awaiting (re)verification.
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- If you get a null result from this it's probably because you're calling it too often.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Get anti indulgence / duration control
-
-
-
-
- called when the achivement icon is loaded
-
-
-
-
- called when the latests stats and achievements have been received
- from the server
-
-
-
-
- result of a request to store the user stats for a game
-
-
-
-
- result of a request to store the achievements for a game, or an
- "indicate progress" call. If both m_nCurProgress and m_nMaxProgress
- are zero, that means the achievement has been fully unlocked
-
-
-
-
- Callback indicating that a user's stats have been unloaded
-
-
-
-
- Get the available achievements
-
-
-
-
- Show the user a pop-up notification with the current progress toward an achievement.
- Will return false if RequestCurrentStats has not completed and successfully returned
- its callback, if the achievement doesn't exist/has unpublished changes in the app's
- Steamworks Admin page, or if the achievement is unlocked.
-
-
-
-
- Tries to get the number of players currently playing this game.
- Or -1 if failed.
-
-
-
-
- Send the changed stats and achievements data to the server for permanent storage.
- If this fails then nothing is sent to the server. It's advisable to keep trying until the call is
- successful.
- This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You
- should only be calling this during major state changes such as the end of a round, the map changing, or
- the user leaving a server. This call is required to display the achievement unlock notification dialog
- though, so if you have called SetAchievement then it's advisable to call this soon after that.
- If you have stats or achievements that you have saved locally but haven't uploaded with this function
- when your application process ends then this function will automatically be called.
- You can find additional debug information written to the %steam_install%\logs\stats_log.txt file.
- This function returns true upon success if :
- RequestCurrentStats has completed and successfully returned its callback AND
- the current game has stats associated with it in the Steamworks Partner backend, and those stats are
- published.
-
-
-
-
- Asynchronously request the user's current stats and achievements from the server.
- You must always call this first to get the initial status of stats and achievements.
- Only after the resulting callback comes back can you start calling the rest of the stats
- and achievement functions for the current user.
-
-
-
-
- Asynchronously fetches global stats data, which is available for stats marked as
- "aggregated" in the App Admin panel of the Steamworks website.
- You must have called RequestCurrentStats and it needs to return successfully via
- its callback prior to calling this.
-
- How many days of day-by-day history to retrieve in addition to the overall totals. The
- limit is 60.
-
- OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the
- remote call failed
-
-
-
-
- Gets a leaderboard by name, it will create it if it's not yet created.
- Leaderboards created with this function will not automatically show up in the Steam Community.
- You must manually set the Community Name field in the App Admin panel of the Steamworks website.
- As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on
- the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of
- dynamically created leaderboards.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Get a Int stat value
-
-
-
-
- Get a float stat value
-
-
-
-
- Practically wipes the slate clean for this user. If includeAchievements is true, will wipe
- any achievements too.
-
-
-
-
-
- Interface which provides access to a range of miscellaneous utility functions
-
-
-
-
- The country of the user changed
-
-
-
-
- Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute
- The parameter is the number of minutes left
-
-
-
-
- Called when Steam wants to shutdown
-
-
-
-
- Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if
- cancelled etc.
-
-
-
-
- Returns the number of seconds since the application was active
-
-
-
-
- Returns the number of seconds since the user last moved the mouse etc
-
-
-
-
- Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time)
-
-
-
-
- returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via
- an IP-to-location database)
- e.g "US" or "UK".
-
-
-
-
- returns true if the image exists, and the buffer was successfully filled out
- results are returned in RGBA format
- the destination buffer size should be 4 * height * width * sizeof(char)
-
-
-
-
- returns the image in RGBA format
-
-
-
-
- Returns true if we're using a battery (ie, a laptop not plugged in)
-
-
-
-
- Returns battery power [0-1]
-
-
-
-
- Sets the position where the overlay instance for the currently calling game should show notifications.
- This position is per-game and if this function is called from outside of a game context it will do
- nothing.
-
-
-
-
- Returns true if the overlay is running and the user can access it. The overlay process could take a few
- seconds to
- start and hook the game process, so this function will initially return false while the overlay is
- loading.
-
-
-
-
- Normally this call is unneeded if your game has a constantly running frame loop that calls the
- D3D Present API, or OGL SwapBuffers API every frame.
-
- However, if you have a game that only refreshes the screen on an event driven basis then that can break
- the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also
- need to Present() to the screen any time an even needing a notification happens or when the overlay is
- brought up over the game by a user. You can use this API to ask the overlay if it currently need a
- present
- in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you
- refresh the screen with Present or SwapBuffers to allow the overlay to do it's work.
-
-
-
-
- Asynchronous call to check if an executable file has been signed using the public key set on the signing
- tab
- of the partner site, for example to refuse to load modified executable files.
-
-
-
-
- Activates the Big Picture text input dialog which only supports gamepad input
-
-
-
-
- Returns previously entered text
-
-
-
-
- returns the language the steam client is running in, you probably want
- Apps.CurrentGameLanguage instead, this is for very special usage cases
-
-
-
-
- returns true if Steam itself is running in VR mode
-
-
-
-
- Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition
-
-
-
-
- returns true if Steam and the Steam Overlay are running in Big Picture mode
- Games much be launched through the Steam client to enable the Big Picture overlay. During development,
- a game can be added as a non-steam game to the developers library to test this feature
-
-
-
-
- ask SteamUI to create and render its OpenVR dashboard
-
-
-
-
- Set whether the HMD content will be streamed via Steam In-Home Streaming
- If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be
- allowed.
- If this is set to false, then the application window will be streamed instead, and remote input will be
- allowed.
- The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game.
- (this is useful for games that have asymmetric multiplayer gameplay)
-
-
-
-
- Returns whether this steam client is a Steam China specific client, vs the global client
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Return true if currently using Steam's live broadcasting
-
-
-
-
- If we're broadcasting, will return the number of live viewers
-
-
-
-
- Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive')
- This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in
- our state loops, instead of trying to place it in all of your state transitions.
-
-
-
-
- Returns the current state of the supplied digital game action
-
-
-
-
- Returns the current state of these supplied analog game action
-
-
-
-
- Returns true if this is the local user
-
-
-
-
- Return true if this is a friend
-
-
-
-
- Returns true if you have this user blocked
-
-
-
-
- Return true if this user is playing the game we're running
-
-
-
-
- Returns true if this friend is online
-
-
-
-
- Sometimes we don't know the user's name. This will wait until we have
- downloaded the information on this user.
-
-
-
-
- Returns true if this friend is marked as away
-
-
-
-
- Returns true if this friend is marked as busy
-
-
-
-
- Returns true if this friend is marked as snoozing
-
-
-
-
- Invite this friend to the game that we are playing
-
-
-
-
- Sends a message to a Steam friend. Returns true if success
-
-
-
-
- Tries to get download the latest user stats
-
- True if successful, False if failure
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user achievement state. Must call RequestUserStats first.
-
- The name of the achievement you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a the time this achievement was unlocked.
-
- The name of the achievement you want to get
- The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return
- DateTime.MinValue
-
-
-
-
- Shortcut to call GetProperty( "name" )
-
-
-
-
- Shortcut to call GetProperty( "description" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url_large" )
-
-
-
-
- Shortcut to call GetProperty( "price_category" )
-
-
-
-
- Shortcut to call GetProperty( "type" )
-
-
-
-
- Returns true if this is an item that generates an item, rather
- than something that is actual an item
-
-
-
-
- Shortcut to call GetProperty( "exchange" )
-
-
-
-
- Get a list of exchanges that are available to make this item
-
-
-
-
- Shortcut to call GetBoolProperty( "marketable" )
-
-
-
-
- Shortcut to call GetBoolProperty( "tradable" )
-
-
-
-
- Gets the property timestamp
-
-
-
-
- Gets the property modified
-
-
-
-
- Get a specific property by name
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Gets a list of all properties on this item
-
-
-
-
- Returns the price of this item in the local currency (SteamInventory.Currency)
-
-
-
-
- If the price has been discounted, LocalPrice will differ from LocalBasePrice
- (assumed, this isn't documented)
-
-
-
-
- Return a list of recepies that contain this item
-
-
-
-
- Only available if the result set was created with the getproperties
-
-
-
-
- This item is account-locked and cannot be traded or given away.
- This is an item status flag which is permanently attached to specific item instances
-
-
-
-
- The item has been destroyed, traded away, expired, or otherwise invalidated.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- The item quantity has been decreased by 1 via ConsumeItem API.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is
- permanently removed.
- Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game
- implements item removal at all,
- a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain
- item definitions or fully
- blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother
- borrowed my laptop and deleted all of my rare items".
-
-
-
-
- Split stack into two items
-
-
-
-
- Add x units of the target item to this item
-
-
-
-
- Will try to return the date that this item was aquired. You need to have for the items
- with their properties for this to work.
-
-
-
-
- Tries to get the origin property. Need properties for this to work.
- Will return a string like "market"
-
-
-
-
- Small utility class to describe an item with a quantity
-
-
-
-
- A structured description of an item exchange
-
-
-
-
- The definition ID of the ingredient.
-
-
-
-
- If we don't know about this item definition this might be null.
- In which case, DefinitionId should still hold the correct id.
-
-
-
-
- The amount of this item needed. Generally this will be 1.
-
-
-
-
- The item that this will create.
-
-
-
-
- The items, with quantity required to create this item.
-
-
-
-
- Checks whether an inventory result handle belongs to the specified Steam ID.
- This is important when using Deserialize, to verify that a remote player is not pretending to have a
- different user's inventory
-
-
-
-
- Serialized result sets contain a short signature which can't be forged or replayed across different game
- sessions.
- A result set can be serialized on the local client, transmitted to other players via your game
- networking, and
- deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing
- rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a
- serialized
- result depends on the number items which are being serialized.When securely transmitting items to other
- players,
- it is recommended to use GetItemsByID first to create a minimal result set.
- Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See
- DeserializeResult
- for expiration handling.
-
-
-
-
- Creator of the beacon
-
-
-
-
- Creator of the beacon
-
-
-
-
- Will attempt to join the party. If successful will return a connection string.
- If failed, will return null
-
-
-
-
- When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your
- game a ReservationNotification callback.
- When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined
- successfully
-
-
-
-
- To cancel a reservation (due to timeout or user input), call this.
- Steam will open a new reservation slot.
- Note: The user may already be in-flight to your game, so it's possible they will still connect and try
- to join your party.
-
-
-
-
- Turn off the beacon
-
-
-
-
- Used to set up the server.
- The variables in here are all required to be set, and can't be changed once the server is created.
-
-
-
-
- The version string is usually in the form x.x.x.x, and is used by the master server to detect when the
- server is out of date.
- If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If
- this version number is
- less than that latest version then your server won't show.
-
-
-
-
- This should be the same directory game where gets installed into. Just the folder name, not the whole
- path. I.e. "Rust", "Garrysmod".
-
-
-
-
- The game description. Setting this to the full name of your game is recommended.
-
-
-
-
- Is a dedicated server
-
-
-
-
- Set the Steam quert port
-
-
-
-
- If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server
- API to use
- "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets
- for the master
- server updater.
-
- More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket
-
-
-
-
- Create a Normal Workshop item that can be subscribed to
-
-
-
-
- Workshop item that is meant to be voted on for the purpose of selling in-game
-
-
-
-
- https://partner.steamgames.com/doc/features/workshop/implementation#Legal
-
-
-
-
- The actual ID of this file
-
-
-
-
- The given title of this item
-
-
-
-
- The description of this item, in your local language if available
-
-
-
-
- A list of tags for this item, all lowercase
-
-
-
-
- App Id of the app that created this item
-
-
-
-
- App Id of the app that will consume this item.
-
-
-
-
- User who created this content
-
-
-
-
- The bayesian average for up votes / total votes, between [0,1]
-
-
-
-
- Time when the published item was created
-
-
-
-
- Time when the published item was last updated
-
-
-
-
- True if this is publically visible
-
-
-
-
- True if this item is only visible by friends of the creator
-
-
-
-
- True if this is only visible to the creator
-
-
-
-
- True if this item has been banned
-
-
-
-
- Whether the developer of this app has specifically flagged this item as accepted in the Workshop
-
-
-
-
- The number of upvotes of this item
-
-
-
-
- The number of downvotes of this item
-
-
-
-
- Start downloading this item.
- If this returns false the item isn't getting downloaded.
-
-
-
-
- If we're downloading, how big the total download is
-
-
-
-
- If we're downloading, how much we've downloaded
-
-
-
-
- If we're installed, how big is the install
-
-
-
-
- If we're downloading our current progress as a delta betwen 0-1
-
-
-
-
- A case insensitive check for tag
-
-
-
-
- Allows the user to subscribe to this item
-
-
-
-
- Allows the user to subscribe to download this item asyncronously
- If CancellationToken is default then there is 60 seconds timeout
- Progress will be set to 0-1
-
-
-
-
- Allows the user to unsubscribe from this item
-
-
-
-
- Adds item to user favorite list
-
-
-
-
- Removes item from user favorite list
-
-
-
-
- Allows the user to rate a workshop item up or down.
-
-
-
-
- Gets the current users vote on the item
-
-
-
-
- Return a URL to view this item online
-
-
-
-
- The URl to view this item's changelog
-
-
-
-
- The URL to view the comments on this item
-
-
-
-
- The URL to discuss this item
-
-
-
-
- The URL to view this items stats online
-
-
-
-
- The URL to the preview image for this item
-
-
-
-
- Edit this item
-
-
-
-
- Found items must have at least one of the defined tags
-
-
-
-
- Found items must have all defined tags
-
-
-
-
- Returns the current Unix Epoch
-
-
-
-
- Convert an epoch to a datetime
-
-
-
-
- Convert a DateTime to a unix time
-
-
-
-
- Returns a buffer. This will get returned and reused later on.
-
-
-
-
- Prevent unity from stripping shit we depend on
- https://docs.unity3d.com/Manual/ManagedCodeStripping.html
-
-
-
-
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml.meta
deleted file mode 100644
index 4b60cf0..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 1c9eb7c3219a16948b7520dc7026cf20
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll
deleted file mode 100644
index bceb910..0000000
Binary files a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll and /dev/null differ
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll.meta
deleted file mode 100644
index d0a3d4b..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.dll.meta
+++ /dev/null
@@ -1,95 +0,0 @@
-fileFormatVersion: 2
-guid: b3ad7ccc15f481747842885a21b7b4ab
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- '': Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 0
- Exclude Linux: 1
- Exclude Linux64: 1
- Exclude LinuxUniversal: 1
- Exclude OSXUniversal: 1
- Exclude Win: 1
- Exclude Win64: 0
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- CPU: x86_64
- DefaultValueInitialized: true
- OS: Windows
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Linux
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: LinuxUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win64
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml
deleted file mode 100644
index bd54e46..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml
+++ /dev/null
@@ -1,3571 +0,0 @@
-
-
-
- Facepunch.Steamworks.Win64
-
-
-
-
- An awaitable version of a SteamAPICall_t
-
-
-
-
- This gets called if IsComplete returned false on the first call.
- The Action "continues" the async call. We pass it to the Dispatch
- to be called when the callback returns.
-
-
-
-
- Gets the result. This is called internally by the async shit.
-
-
-
-
- Return true if complete or failed
-
-
-
-
- This is what makes this struct awaitable
-
-
-
-
- Gives us a generic way to get the CallbackId of structs
-
-
-
-
- Cancels a ticket.
- You should cancel your ticket when you close the game or leave a server.
-
-
-
-
- Responsible for all callback/callresult handling
-
- This manually pumps Steam's message queue and dispatches those
- events to any waiting callbacks/callresults.
-
-
-
-
- If set then we'll call this function every time a callback is generated.
-
- This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific
- callback then please create an issue on github and I'll add it!
-
- Params are : [Callback Type] [Callback Contents] [server]
-
-
-
-
-
- Called if an exception happens during a callback/callresult.
- This is needed because the exception isn't always accessible when running
- async.. and can fail silently. With this hooked you won't be stuck wondering
- what happened.
-
-
-
-
- This gets called from Client/Server Init
- It's important to switch to the manual dispatcher
-
-
-
-
- Make sure we don't call Frame in a callback - because that'll cause some issues for everyone.
-
-
-
-
- Calls RunFrame and processes events from this Steam Pipe
-
-
-
-
- To be safe we don't call the continuation functions while iterating
- the Callback list. This is maybe overly safe because the only way this
- could be an issue is if the callback list is modified in the continuation
- which would only happen if starting or shutting down in the callback.
-
-
-
-
- A callback is a general global message
-
-
-
-
- Given a callback, try to turn it into a string
-
-
-
-
- A result is a reply to a specific command
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Pumps the queue in an async loop so we don't
- have to think about it. This has the advantage that
- you can call .Wait() on async shit and it still works.
-
-
-
-
- Watch for a steam api call
-
-
-
-
- Install a global callback. The passed function will get called if it's all good.
-
-
-
-
- The score is just a simple numerical value
-
-
-
-
- The score represents a time, in seconds
-
-
-
-
- The score represents a time, in milliseconds
-
-
-
-
- The top-score is the lowest number
-
-
-
-
- The top-score is the highest number
-
-
-
-
- Send the message unreliably. Can be lost. Messages *can* be larger than a
- single MTU (UDP packet), but there is no retransmission, so if any piece
- of the message is lost, the entire message will be dropped.
-
- The sending API does have some knowledge of the underlying connection, so
- if there is no NAT-traversal accomplished or there is a recognized adjustment
- happening on the connection, the packet will be batched until the connection
- is open again.
-
-
-
-
- Disable Nagle's algorithm.
- By default, Nagle's algorithm is applied to all outbound messages. This means
- that the message will NOT be sent immediately, in case further messages are
- sent soon after you send this, which can be grouped together. Any time there
- is enough buffered data to fill a packet, the packets will be pushed out immediately,
- but partially-full packets not be sent until the Nagle timer expires.
-
-
-
-
- If the message cannot be sent very soon (because the connection is still doing some initial
- handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable
- messages. Using this flag on reliable messages is invalid.
-
-
-
- Reliable message send. Can send up to 0.5mb in a single message.
- Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for
- efficient sends of large chunks of data.
-
-
-
- Return a NetIdentity that represents LocalHost
-
-
-
-
- Return true if this identity is localhost
-
-
-
-
- Convert to a SteamId
-
-
-
-
-
- Set the specified Address
-
-
-
-
- Automatically convert to a SteamId
-
-
-
-
-
- Returns NULL if we're not a SteamId
-
-
-
-
- Returns NULL if we're not a NetAddress
-
-
-
-
- We override tostring to provide a sensible representation
-
-
-
-
- The Port. This is redundant documentation.
-
-
-
-
- Any IP, specific port
-
-
-
-
- Localhost IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Specific IP, specific port
-
-
-
-
- Set everything to zero
-
-
-
-
- Return true if the IP is ::0. (Doesn't check port.)
-
-
-
-
- Return true if IP is mapped IPv4
-
-
-
-
- Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1)
-
-
-
-
- Get the Address section
-
-
-
-
- Used as a base to create your client connection. This creates a socket
- to a single connection.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Accept an incoming connection that has been received on a listen socket.
-
-
-
-
- Disconnects from the remote host and invalidates the connection handle. Any unread data on the
- connection is discarded..
- reasonCode is defined and used by you.
-
-
-
-
- Get/Set connection user data
-
-
-
-
- A name for the connection, used mostly for debugging
-
-
-
-
- This is the best version to use.
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and
- you're not creating a new one every frame (like using .ToArray())
-
-
-
-
- This creates a ton of garbage - so don't do anything with this beyond testing!
-
-
-
-
- Flush any messages waiting on the Nagle timer and send them at the next transmission
- opportunity (often that means right now).
-
-
-
-
- Returns detailed connection stats in text format. Useful
- for dumping to a log, etc.
-
- Plain text connection info
-
-
-
- Describe the state of a connection
-
-
-
-
- High level state of the connection
-
-
-
-
- Remote address. Might be all 0's if we don't know it, or if this is N/A.
-
-
-
-
- Who is on the other end? Depending on the connection type and phase of the connection, we might not know
-
-
-
-
- Basic cause of the connection termination or problem.
-
-
-
-
-
- Object that describes a "location" on the Internet with sufficient
- detail that we can reasonably estimate an upper bound on the ping between
- the two hosts, even if a direct route between the hosts is not possible,
- and the connection must be routed through the Steam Datagram Relay network.
- This does not contain any information that identifies the host. Indeed,
- if two hosts are in the same building or otherwise have nearly identical
- networking characteristics, then it's valid to use the same location
- object for both of them.
-
- NOTE: This object should only be used in the same process! Do not serialize it,
- send it over the wire, or persist it in a file or database! If you need
- to do that, convert it to a string representation using the methods in
- ISteamNetworkingUtils().
-
-
-
-
- Estimate the round-trip latency between two arbitrary locations, in
- milliseconds. This is a conservative estimate, based on routing through
- the relay network. For most basic relayed connections, this ping time
- will be pretty accurate, since it will be based on the route likely to
- be actually used.
-
- If a direct IP route is used (perhaps via NAT traversal), then the route
- will be different, and the ping time might be better. Or it might actually
- be a bit worse! Standard IP routing is frequently suboptimal!
-
- But even in this case, the estimate obtained using this method is a
- reasonable upper bound on the ping time. (Also it has the advantage
- of returning immediately and not sending any packets.)
-
- In a few cases we might not able to estimate the route. In this case
- a negative value is returned. k_nSteamNetworkingPing_Failed means
- the reason was because of some networking difficulty. (Failure to
- ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot
- currently answer the question for some other reason.
-
- Do you need to be able to do this from a backend/matchmaking server?
- You are looking for the "ticketgen" library.
-
-
-
- Destroy a listen socket. All the connections that were accepting on the listen
- socket are closed ungracefully.
-
-
-
-
- True if unlocked
-
-
-
-
- Should hold the unlock time if State is true
-
-
-
-
- Gets the icon of the achievement. This can return a null image even though the image exists if the image
- hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be
- downloaded.
-
-
-
-
- Gets the icon of the achievement, waits for it to load if we have to
-
-
-
-
- Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data
- available.
-
-
-
-
- Make this achievement earned
-
-
-
-
- Reset this achievement to not achieved
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero
- rate.
-
-
-
-
- appid generating playtime
-
-
-
-
- is duration control applicable to user + game combination
-
-
-
-
- playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in
- seconds
-
-
-
-
- playtime on current calendar day
-
-
-
-
- recommended progress
-
-
-
-
- the name of a leaderboard
-
-
-
-
- Submit your score and replace your old score even if it was better
-
-
-
-
- Submit your new score, but won't replace your high score if it's lower
-
-
-
-
- Attaches a piece of user generated content the user's entry on a leaderboard
-
-
-
-
- Used to query for a sequential range of leaderboard entries by leaderboard Sort.
-
-
-
-
- Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the
- leaderboard
- before or after the user's entry, Steam will adjust the range to try to return the number of entries
- requested.
- For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will
- return the first
- 5 entries in the leaderboard. If The current user has no entry, this will return null.
-
-
-
-
- Used to retrieve all leaderboard entries for friends of the current user
-
-
-
-
- Try to join this room. Will return RoomEnter.Success on success,
- and anything else is a failure
-
-
-
-
- Leave a lobby; this will take effect immediately on the client side
- other users in the lobby will be notified by a LobbyChatUpdate_t callback
-
-
-
-
- Invite another user to the lobby
- will return true if the invite is successfully sent, whether or not the target responds
- returns false if the local user is not connected to the Steam servers
-
-
-
-
- returns the number of users in the specified lobby
-
-
-
-
- Returns current members. Need to be in the lobby to see the users.
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Get data associated with this lobby
-
-
-
-
- Removes a metadata key from the lobby
-
-
-
-
- Get all data for this lobby
-
-
-
-
- Gets per-user metadata for someone in this lobby
-
-
-
-
- Sets per-user metadata (for the local user implicitly)
-
-
-
-
- Sends a string to the chat room
-
-
-
-
- Sends bytes the the chat room
- this isn't exposed because there's no way to read raw bytes atm,
- and I figure people can send json if they want something more advanced
-
-
-
-
- Refreshes metadata for a lobby you're not necessarily in right now
- you never do this for lobbies you're a member of, only if your
- this will send down all the metadata associated with a lobby
- this is an asynchronous call
- returns false if the local user is not connected to the Steam servers
- results will be returned by a LobbyDataUpdate_t callback
- if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
-
-
-
-
- Max members able to join this lobby. Cannot be over 250.
- Can only be set by the owner
-
-
-
-
- [SteamID variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- [IP/Port variant]
- Allows the owner to set the game server associated with the lobby. Triggers the
- Steammatchmaking.OnLobbyGameCreated event.
-
-
-
-
- Gets the details of the lobby's game server, if set. Returns true if the lobby is
- valid and has a server set, otherwise returns false.
-
-
-
-
- You must be the lobby owner to set the owner
-
-
-
-
- Check if the specified SteamId owns the lobby
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- only lobbies in the same immediate region will be returned
-
-
-
-
- Filter by specified key/value pair; string parameters
-
-
-
-
- Numerical filter where value is less than the value provided
-
-
-
-
- Numerical filter where value is greater than the value provided
-
-
-
-
- Numerical filter where value must be equal to the value provided
-
-
-
-
- Numerical filter where value must not equal the value provided
-
-
-
-
- Test key, initialize numerical filter list if necessary, then add new numerical filter
-
-
-
-
- Order filtered results according to key/values nearest the provided key/value pair.
- Can specify multiple near value filters; each successive filter is lower priority than the previous.
-
-
-
-
- returns only lobbies with the specified number of slots available
-
-
-
-
- sets how many results to return, the lower the count the faster it is to download the lobby results
-
-
-
-
- Run the query, get the matching lobbies
-
-
-
-
- A server query packet.
-
-
-
-
- Target IP address
-
-
-
-
- Target port
-
-
-
-
- This data is pooled. Make a copy if you don't use it immediately.
- This buffer is also quite large - so pay attention to Size.
-
-
-
-
- Size of the data
-
-
-
-
- Represents a RemotePlaySession from the SteamRemotePlay interface
-
-
-
-
- Returns true if this session was valid when created. This will stay true even
- after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected
-
-
-
-
- Get the SteamID of the connected user
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Get the name of the session client device
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Tags a user as being visible in the screenshot
-
-
-
-
- Gets the individual tags for this server
-
-
-
-
- Add this server to our history list
- If we're already in the history list, weill set the last played time to now
-
-
-
-
- If this server responds to source engine style queries, we'll be able to get a list of rules here
-
-
-
-
- Remove this server from our history list
-
-
-
-
- Add this server to our favourite list
-
-
-
-
- Remove this server from our favourite list
-
-
-
-
- Find out the status of an asynchronous inventory result handle.
-
-
-
-
- Copies the contents of a result set into a flat array. The specific contents of the result set depend on
- which query which was used.
-
-
-
-
- Returns the server time at which the result was generated. Compare against the value of
- IClientUtils::GetServerRealTime() to determine age.
-
-
-
-
- Returns true if the result belongs to the target steam ID or false if the result does not. This is
- important when using DeserializeResult to verify that a remote player is not pretending to have a
- different users inventory.
-
-
-
-
- Destroys a result handle and frees all associated memory.
-
-
-
-
- Captures the entire state of the current users Steam inventory.
-
-
-
-
- Captures the state of a subset of the current users Steam inventory identified by an array of item
- instance IDs.
-
-
-
-
- GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the
- items (one time only).
-
-
-
-
- ConsumeItem() removes items from the inventory permanently.
-
-
-
-
- Deprecated method. Playtime accounting is performed on the Steam servers.
-
-
-
-
- Playtime credit must be consumed and turned into item drops by your game.
-
-
-
-
- LoadItemDefinitions triggers the automatic load and refresh of item definitions.
-
-
-
-
- Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is
- k_ELeaderboardDataRequestUsers
-
-
-
-
- An optional interface to use instead of deriving
-
-
-
-
- The actual connection we're managing
-
-
-
-
- The last received ConnectionInfo
-
-
-
-
- We're trying to connect!
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- We started connecting to this guy
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- We got disconnected
-
-
-
-
- Received a message
-
-
-
-
- Must call Accept or Close on the connection within a second or so
-
-
-
-
- Called when the connection is fully connected and can start being communicated with
-
-
-
-
- Called when the connection leaves
-
-
-
-
- Received a message from a connection
-
-
-
-
- Used as a base to create your networking server. This creates a socket
- and listens/communicates with multiple queries.
-
- You can override all the virtual functions to turn it into what you
- want it to do.
-
-
-
-
- Default behaviour is to accept every connection
-
-
-
-
- Client is connected. They move from connecting to Connections
-
-
-
-
- The connection has been closed remotely or disconnected locally. Check data.State for details.
-
-
-
-
- Which app we're querying. Defaults to the current app.
-
-
-
-
- When a new server is added, this function will get called
-
-
-
-
- Called for every responsive server
-
-
-
-
- A list of servers that responded. If you're only interested in servers that responded since you
- last updated, then simply clear this list.
-
-
-
-
- A list of servers that were in the master list but didn't respond.
-
-
-
-
- Query the server list. Task result will be true when finished
-
-
-
-
-
- Exposes a wide range of information and actions for applications and Downloadable Content (DLC).
-
-
-
-
- posted after the user gains ownership of DLC and that DLC is installed
-
-
-
-
- posted after the user gains executes a Steam URL with command line or query parameters
- such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc
- while the game is already running. The new params can be queried
- with GetLaunchQueryParam and GetLaunchCommandLine
-
-
-
-
- Checks if the active user is subscribed to the current App ID
-
-
-
-
- Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender
- SteamID
-
-
-
-
- Checks if the license owned by the user provides low violence depots.
- Low violence depots are useful for copies sold in countries that have content restrictions
-
-
-
-
- Checks whether the current App ID license is for Cyber Cafes.
-
-
-
-
- CChecks if the user has a VAC ban on their account
-
-
-
-
- Gets the current language that the user has set.
- This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title.
-
-
-
-
- Gets a list of the languages the current app supports.
-
-
-
-
- Checks if the active user is subscribed to a specified AppId.
- Only use this if you need to check ownership of another game related to yours, a demo for example.
-
-
-
-
- Checks if the user owns a specific DLC and if the DLC is installed
-
-
-
-
- Returns the time of the purchase of the app
-
-
-
-
- Checks if the user is subscribed to the current app through a free weekend
- This function will return false for users who have a retail or other type of license
- Before using, please ask your Valve technical contact how to package and secure your free weekened
-
-
-
-
- Returns metadata for all available DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Install/Uninstall control for optional DLC
-
-
-
-
- Returns null if we're not on a beta branch, else the name of the branch
-
-
-
-
- Allows you to force verify game content on next launch.
-
- If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a
- server),
- you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit.
-
-
-
-
- Gets a list of all installed depots for a given App ID in mount order
-
-
-
-
- Gets the install folder for a specific AppID.
- This works even if the application is not installed, based on where the game would be installed with the
- default Steam library location.
-
-
-
-
- The app may not actually be owned by the current user, they may have it left over from a free weekend,
- etc.
-
-
-
-
- Gets the Steam ID of the original owner of the current app. If it's different from the current user then
- it is borrowed..
-
-
-
-
- Gets the associated launch parameter if the game is run via
- steam://run/appid/?param1=value1;param2=value2;param3=value3 etc.
- Parameter names starting with the character '@' are reserved for internal use and will always return an
- empty string.
- Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried
- by the game,
- but it is advised that you not param names beginning with an underscore for your own features.
-
-
-
-
- Gets the download progress for optional DLC.
-
-
-
-
- Gets the buildid of this app, may change at any time based on backend updates to the game.
- Defaults to 0 if you're not running a build downloaded from steam.
-
-
-
-
- Asynchronously retrieves metadata details about a specific file in the depot manifest.
- Currently provides:
-
-
-
-
- Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/.
- This method of passing a connect string (used when joining via rich presence, accepting an
- invite, etc) is preferable to passing the connect string on the operating system command
- line, which is a security risk. In order for rich presence joins to go through this
- path and not be placed on the OS command line, you must set a value in your app's
- configuration on Steam. Ask Valve for help with this.
-
-
-
-
- Initialize the steam client.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Checks if the current user's Steam client is connected to the Steam servers.
- If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam
- client will automatically be trying to recreate the connection as often as possible. When the
- connection is restored a SteamServersConnected_t callback will be posted.
- You usually don't need to check for this yourself. All of the API calls that rely on this will
- check internally. Forcefully disabling stuff when the player loses access is usually not a
- very good experience for the player and you could be preventing them from accessing APIs that do not
- need a live connection to Steam.
-
-
-
-
- Gets the Steam ID of the account currently logged into the Steam client. This is
- commonly called the 'current user', or 'local user'.
- A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat
- rooms, and used to differentiate users in all parts of the Steamworks API.
-
-
-
-
- returns the local players name - guaranteed to not be NULL.
- this is the same name as on the users community profile page
-
-
-
-
- gets the status of the current user
-
-
-
-
- returns the appID of the current process
-
-
-
-
- Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't
- this returns true then it starts the Steam client if required and launches your game again through it,
- and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it
- may not relaunch the exact executable that called it, as it will always relaunch from the version
- installed in your Steam library folder/
- Note that during development, when not launching via Steam, this might always return true.
-
-
-
-
- Called in interfaces that rely on this being initialized
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Called when chat message has been received from a friend. You'll need to turn on
- ListenForFriendsMessages to recieve this. (friend, msgtype, message)
-
-
-
-
- called when a friends' status changes
-
-
-
-
- Called when the user tries to join a game from their friends list
- rich presence will have been set with the "connect" key which is set here
-
-
-
-
- Posted when game overlay activates or deactivates
- the game can use this to be pause or resume single player games
-
-
-
-
- Called when the user tries to join a different game server from their friends list
- game client should attempt to connect to specified server when this is received
-
-
-
-
- Called when the user tries to join a lobby from their friends list
- game client should attempt to connect to specified lobby when this is received
-
-
-
-
- Callback indicating updated data about friends rich presence information
-
-
-
-
- The dialog to open. Valid options are:
- "friends",
- "community",
- "players",
- "settings",
- "officialgamegroup",
- "stats",
- "achievements".
-
-
-
-
- "steamid" - Opens the overlay web browser to the specified user or groups profile.
- "chat" - Opens a chat window to the specified user, or joins the group chat.
- "jointrade" - Opens a window to a Steam Trading session that was started with the
- ISteamEconomy/StartTrade Web API.
- "stats" - Opens the overlay web browser to the specified user's stats.
- "achievements" - Opens the overlay web browser to the specified user's achievements.
- "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend.
- "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend.
- "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming
- friend invite.
- "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming
- friend invite.
-
-
-
-
- Activates the Steam Overlay to the Steam store page for the provided app.
-
-
-
-
- Activates Steam Overlay web browser directly to the specified URL.
-
-
-
-
- Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the
- provided lobby.
-
-
-
-
- Mark a target user as 'played with'.
- NOTE: The current user must be in game with the other player for the association to work.
-
-
-
-
- Requests the persona name and optionally the avatar of a specified user.
- NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars,
- don't request them.
- returns true if we're fetching the data, false if we already have it
-
-
-
-
- Find a rich presence value by key for current user. Will be null if not found.
-
-
-
-
- Sets a rich presence value by key for current user.
-
-
-
-
- Clears all of the current user's rich presence data.
-
-
-
-
- Listens for Steam friends chat messages.
- You can then show these chats inline in the game. For example with a Blizzard style chat message system
- or the chat system in Dota 2.
- After enabling this you will receive callbacks when ever the user receives a chat message.
-
-
-
-
- You shouldn't really need to call this because it get called by RunCallbacks on SteamClient
- but Valve think it might be a nice idea if you call it right before you get input info -
- just to make sure the info you're getting is 100% up to date.
-
-
-
-
- Return a list of connected controllers.
-
-
-
-
- Return an absolute path to the PNG image glyph for the provided digital action name. The current
- action set in use for the controller will be used for the lookup. You should cache the result and
- maintain your own list of loaded PNG assets.
-
-
-
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Call this if you're going to want to access definition information. You should be able to get
- away with calling this once at the start if your game, assuming your items don't change all the time.
- This will trigger OnDefinitionsUpdated at which point Definitions should be set.
-
-
-
-
- Will call LoadItemDefinitions and wait until Definitions is not null
-
-
-
-
- Try to find the definition that matches this definition ID.
- Uses a dictionary so should be about as fast as possible.
-
-
-
-
- We will try to keep this list of your items automatically up to date.
-
-
-
-
- Update the list of Items[]
-
-
-
-
- Get all items and return the InventoryResult
-
-
-
-
- This is used to grant a specific item to the user. This should
- only be used for development prototyping, from a trusted server,
- or if you don't care about hacked clients granting arbitrary items.
- This call can be disabled by a setting on Steamworks.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Crafting! Uses the passed items to buy the target item.
- You need to have set up the appropriate exchange rules in your item
- definitions. This assumes all the items passed in aren't stacked.
-
-
-
-
- Deserializes a result set and verifies the signature bytes.
- This call has a potential soft-failure mode where the Result is expired, it will
- still succeed in this mode.The "expired"
- result could indicate that the data may be out of date - not just due to timed
- expiration( one hour ), but also because one of the items in the result set may
- have been traded or consumed since the result set was generated.You could compare
- the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine
- how old the data is. You could simply ignore the "expired" result code and
- continue as normal, or you could request the player with expired data to send
- an updated result set.
- You should call CheckResultSteamID on the result handle when it completes to verify
- that a remote player is not pretending to have a different user's inventory.
-
-
-
-
- Grant all promotional items the user is eligible for
-
-
-
-
- Trigger an item drop for this user. This is for timed drops.
-
-
-
-
- Trigger a promo item drop. You can call this at startup, it won't
- give users multiple promo drops.
-
-
-
-
- Start buying a cart load of items. This will return a positive result is the purchase has
- begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success.
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Maximum number of characters a lobby metadata key can be
-
-
-
-
- Someone invited you to a lobby
-
-
-
-
- You joined a lobby
-
-
-
-
- You created a lobby
-
-
-
-
- A game server has been associated with the lobby
-
-
-
-
- The lobby metadata has changed
-
-
-
-
- The lobby member metadata has changed
-
-
-
-
- The lobby member joined
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member left the room
-
-
-
-
- The lobby member was kicked. The 3rd param is the user that kicked them.
-
-
-
-
- The lobby member was banned. The 3rd param is the user that banned them.
-
-
-
-
- A chat message was recieved from a member of a lobby
-
-
-
-
- Creates a new invisible lobby. Call lobby.SetPublic to take it online.
-
-
-
-
- Attempts to directly join the specified lobby
-
-
-
-
- Get a list of servers that are on your favorites list
-
-
-
-
- Get a list of servers that you have added to your play history
-
-
-
-
- Functions for clients to access matchmaking services, favorites, and to operate on game lobbies
-
-
-
-
- Functions to control music playback in the steam client.
- This gives games the opportunity to do things like pause the music or lower the volume,
- when an important cut scene is shown, and start playing afterwards.
- Nothing uses Steam Music though so this can probably get fucked
-
-
-
-
- Playback status changed
-
-
-
-
- Volume changed, parameter is new volume
-
-
-
-
- Checks if Steam Music is enabled
-
-
-
-
- true if a song is currently playing, paused, or queued up to play; otherwise false.
-
-
-
-
- Gets the current status of the Steam Music player
-
-
-
-
- Have the Steam Music player play the previous song.
-
-
-
-
- Have the Steam Music player skip to the next song
-
-
-
-
- Gets/Sets the current volume of the Steam Music player
-
-
-
-
- This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser
- if you want to recieve their messages
-
-
-
-
- Called when packets can't get through to the specified user.
- All queued packets unsent at this point will be dropped, further attempts
- to send will retry making the connection (but will be dropped if we fail again).
-
-
-
-
- This should be called in response to a OnP2PSessionRequest
-
-
-
-
- Allow or disallow P2P connects to fall back on Steam server relay if direct
- connection or NAT traversal can't be established. Applies to connections
- created after setting or old connections that need to reconnect.
-
-
-
-
- This should be called when you're done communicating with a user, as this will
- free up all of the resources allocated for the connection under-the-hood.
- If the remote user tries to send data to you again, a new OnP2PSessionRequest
- callback will be posted
-
-
-
-
- Checks if a P2P packet is available to read, and gets the size of the message if there is one.
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Reads in a packet that has been sent from another user via SendP2PPacket..
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Sends a P2P packet to the specified user.
- This is a session-less API which automatically establishes NAT-traversing or Steam relay server
- connections.
- NOTE: The first packet send may be delayed as the NAT-traversal code runs.
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6)
-
- To use this derive a class from SocketManager and override as much as you want.
-
-
-
-
-
- Creates a "server" socket that listens for clients to connect to by calling
- Connect, over ordinary UDP (IPv4 or IPv6).
-
- To use this you should pass a class that inherits ISocketManager. You can use
- SocketManager to get connections and send messages, but the ISocketManager class
- will received all the appropriate callbacks.
-
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Connect to a socket created via
- CreateListenSocketIP
-
-
-
-
- Creates a server that will be relayed via Valve's network (hiding the IP and improving ping)
-
-
-
-
- Connect to a relay server
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A function to receive debug network information on. This will do nothing
- unless you set DebugLevel to something other than None.
-
- You should set this to an appropriate level instead of setting it to the highest
- and then filtering it by hand because a lot of energy is used by creating the strings
- and your frame rate will tank and you won't know why.
-
-
-
-
- The latest available status gathered from the SteamRelayNetworkStatus callback
-
-
-
-
- If you know that you are going to be using the relay network (for example,
- because you anticipate making P2P connections), call this to initialize the
- relay network. If you do not call this, the initialization will
- be delayed until the first time you use a feature that requires access
- to the relay network, which will delay that first access.
-
- You can also call this to force a retry if the previous attempt has failed.
- Performing any action that requires access to the relay network will also
- trigger a retry, and so calling this function is never strictly necessary,
- but it can be useful to call it a program launch time, if access to the
- relay network is anticipated.
-
- Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t
- callbacks to know when initialization has completed.
- Typically initialization completes in a few seconds.
-
- Note: dedicated servers hosted in known data centers do *not* need
- to call this, since they do not make routing decisions. However, if
- the dedicated server will be using P2P functionality, it will act as
- a "client" and this should be called.
-
-
-
-
- Return location info for the current host.
-
- It takes a few seconds to initialize access to the relay network. If
- you call this very soon after startup the data may not be available yet.
-
- This always return the most up-to-date information we have available
- right now, even if we are in the middle of re-calculating ping times.
-
-
-
-
- Same as PingLocation.EstimatePingTo, but assumes that one location is the local host.
- This is a bit faster, especially if you need to calculate a bunch of
- these in a loop to find the fastest one.
-
-
-
-
- If you need ping information straight away, wait on this. It will return
- immediately if you already have up to date ping data
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- [0 - 100] - Randomly discard N pct of packets
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Delay all packets by N ms
-
-
-
-
- Timeout value (in ms) to use when first connecting
-
-
-
-
- Timeout value (in ms) to use after connection is established
-
-
-
-
- Upper limit of buffered pending bytes to be sent.
- If this is reached SendMessage will return LimitExceeded.
- Default is 524288 bytes (512k)
-
-
-
-
- Get Debug Information via OnDebugOutput event
-
- Except when debugging, you should only use NetDebugOutput.Msg
- or NetDebugOutput.Warning. For best performance, do NOT
- request a high detail level and then filter out messages in the callback.
-
- This incurs all of the expense of formatting the messages, which are then discarded.
- Setting a high priority value (low numeric value) here allows the library to avoid
- doing this work.
-
-
-
-
- So we can remember and provide a Get for DebugLEvel
-
-
-
-
- We need to keep the delegate around until it's not used anymore
-
-
-
-
- This can be called from other threads - so we're going to queue these up and process them in a safe
- place.
-
-
-
-
- Called regularly from the Dispatch loop so we can provide a timely
- stream of messages.
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Parental Settings Changed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This API can be used to selectively advertise your multiplayer game session in a Steam chat room group.
- Tell Steam the number of player spots that are available for your party, and a join-game string, and it
- will show a beacon in the selected group and allow that many users to “follow” the beacon to your party.
- Adjust the number of open slots if other players join through alternate matchmaking methods.
-
-
-
-
- The list of possible Party beacon locations has changed
-
-
-
-
- The list of active beacons may have changed
-
-
-
-
- Functions that provide information about Steam Remote Play sessions, streaming your game content to
- another computer or to a Steam Link app or hardware.
-
-
-
-
- Called when a session is connected
-
-
-
-
- Called when a session becomes disconnected
-
-
-
-
- Get the number of currently connected Steam Remote Play sessions
-
-
-
-
- Get the currently connected Steam Remote Play session ID at the specified index.
- IsValid will return false if it's out of bounds
-
-
-
-
- Invite a friend to Remote Play Together
- This returns false if the invite can't be sent
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Creates a new file, writes the bytes to the file, and then closes the file.
- If the target file already exists, it is overwritten
-
-
-
-
- Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
-
-
-
-
- Checks whether the specified file exists.
-
-
-
-
- Checks if a specific file is persisted in the steam cloud.
-
-
-
-
- Gets the specified file's last modified date/time.
-
-
-
-
- Gets the specified files size in bytes. 0 if not exists.
-
-
-
-
- Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the
- API.
-
-
-
-
- Deletes a file from the local disk, and propagates that delete to the cloud.
-
-
-
-
- Number of bytes total
-
-
-
-
- Number of bytes used
-
-
-
-
- Number of bytes remaining until your quota is used
-
-
-
-
- returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp
-
-
-
-
- Checks if the account wide Steam Cloud setting is enabled for this user
- or if they disabled it in the Settings->Cloud dialog.
-
-
-
-
- Checks if the per game Steam Cloud setting is enabled for this user
- or if they disabled it in the Game Properties->Update dialog.
-
- This must only ever be set as the direct result of the user explicitly
- requesting that it's enabled or not. This is typically accomplished with
- a checkbox within your in-game options
-
-
-
-
- Gets the total number of local files synchronized by Steam Cloud.
-
-
-
-
- Get a list of filenames synchronized by Steam Cloud
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- A screenshot has been requested by the user from the Steam screenshot hotkey.
- This will only be called if Hooked is true, in which case Steam
- will not take the screenshot itself.
-
-
-
-
- A screenshot successfully written or otherwise added to the library and can now be tagged.
-
-
-
-
- A screenshot attempt failed
-
-
-
-
- Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB
- format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
-
-
-
-
- Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200
- pixels wide and the same aspect ratio
- as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The
- screenshots must be in either JPEG or TGA format.
- The return value is a handle that is valid for the duration of the game process and can be used to apply
- tags.
- JPEG, TGA, and PNG formats are supported.
-
-
-
-
- Causes the Steam overlay to take a screenshot.
- If screenshots are being hooked by the game then a
- ScreenshotRequested callback is sent back to the game instead.
-
-
-
-
- Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the
- game handles them.
- Hooking is disabled by default, and only ever enabled if you do so with this function.
- If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the
- hotkey or
- when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or
- AddScreenshotToLibrary in response.
-
-
-
-
- Provides the core of the Steam Game Servers API
-
-
-
-
- User has been authed or rejected
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the server now is logged on and has a working connection to the Steam master server.
-
-
-
-
- This will occur periodically if the Steam client is not connected, and has failed when retrying to
- establish a connection (result, stilltrying)
-
-
-
-
- Disconnected from Steam
-
-
-
-
- Initialize the steam server.
- If asyncCallbacks is false you need to call RunCallbacks manually every frame.
-
-
-
-
- Run the callbacks. This is also called in Async callbacks.
-
-
-
-
- Sets whether this should be marked as a dedicated server.
- If not, it is assumed to be a listen server.
-
-
-
-
- Gets or sets the current MaxPlayers.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current BotCount.
- This doesn't enforce any kind of limit, it just updates the master server.
-
-
-
-
- Gets or sets the current Map Name.
-
-
-
-
- Gets or sets the current ModDir
-
-
-
-
- Gets the current product
-
-
-
-
- Gets or sets the current Product
-
-
-
-
- Gets or sets the current ServerName
-
-
-
-
- Set whether the server should report itself as passworded
-
-
-
-
- Gets or sets the current GameTags. This is a comma seperated list of tags for this server.
- When querying the server list you can filter by these tags.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Log onto Steam anonymously.
-
-
-
-
- Returns true if the server is connected and registered with the Steam master server
- You should have called LogOnAnonymous etc on startup.
-
-
-
-
- To the best of its ability this tries to get the server's
- current public ip address. Be aware that this is likely to return
- null for the first few seconds after initialization.
-
-
-
-
- Enable or disable heartbeats, which are sent regularly to the master server.
- Enabled by default.
-
-
-
-
- Set heartbeat interval, if automatic heartbeats are enabled.
- You can leave this at the default.
-
-
-
-
- Force send a heartbeat to the master server instead of waiting
- for the next automatic update (if you've left them enabled)
-
-
-
-
- Update this connected player's information. You should really call this
- any time a player's name or score changes. This keeps the information shown
- to server queries up to date.
-
-
-
-
- Sets a Key Value. These can be anything you like, and are accessible
- when querying servers from the server list.
-
- Information describing gamemodes are common here.
-
-
-
-
- Remove all key values
-
-
-
-
- Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange.
-
-
-
-
- Forget this guy. They're no longer in the game.
-
-
-
-
- If true, Steam wants to send a packet. You should respond by sending
- this packet in an unconnected way to the returned Address and Port.
-
- Packet to send. The Data passed is pooled - so use it immediately.
- True if we want to send a packet
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- We have received a server query on our game port. Pass it to Steam to handle.
-
-
-
-
- Does the user own this app (which could be DLC)
-
-
-
-
- Downloads stats for the user
- If the user has no stats will return fail
- these stats will only be auto-updated for clients playing on the server
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Set the named stat for this user. Setting stats should follow the rules
- you defined in Steamworks.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Get the named stat for this user. If getting the stat failed, will return
- defaultValue. You should have called Refresh for this userid - which downloads
- the stats from the backend. If you didn't call it this will always return defaultValue.
-
-
-
-
- Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first.
- Remember to use Commit after use.
-
-
-
-
- Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid
- first.
- Remember to use Commit after use.
-
-
-
-
- Return true if available, exists and unlocked
-
-
-
-
- Once you've set a stat change on a user you need to commit your changes.
- You can do that using this function. The callback will let you know if
- your action succeeded, but most of the time you can fire and forget.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Posted after Download call
-
-
-
-
- Start downloading this item. You'll get notified of completion via OnDownloadItemResult.
-
- The ID of the file you want to download
- If true this should go straight to the top of the download list
- true if nothing went wrong and the download is started
-
-
-
- Will attempt to download this item asyncronously - allowing you to instantly react to its installation
-
- The ID of the file you want to download
- An optional callback
- Allows you to send a message to cancel the download anywhere during the process
- How often to call the progress function
- true if downloaded and installed correctly
-
-
-
- Utility function to fetch a single item. Internally this uses Ugc.FileQuery -
- which you can use to query multiple items if you need to.
-
-
-
-
- Functions for accessing and manipulating Steam user information.
- This is also where the APIs for Steam Voice are exposed.
-
-
-
-
- Called when a connections to the Steam back-end has been established.
- This means the Steam client now has a working connection to the Steam servers.
- Usually this will have occurred before the game has launched, and should only be seen if the
- user has dropped connection due to a networking issue or a Steam server update.
-
-
-
-
- Called when a connection attempt has failed.
- This will occur periodically if the Steam client is not connected,
- and has failed when retrying to establish a connection.
-
-
-
-
- Called if the client has lost connection to the Steam servers.
- Real-time services will be disabled until a matching OnSteamServersConnected has been posted.
-
-
-
-
- Sent by the Steam server to the client telling it to disconnect from the specified game server,
- which it may be in the process of or already connected to.
- The game client should immediately disconnect upon receiving this message.
- This can usually occur if the user doesn't have rights to play on the game server.
-
-
-
-
- Called whenever the users licenses (owned packages) changes.
-
-
-
-
- Called when an auth ticket has been validated.
- The first parameter is the steamid of this user
- The second is the Steam ID that owns the game, this will be different from the first
- if the game is being borrowed via Steam Family Sharing
-
-
-
-
- Used internally for GetAuthSessionTicketAsync
-
-
-
-
- Called when a user has responded to a microtransaction authorization request.
- ( appid, orderid, user authorized )
-
-
-
-
- Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the
- Steam overlay browser.
- You can use this to add support for external site signups where you want to pop back into the browser
- after some web page
- signup sequence, and optionally get back some detail about that.
-
-
-
-
- Sent for games with enabled anti indulgence / duration control, for enabled users.
- Lets the game know whether persistent rewards or XP should be granted at normal rate,
- half rate, or zero rate.
-
-
-
-
- Starts/Stops voice recording.
- Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording
- when the user has released their push-to-talk hotkey or the game session has completed.
-
-
-
-
- Returns true if we have voice data waiting to be read
-
-
-
-
- Reads the voice data and returns the number of bytes written.
- The compressed data can be transmitted by your application and decoded back into raw audio data using
- DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not
- meant to be played directly.
- This should be called once per frame, and at worst no more than four times a second to keep the
- microphone input delay as low as
- possible. Calling this any less may result in gaps in the returned stream.
-
-
-
-
- Reads the voice data and returns the bytes. You should obviously ideally be using
- ReadVoiceData because it won't be creating a new byte array every call. But this
- makes it easier to get it working, so let the babies have their bottle.
-
-
-
-
- Decodes the compressed voice data returned by GetVoice.
- The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025
- to 48000.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
-
-
-
-
- Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you.
- This waits for a positive response from the backend before returning the ticket. This means
- the ticket is definitely ready to go as soon as it returns. Will return null if the callback
- times out or returns negatively.
-
-
-
-
- Checks if the current users looks like they are behind a NAT device.
- This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT.
-
-
-
-
- Gets the Steam level of the user, as shown on their Steam community profile.
-
-
-
-
- Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the
- specified URL.
- As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout
- pages will automatically recognize the user instead of presenting a login page.
- NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call
- this API when you are about to launch the browser, or else immediately navigate to the result URL using
- a hidden browser window.
- NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea
- to request and visit a new auth URL every 12 hours.
-
-
-
-
- Checks whether the current user has verified their phone number.
-
-
-
-
- Checks whether the current user has Steam Guard two factor authentication enabled on their account.
-
-
-
-
- Checks whether the user's phone number is used to uniquely identify them.
-
-
-
-
- Checks whether the current user's phone number is awaiting (re)verification.
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- If you get a null result from this it's probably because you're calling it too often.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Requests an application ticket encrypted with the secret "encrypted app ticket key".
- The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app.
- There can only be one call pending, and this call is subject to a 60 second rate limit.
- This can fail if you don't have an encrypted ticket set for your app here
- https://partner.steamgames.com/apps/sdkauth/
-
-
-
-
- Get anti indulgence / duration control
-
-
-
-
- called when the achivement icon is loaded
-
-
-
-
- called when the latests stats and achievements have been received
- from the server
-
-
-
-
- result of a request to store the user stats for a game
-
-
-
-
- result of a request to store the achievements for a game, or an
- "indicate progress" call. If both m_nCurProgress and m_nMaxProgress
- are zero, that means the achievement has been fully unlocked
-
-
-
-
- Callback indicating that a user's stats have been unloaded
-
-
-
-
- Get the available achievements
-
-
-
-
- Show the user a pop-up notification with the current progress toward an achievement.
- Will return false if RequestCurrentStats has not completed and successfully returned
- its callback, if the achievement doesn't exist/has unpublished changes in the app's
- Steamworks Admin page, or if the achievement is unlocked.
-
-
-
-
- Tries to get the number of players currently playing this game.
- Or -1 if failed.
-
-
-
-
- Send the changed stats and achievements data to the server for permanent storage.
- If this fails then nothing is sent to the server. It's advisable to keep trying until the call is
- successful.
- This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You
- should only be calling this during major state changes such as the end of a round, the map changing, or
- the user leaving a server. This call is required to display the achievement unlock notification dialog
- though, so if you have called SetAchievement then it's advisable to call this soon after that.
- If you have stats or achievements that you have saved locally but haven't uploaded with this function
- when your application process ends then this function will automatically be called.
- You can find additional debug information written to the %steam_install%\logs\stats_log.txt file.
- This function returns true upon success if :
- RequestCurrentStats has completed and successfully returned its callback AND
- the current game has stats associated with it in the Steamworks Partner backend, and those stats are
- published.
-
-
-
-
- Asynchronously request the user's current stats and achievements from the server.
- You must always call this first to get the initial status of stats and achievements.
- Only after the resulting callback comes back can you start calling the rest of the stats
- and achievement functions for the current user.
-
-
-
-
- Asynchronously fetches global stats data, which is available for stats marked as
- "aggregated" in the App Admin panel of the Steamworks website.
- You must have called RequestCurrentStats and it needs to return successfully via
- its callback prior to calling this.
-
- How many days of day-by-day history to retrieve in addition to the overall totals. The
- limit is 60.
-
- OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the
- remote call failed
-
-
-
-
- Gets a leaderboard by name, it will create it if it's not yet created.
- Leaderboards created with this function will not automatically show up in the Steam Community.
- You must manually set the Community Name field in the App Admin panel of the Steamworks website.
- As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on
- the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of
- dynamically created leaderboards.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Adds this amount to the named stat. Internally this calls Get() and adds
- to that value. Steam doesn't provide a mechanism for atomically increasing
- stats like this, this functionality is added here as a convenience.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Set a stat value. This will automatically call StoreStats() after a successful call
- unless you pass false as the last argument.
-
-
-
-
- Get a Int stat value
-
-
-
-
- Get a float stat value
-
-
-
-
- Practically wipes the slate clean for this user. If includeAchievements is true, will wipe
- any achievements too.
-
-
-
-
-
- Interface which provides access to a range of miscellaneous utility functions
-
-
-
-
- The country of the user changed
-
-
-
-
- Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute
- The parameter is the number of minutes left
-
-
-
-
- Called when Steam wants to shutdown
-
-
-
-
- Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if
- cancelled etc.
-
-
-
-
- Returns the number of seconds since the application was active
-
-
-
-
- Returns the number of seconds since the user last moved the mouse etc
-
-
-
-
- Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time)
-
-
-
-
- returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via
- an IP-to-location database)
- e.g "US" or "UK".
-
-
-
-
- returns true if the image exists, and the buffer was successfully filled out
- results are returned in RGBA format
- the destination buffer size should be 4 * height * width * sizeof(char)
-
-
-
-
- returns the image in RGBA format
-
-
-
-
- Returns true if we're using a battery (ie, a laptop not plugged in)
-
-
-
-
- Returns battery power [0-1]
-
-
-
-
- Sets the position where the overlay instance for the currently calling game should show notifications.
- This position is per-game and if this function is called from outside of a game context it will do
- nothing.
-
-
-
-
- Returns true if the overlay is running and the user can access it. The overlay process could take a few
- seconds to
- start and hook the game process, so this function will initially return false while the overlay is
- loading.
-
-
-
-
- Normally this call is unneeded if your game has a constantly running frame loop that calls the
- D3D Present API, or OGL SwapBuffers API every frame.
-
- However, if you have a game that only refreshes the screen on an event driven basis then that can break
- the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also
- need to Present() to the screen any time an even needing a notification happens or when the overlay is
- brought up over the game by a user. You can use this API to ask the overlay if it currently need a
- present
- in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you
- refresh the screen with Present or SwapBuffers to allow the overlay to do it's work.
-
-
-
-
- Asynchronous call to check if an executable file has been signed using the public key set on the signing
- tab
- of the partner site, for example to refuse to load modified executable files.
-
-
-
-
- Activates the Big Picture text input dialog which only supports gamepad input
-
-
-
-
- Returns previously entered text
-
-
-
-
- returns the language the steam client is running in, you probably want
- Apps.CurrentGameLanguage instead, this is for very special usage cases
-
-
-
-
- returns true if Steam itself is running in VR mode
-
-
-
-
- Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition
-
-
-
-
- returns true if Steam and the Steam Overlay are running in Big Picture mode
- Games much be launched through the Steam client to enable the Big Picture overlay. During development,
- a game can be added as a non-steam game to the developers library to test this feature
-
-
-
-
- ask SteamUI to create and render its OpenVR dashboard
-
-
-
-
- Set whether the HMD content will be streamed via Steam In-Home Streaming
- If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be
- allowed.
- If this is set to false, then the application window will be streamed instead, and remote input will be
- allowed.
- The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game.
- (this is useful for games that have asymmetric multiplayer gameplay)
-
-
-
-
- Returns whether this steam client is a Steam China specific client, vs the global client
-
-
-
-
- Undocumented Parental Settings
-
-
-
-
- Return true if currently using Steam's live broadcasting
-
-
-
-
- If we're broadcasting, will return the number of live viewers
-
-
-
-
- Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive')
- This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in
- our state loops, instead of trying to place it in all of your state transitions.
-
-
-
-
- Returns the current state of the supplied digital game action
-
-
-
-
- Returns the current state of these supplied analog game action
-
-
-
-
- Returns true if this is the local user
-
-
-
-
- Return true if this is a friend
-
-
-
-
- Returns true if you have this user blocked
-
-
-
-
- Return true if this user is playing the game we're running
-
-
-
-
- Returns true if this friend is online
-
-
-
-
- Sometimes we don't know the user's name. This will wait until we have
- downloaded the information on this user.
-
-
-
-
- Returns true if this friend is marked as away
-
-
-
-
- Returns true if this friend is marked as busy
-
-
-
-
- Returns true if this friend is marked as snoozing
-
-
-
-
- Invite this friend to the game that we are playing
-
-
-
-
- Sends a message to a Steam friend. Returns true if success
-
-
-
-
- Tries to get download the latest user stats
-
- True if successful, False if failure
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user stat. Must call RequestUserStats first.
-
- The name of the stat you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a user achievement state. Must call RequestUserStats first.
-
- The name of the achievement you want to get
- Will return this value if not available
- The value, or defult if not available
-
-
-
- Gets a the time this achievement was unlocked.
-
- The name of the achievement you want to get
- The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return
- DateTime.MinValue
-
-
-
-
- Shortcut to call GetProperty( "name" )
-
-
-
-
- Shortcut to call GetProperty( "description" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url" )
-
-
-
-
- Shortcut to call GetProperty( "icon_url_large" )
-
-
-
-
- Shortcut to call GetProperty( "price_category" )
-
-
-
-
- Shortcut to call GetProperty( "type" )
-
-
-
-
- Returns true if this is an item that generates an item, rather
- than something that is actual an item
-
-
-
-
- Shortcut to call GetProperty( "exchange" )
-
-
-
-
- Get a list of exchanges that are available to make this item
-
-
-
-
- Shortcut to call GetBoolProperty( "marketable" )
-
-
-
-
- Shortcut to call GetBoolProperty( "tradable" )
-
-
-
-
- Gets the property timestamp
-
-
-
-
- Gets the property modified
-
-
-
-
- Get a specific property by name
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Read a raw property from the definition schema
-
-
-
-
- Gets a list of all properties on this item
-
-
-
-
- Returns the price of this item in the local currency (SteamInventory.Currency)
-
-
-
-
- If the price has been discounted, LocalPrice will differ from LocalBasePrice
- (assumed, this isn't documented)
-
-
-
-
- Return a list of recepies that contain this item
-
-
-
-
- Only available if the result set was created with the getproperties
-
-
-
-
- This item is account-locked and cannot be traded or given away.
- This is an item status flag which is permanently attached to specific item instances
-
-
-
-
- The item has been destroyed, traded away, expired, or otherwise invalidated.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- The item quantity has been decreased by 1 via ConsumeItem API.
- This is an action confirmation flag which is only set one time, as part of a result set.
-
-
-
-
- Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is
- permanently removed.
- Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game
- implements item removal at all,
- a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain
- item definitions or fully
- blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother
- borrowed my laptop and deleted all of my rare items".
-
-
-
-
- Split stack into two items
-
-
-
-
- Add x units of the target item to this item
-
-
-
-
- Will try to return the date that this item was aquired. You need to have for the items
- with their properties for this to work.
-
-
-
-
- Tries to get the origin property. Need properties for this to work.
- Will return a string like "market"
-
-
-
-
- Small utility class to describe an item with a quantity
-
-
-
-
- A structured description of an item exchange
-
-
-
-
- The definition ID of the ingredient.
-
-
-
-
- If we don't know about this item definition this might be null.
- In which case, DefinitionId should still hold the correct id.
-
-
-
-
- The amount of this item needed. Generally this will be 1.
-
-
-
-
- The item that this will create.
-
-
-
-
- The items, with quantity required to create this item.
-
-
-
-
- Checks whether an inventory result handle belongs to the specified Steam ID.
- This is important when using Deserialize, to verify that a remote player is not pretending to have a
- different user's inventory
-
-
-
-
- Serialized result sets contain a short signature which can't be forged or replayed across different game
- sessions.
- A result set can be serialized on the local client, transmitted to other players via your game
- networking, and
- deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing
- rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a
- serialized
- result depends on the number items which are being serialized.When securely transmitting items to other
- players,
- it is recommended to use GetItemsByID first to create a minimal result set.
- Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See
- DeserializeResult
- for expiration handling.
-
-
-
-
- Creator of the beacon
-
-
-
-
- Creator of the beacon
-
-
-
-
- Will attempt to join the party. If successful will return a connection string.
- If failed, will return null
-
-
-
-
- When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your
- game a ReservationNotification callback.
- When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined
- successfully
-
-
-
-
- To cancel a reservation (due to timeout or user input), call this.
- Steam will open a new reservation slot.
- Note: The user may already be in-flight to your game, so it's possible they will still connect and try
- to join your party.
-
-
-
-
- Turn off the beacon
-
-
-
-
- Used to set up the server.
- The variables in here are all required to be set, and can't be changed once the server is created.
-
-
-
-
- The version string is usually in the form x.x.x.x, and is used by the master server to detect when the
- server is out of date.
- If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If
- this version number is
- less than that latest version then your server won't show.
-
-
-
-
- This should be the same directory game where gets installed into. Just the folder name, not the whole
- path. I.e. "Rust", "Garrysmod".
-
-
-
-
- The game description. Setting this to the full name of your game is recommended.
-
-
-
-
- Is a dedicated server
-
-
-
-
- Set the Steam quert port
-
-
-
-
- If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server
- API to use
- "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets
- for the master
- server updater.
-
- More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket
-
-
-
-
- Create a Normal Workshop item that can be subscribed to
-
-
-
-
- Workshop item that is meant to be voted on for the purpose of selling in-game
-
-
-
-
- https://partner.steamgames.com/doc/features/workshop/implementation#Legal
-
-
-
-
- The actual ID of this file
-
-
-
-
- The given title of this item
-
-
-
-
- The description of this item, in your local language if available
-
-
-
-
- A list of tags for this item, all lowercase
-
-
-
-
- App Id of the app that created this item
-
-
-
-
- App Id of the app that will consume this item.
-
-
-
-
- User who created this content
-
-
-
-
- The bayesian average for up votes / total votes, between [0,1]
-
-
-
-
- Time when the published item was created
-
-
-
-
- Time when the published item was last updated
-
-
-
-
- True if this is publically visible
-
-
-
-
- True if this item is only visible by friends of the creator
-
-
-
-
- True if this is only visible to the creator
-
-
-
-
- True if this item has been banned
-
-
-
-
- Whether the developer of this app has specifically flagged this item as accepted in the Workshop
-
-
-
-
- The number of upvotes of this item
-
-
-
-
- The number of downvotes of this item
-
-
-
-
- Start downloading this item.
- If this returns false the item isn't getting downloaded.
-
-
-
-
- If we're downloading, how big the total download is
-
-
-
-
- If we're downloading, how much we've downloaded
-
-
-
-
- If we're installed, how big is the install
-
-
-
-
- If we're downloading our current progress as a delta betwen 0-1
-
-
-
-
- A case insensitive check for tag
-
-
-
-
- Allows the user to subscribe to this item
-
-
-
-
- Allows the user to subscribe to download this item asyncronously
- If CancellationToken is default then there is 60 seconds timeout
- Progress will be set to 0-1
-
-
-
-
- Allows the user to unsubscribe from this item
-
-
-
-
- Adds item to user favorite list
-
-
-
-
- Removes item from user favorite list
-
-
-
-
- Allows the user to rate a workshop item up or down.
-
-
-
-
- Gets the current users vote on the item
-
-
-
-
- Return a URL to view this item online
-
-
-
-
- The URl to view this item's changelog
-
-
-
-
- The URL to view the comments on this item
-
-
-
-
- The URL to discuss this item
-
-
-
-
- The URL to view this items stats online
-
-
-
-
- The URL to the preview image for this item
-
-
-
-
- Edit this item
-
-
-
-
- Found items must have at least one of the defined tags
-
-
-
-
- Found items must have all defined tags
-
-
-
-
- Returns the current Unix Epoch
-
-
-
-
- Convert an epoch to a datetime
-
-
-
-
- Convert a DateTime to a unix time
-
-
-
-
- Returns a buffer. This will get returned and reused later on.
-
-
-
-
- Prevent unity from stripping shit we depend on
- https://docs.unity3d.com/Manual/ManagedCodeStripping.html
-
-
-
-
diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml.meta
deleted file mode 100644
index bf80f5b..0000000
--- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: ea452b431085aed499c01339e89fce8b
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so b/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so
deleted file mode 100644
index 7c42e16..0000000
Binary files a/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so and /dev/null differ
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so.meta b/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so.meta
deleted file mode 100644
index 7760b89..0000000
--- a/Assets/Packages/Facepunch/redistributable_bin/linux32/libsteam_api.so.meta
+++ /dev/null
@@ -1,89 +0,0 @@
-fileFormatVersion: 2
-guid: fd99b19e202e95a44ace17e10bac2feb
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- '': Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 1
- Exclude Linux: 1
- Exclude Linux64: 1
- Exclude LinuxUniversal: 1
- Exclude OSXUniversal: 1
- Exclude Win: 1
- Exclude Win64: 1
- - first:
- Any:
- second:
- enabled: 0
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- DefaultValueInitialized: true
- OS: AnyOS
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Linux
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: LinuxUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win64
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so b/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so
deleted file mode 100644
index 33762a7..0000000
Binary files a/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so and /dev/null differ
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so.meta b/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so.meta
deleted file mode 100644
index 5b1fd9a..0000000
--- a/Assets/Packages/Facepunch/redistributable_bin/linux64/libsteam_api.so.meta
+++ /dev/null
@@ -1,89 +0,0 @@
-fileFormatVersion: 2
-guid: a3b75fd2a03fb3149b60c2040555c3fe
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- '': Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 0
- Exclude Linux: 1
- Exclude Linux64: 0
- Exclude LinuxUniversal: 0
- Exclude OSXUniversal: 1
- Exclude Win: 0
- Exclude Win64: 0
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- CPU: x86_64
- DefaultValueInitialized: true
- OS: Linux
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Linux
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux64
- second:
- enabled: 1
- settings:
- CPU: x86_64
- - first:
- Standalone: LinuxUniversal
- second:
- enabled: 1
- settings:
- CPU: x86_64
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Win
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win64
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/osx.meta b/Assets/Packages/Facepunch/redistributable_bin/osx.meta
deleted file mode 100644
index 484b36e..0000000
--- a/Assets/Packages/Facepunch/redistributable_bin/osx.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 93319165ca0834f41b428adbdad19105
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle b/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle
deleted file mode 100644
index 97b6446..0000000
Binary files a/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle and /dev/null differ
diff --git a/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle.meta b/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle.meta
deleted file mode 100644
index c0be5c9..0000000
--- a/Assets/Packages/Facepunch/redistributable_bin/osx/libsteam_api.bundle.meta
+++ /dev/null
@@ -1,32 +0,0 @@
-fileFormatVersion: 2
-guid: 7d6647fb9d80f5b4f9b2ff1378756bee
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 0
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- DefaultValueInitialized: true
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 1
- settings: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll b/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll
deleted file mode 100644
index 6e0f440..0000000
Binary files a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll and /dev/null differ
diff --git a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta b/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta
deleted file mode 100644
index a194fcf..0000000
--- a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta
+++ /dev/null
@@ -1,89 +0,0 @@
-fileFormatVersion: 2
-guid: f47308500f9b7734392a75ff281c7457
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- : Any
- second:
- enabled: 0
- settings:
- Exclude Editor: 0
- Exclude Linux: 0
- Exclude Linux64: 0
- Exclude LinuxUniversal: 0
- Exclude OSXUniversal: 0
- Exclude Win: 0
- Exclude Win64: 1
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 1
- settings:
- CPU: x86
- DefaultValueInitialized: true
- OS: Windows
- - first:
- Facebook: Win
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- - first:
- Facebook: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- - first:
- Standalone: Linux
- second:
- enabled: 1
- settings:
- CPU: x86
- - first:
- Standalone: Linux64
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: LinuxUniversal
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: OSXUniversal
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win
- second:
- enabled: 1
- settings:
- CPU: AnyCPU
- - first:
- Standalone: Win64
- second:
- enabled: 0
- settings:
- CPU: None
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/steam_api.lib b/Assets/Packages/Facepunch/redistributable_bin/steam_api.lib
deleted file mode 100644
index 66182e3..0000000
Binary files a/Assets/Packages/Facepunch/redistributable_bin/steam_api.lib and /dev/null differ
diff --git a/Assets/Packages/Facepunch/redistributable_bin/win64/steam_api64.dll.meta b/Assets/Packages/Facepunch/redistributable_bin/win64/steam_api64.dll.meta
index d371fcd..c28a31c 100644
--- a/Assets/Packages/Facepunch/redistributable_bin/win64/steam_api64.dll.meta
+++ b/Assets/Packages/Facepunch/redistributable_bin/win64/steam_api64.dll.meta
@@ -12,7 +12,7 @@ PluginImporter:
validateReferences: 1
platformData:
- first:
- '': Any
+ : Any
second:
enabled: 0
settings:
@@ -59,7 +59,7 @@ PluginImporter:
second:
enabled: 1
settings:
- CPU: x86_64
+ CPU: AnyCPU
- first:
Standalone: LinuxUniversal
second:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux64.meta b/Assets/Samples.meta
similarity index 77%
rename from Assets/Packages/Facepunch/redistributable_bin/linux64.meta
rename to Assets/Samples.meta
index 2c7346c..cc73c02 100644
--- a/Assets/Packages/Facepunch/redistributable_bin/linux64.meta
+++ b/Assets/Samples.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 2b478e6d3d1ef9848b43453c8e68cd0d
+guid: c9d00fbba9a42474abd74966db59e463
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/FishNet/Plugins/FishyFacepunch.meta b/Assets/Samples/Steamworks Foundation.meta
similarity index 77%
rename from Assets/FishNet/Plugins/FishyFacepunch.meta
rename to Assets/Samples/Steamworks Foundation.meta
index 407a83d..040cd39 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch.meta
+++ b/Assets/Samples/Steamworks Foundation.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: c11e7223b052ece4cbb66d2cf012cb04
+guid: 8e3d6d5626a422a4ba9855d0453dc8ec
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core.meta b/Assets/Samples/Steamworks Foundation/3.0.16.meta
similarity index 77%
rename from Assets/FishNet/Plugins/FishyFacepunch/Core.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16.meta
index 169ed19..463cee4 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: fc9c8228eea0edc4eb3428086998d364
+guid: 45ac0e53d32d2934daf1ebf18e9b541c
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Packages/Facepunch/redistributable_bin/linux32.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes.meta
similarity index 77%
rename from Assets/Packages/Facepunch/redistributable_bin/linux32.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes.meta
index de7c76e..d969136 100644
--- a/Assets/Packages/Facepunch/redistributable_bin/linux32.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ce9561d2de976e74684ab44c5fec0813
+guid: a8a3bb549ad2ff847bd4d70cca0067b9
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples.meta
new file mode 100644
index 0000000..8c034fd
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bf67a0fffab71f44289e46ca401be348
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start.meta
new file mode 100644
index 0000000..aec6ed3
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cbcc7df99e935724e9ce1ab1461416cb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity
new file mode 100644
index 0000000..eb8cad8
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity
@@ -0,0 +1,1416 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 2100000, guid: 3b7ce53f99e88e6498a71476b152967b, type: 2}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_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: 10
+ m_AtlasSize: 512
+ 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: 256
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 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 &229611818
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 229611819}
+ - component: {fileID: 229611822}
+ - component: {fileID: 229611821}
+ - component: {fileID: 229611820}
+ m_Layer: 5
+ m_Name: KbButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &229611819
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 229611818}
+ 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: 934170828}
+ m_Father: {fileID: 2004602740}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 88, y: -35}
+ m_SizeDelta: {x: 149.1947, y: 20.534668}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &229611820
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 229611818}
+ 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: 0.8, g: 0.8, b: 0.8, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.8, g: 0.8, b: 0.8, 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: 934170829}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1489997031}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: OpenWebPage
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: https://kb.heathen.group/assets/steamworks/for-unity-game-engine/samples/quick-start
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &229611821
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 229611818}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ 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 &229611822
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 229611818}
+ m_CullTransparentMesh: 0
+--- !u!1 &359573698
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 359573699}
+ - component: {fileID: 359573701}
+ - component: {fileID: 359573700}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &359573699
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359573698}
+ 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: 1079597858}
+ 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 &359573700
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359573698}
+ 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.75, g: 0.75, b: 0.75, 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: 21300000, guid: 23e7e2d720dd430498fb0753fb80f8af, type: 3}
+ 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 &359573701
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359573698}
+ m_CullTransparentMesh: 1
+--- !u!1 &364169025
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 364169028}
+ - component: {fileID: 364169027}
+ - component: {fileID: 364169026}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &364169026
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+--- !u!20 &364169027
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.15686275, g: 0.15686275, b: 0.15686275, a: 1}
+ 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: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ 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 &364169028
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &370168716
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 370168717}
+ - component: {fileID: 370168719}
+ - component: {fileID: 370168718}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &370168717
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 370168716}
+ 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: 1411114275}
+ 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 &370168718
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 370168716}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Learn More
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 24
+ m_fontSizeBase: 24
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &370168719
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 370168716}
+ m_CullTransparentMesh: 1
+--- !u!1001 &405857582
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 400
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 72
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761195, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Name
+ value: Friend Profile
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: d839f647c4247d540b8a31b8284cf228, type: 3}
+--- !u!1 &934170827
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 934170828}
+ - component: {fileID: 934170830}
+ - component: {fileID: 934170829}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &934170828
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 934170827}
+ 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: 229611819}
+ 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 &934170829
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 934170827}
+ 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.5, g: 0.78773594, 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: 18
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: Knowledge Base
+--- !u!222 &934170830
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 934170827}
+ m_CullTransparentMesh: 0
+--- !u!1 &1048471140
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1048471143}
+ - component: {fileID: 1048471142}
+ - component: {fileID: 1048471141}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1048471141
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1048471142
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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 &1048471143
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1079597854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1079597858}
+ - component: {fileID: 1079597857}
+ - component: {fileID: 1079597856}
+ - component: {fileID: 1079597855}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1079597855
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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 &1079597856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 2560, y: 1440}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 1
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1079597857
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1079597858
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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_Children:
+ - {fileID: 359573699}
+ - {fileID: 1304400041}
+ - {fileID: 2004602740}
+ - {fileID: 1489997030}
+ m_Father: {fileID: 0}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!224 &1304400041 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ m_PrefabInstance: {fileID: 405857582}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1411114274
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1411114275}
+ - component: {fileID: 1411114278}
+ - component: {fileID: 1411114277}
+ - component: {fileID: 1411114276}
+ m_Layer: 5
+ m_Name: Learn More
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1411114275
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1411114274}
+ 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: 370168717}
+ m_Father: {fileID: 1489997030}
+ m_RootOrder: 3
+ 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: -50}
+ m_SizeDelta: {x: -110, y: 50}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &1411114276
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1411114274}
+ 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: 1411114277}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1489997031}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: OpenWebPage
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: https://kb.heathen.group/assets/steamworks/for-unity-game-engine/samples/quick-start
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1411114277
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1411114274}
+ 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 &1411114278
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1411114274}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1489997029
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 512
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 128
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531661, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Name
+ value: Heathen
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 19105e6f44b84e84386e3f41cbb1a369, type: 3}
+--- !u!224 &1489997030 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ m_PrefabInstance: {fileID: 1489997029}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1489997031 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 1136993166192167592, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ m_PrefabInstance: {fileID: 1489997029}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 38418a9aefe04ab40b13f8f7934a09f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1744233205
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1744233207}
+ - component: {fileID: 1744233206}
+ m_Layer: 0
+ m_Name: Manager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1744233206
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4882e1f0baaa18a45836edebb1e6b881, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ settings: {fileID: 11400000, guid: 85f8a80ca92ce574b82c98a512eca71a, type: 2}
+ evtSteamInitialized:
+ m_PersistentCalls:
+ m_Calls: []
+ evtSteamInitializationError:
+ m_PersistentCalls:
+ m_Calls: []
+ evtLobbyInviteArgumentDetected:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!4 &1744233207
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 960, y: 50, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1961666143
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1961666144}
+ - component: {fileID: 1961666146}
+ - component: {fileID: 1961666145}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1961666144
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1961666143}
+ 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: 2004602740}
+ 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!114 &1961666145
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1961666143}
+ 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.75, g: 0.75, b: 0.75, 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: 18
+ m_FontStyle: 0
+ 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: "Quick Start\n1)
+ Read the documentaiton\n\n2)
+ Create a SteamSettings object\n Create->Steamworks->Settings\n\n3)
+ Update the AppId of the SteamSettings object\n\n4) Restart
+ both Unity and Visual Studio\n\n5) Create a Steamworks Behaviour\n
+ As seen in the Manager GameObject in this scene\n\n6)
+ Drag the SteamSettings object to the behaviour\n\n\nCongradulations you have
+ now integrated the Steam API with your game project.\n\nIf you have \"Enabled
+ Debug Messages\" by clicking the toggle in your SteamSettings you will see a
+ number of information messages when you start the simulation, these messages
+ will include the AppID the API has initalized with.\n\nWhile the simulation is
+ running you can use the SteamSettings inspector to import artifacts you have
+ created in the Steam Developer portal such as DLC, Achievements and Inventory
+ Items. \n\nNOTE: Some artifacts are only available to the
+ complete edition of Steamworks."
+--- !u!222 &1961666146
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1961666143}
+ m_CullTransparentMesh: 0
+--- !u!1 &2004602739
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2004602740}
+ - component: {fileID: 2004602742}
+ - component: {fileID: 2004602741}
+ m_Layer: 5
+ m_Name: Info
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2004602740
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2004602739}
+ 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: 1961666144}
+ - {fileID: 229611819}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 512, y: 768}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2004602741
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2004602739}
+ 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.21960786, g: 0.21960786, b: 0.21960786, a: 1}
+ m_RaycastTarget: 0
+ 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 &2004602742
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2004602739}
+ m_CullTransparentMesh: 0
diff --git a/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity.meta
similarity index 74%
rename from Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity.meta
index aa8a077..ad399c0 100644
--- a/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/1 Quick Start/Quick Start.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 246f31a0e00fea74a93125fec6d80da8
+guid: 7fb5399c2d56f4d4da19cf33f8c8fcb3
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data.meta
new file mode 100644
index 0000000..3669537
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f09f612b141fac49a5d7d05b4d3c044
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity
new file mode 100644
index 0000000..4ef5832
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity
@@ -0,0 +1,1349 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 2100000, guid: 3b7ce53f99e88e6498a71476b152967b, type: 2}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_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: 10
+ m_AtlasSize: 512
+ 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: 256
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 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 &286035353
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 286035354}
+ - component: {fileID: 286035356}
+ - component: {fileID: 286035355}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &286035354
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 286035353}
+ 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: 1079597858}
+ 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 &286035355
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 286035353}
+ 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.75, g: 0.75, b: 0.75, 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: 21300000, guid: 23e7e2d720dd430498fb0753fb80f8af, type: 3}
+ 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 &286035356
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 286035353}
+ m_CullTransparentMesh: 1
+--- !u!1 &364169025
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 364169028}
+ - component: {fileID: 364169027}
+ - component: {fileID: 364169026}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &364169026
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+--- !u!20 &364169027
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.15686275, g: 0.15686275, b: 0.15686275, a: 1}
+ 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: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ 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 &364169028
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &388966609
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073503760505, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073941411880, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073941411880, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073941411880, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073941411880, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329073941411880, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074334649130, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074334649130, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074334649130, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074334649130, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074334649130, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074419577060, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074419577060, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074419577060, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074419577060, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074419577060, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074442874173, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074442874173, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074442874173, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 400
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: -72
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -36
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074583414253, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_Name
+ value: Friend Groups
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074663848716, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074663848716, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074663848716, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074663848716, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074663848716, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074868335390, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074871570792, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074871570792, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329074928385333, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: nickname.label
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329075093704256, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329075093704256, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329075093704256, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329075093704256, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8626329075093704256, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: fdea0b1e95bf37e409855ead63b8d368, type: 3}
+--- !u!224 &388966610 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 8626329074583414250, guid: fdea0b1e95bf37e409855ead63b8d368,
+ type: 3}
+ m_PrefabInstance: {fileID: 388966609}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &460738988
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 460738989}
+ - component: {fileID: 460738991}
+ - component: {fileID: 460738990}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &460738989
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 460738988}
+ 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: 470667567}
+ 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 &460738990
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 460738988}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Learn More
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 24
+ m_fontSizeBase: 24
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &460738991
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 460738988}
+ m_CullTransparentMesh: 1
+--- !u!1 &470667566
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 470667567}
+ - component: {fileID: 470667570}
+ - component: {fileID: 470667569}
+ - component: {fileID: 470667568}
+ m_Layer: 5
+ m_Name: Learn More
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &470667567
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 470667566}
+ 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: 460738989}
+ m_Father: {fileID: 2031194024}
+ m_RootOrder: 3
+ 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: -50}
+ m_SizeDelta: {x: -110, y: 50}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &470667568
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 470667566}
+ 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: 470667569}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2031194025}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: OpenWebPage
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: https://kb.heathen.group/assets/steamworks/for-unity-game-engine/samples/user-data
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &470667569
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 470667566}
+ 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 &470667570
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 470667566}
+ m_CullTransparentMesh: 1
+--- !u!1001 &644983227
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 400
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 72
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4693307505461761195, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ propertyPath: m_Name
+ value: Friend Profile
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: d839f647c4247d540b8a31b8284cf228, type: 3}
+--- !u!224 &644983228 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 4693307505461761194, guid: d839f647c4247d540b8a31b8284cf228,
+ type: 3}
+ m_PrefabInstance: {fileID: 644983227}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1048471140
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1048471143}
+ - component: {fileID: 1048471142}
+ - component: {fileID: 1048471141}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1048471141
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1048471142
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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 &1048471143
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1079597854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1079597858}
+ - component: {fileID: 1079597857}
+ - component: {fileID: 1079597856}
+ - component: {fileID: 1079597855}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1079597855
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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 &1079597856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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 &1079597857
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1079597858
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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_Children:
+ - {fileID: 286035354}
+ - {fileID: 2031194024}
+ - {fileID: 644983228}
+ - {fileID: 388966610}
+ m_Father: {fileID: 0}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1744233205
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1744233207}
+ - component: {fileID: 1744233206}
+ m_Layer: 0
+ m_Name: Manager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1744233206
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4882e1f0baaa18a45836edebb1e6b881, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ settings: {fileID: 11400000, guid: 85f8a80ca92ce574b82c98a512eca71a, type: 2}
+ evtSteamInitialized:
+ m_PersistentCalls:
+ m_Calls: []
+ evtSteamInitializationError:
+ m_PersistentCalls:
+ m_Calls: []
+ evtLobbyInviteArgumentDetected:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!4 &1744233207
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ 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: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &2031194023
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 512
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 128
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531661, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Name
+ value: Heathen
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 19105e6f44b84e84386e3f41cbb1a369, type: 3}
+--- !u!224 &2031194024 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ m_PrefabInstance: {fileID: 2031194023}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &2031194025 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 1136993166192167592, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ m_PrefabInstance: {fileID: 2031194023}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 38418a9aefe04ab40b13f8f7934a09f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Assets/Packages/Facepunch/redistributable_bin/steam_api.lib.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity.meta
similarity index 74%
rename from Assets/Packages/Facepunch/redistributable_bin/steam_api.lib.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity.meta
index d2fc3e8..4acdfe2 100644
--- a/Assets/Packages/Facepunch/redistributable_bin/steam_api.lib.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/2 User Data/Working with User Data.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3ffd5813d91aefd459583d77d2e49ddd
+guid: 8b5047bd7da93dc41b54a06db904f57f
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements.meta
new file mode 100644
index 0000000..b8a4521
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f5e5cee01870f6649abd156a37da40c0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity
new file mode 100644
index 0000000..98f3316
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity
@@ -0,0 +1,3057 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 2100000, guid: 3b7ce53f99e88e6498a71476b152967b, type: 2}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_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: 10
+ m_AtlasSize: 512
+ 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: 256
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 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 &157536772
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 157536773}
+ - component: {fileID: 157536776}
+ - component: {fileID: 157536775}
+ - component: {fileID: 157536774}
+ m_Layer: 5
+ m_Name: Descriptiopn Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &157536773
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 157536772}
+ 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: 2040236126}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 32.5, y: -10}
+ m_SizeDelta: {x: -75, y: -30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &157536774
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 157536772}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5d7938ae706073442b17f2e084a7d727, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5779673662737521517, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &157536775
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 157536772}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &157536776
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 157536772}
+ m_CullTransparentMesh: 1
+--- !u!1 &254939109
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 254939110}
+ - component: {fileID: 254939113}
+ - component: {fileID: 254939112}
+ - component: {fileID: 254939111}
+ m_Layer: 5
+ m_Name: Descriptiopn Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &254939110
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 254939109}
+ 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: 727483320}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 32.5, y: -10}
+ m_SizeDelta: {x: -75, y: -30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &254939111
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 254939109}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5d7938ae706073442b17f2e084a7d727, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5696335151814961415, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &254939112
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 254939109}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &254939113
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 254939109}
+ m_CullTransparentMesh: 1
+--- !u!1 &364169025
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 364169028}
+ - component: {fileID: 364169027}
+ - component: {fileID: 364169026}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &364169026
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+--- !u!20 &364169027
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.15686275, g: 0.15686275, b: 0.15686275, a: 1}
+ 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: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ 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 &364169028
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 364169025}
+ 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!1 &374663748
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 374663749}
+ - component: {fileID: 374663752}
+ - component: {fileID: 374663751}
+ - component: {fileID: 374663750}
+ m_Layer: 5
+ m_Name: Achievement Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &374663749
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374663748}
+ 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: 2040236126}
+ m_RootOrder: 0
+ 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: 5, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &374663750
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374663748}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c6ecfd314c23518439e2ce8a24e82804, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5779673662737521517, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &374663751
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374663748}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!222 &374663752
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374663748}
+ m_CullTransparentMesh: 1
+--- !u!1 &449092278
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 449092279}
+ - component: {fileID: 449092281}
+ - component: {fileID: 449092280}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &449092279
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 449092278}
+ 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: 2087921176}
+ 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: -4, y: -4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &449092280
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 449092278}
+ 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.21960786, g: 0.21960786, b: 0.21960786, 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 &449092281
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 449092278}
+ m_CullTransparentMesh: 1
+--- !u!1 &638496037
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 638496038}
+ - component: {fileID: 638496041}
+ - component: {fileID: 638496040}
+ - component: {fileID: 638496039}
+ m_Layer: 5
+ m_Name: Name Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &638496038
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638496037}
+ 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: 727483320}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 35, y: 0}
+ m_SizeDelta: {x: -70, y: 20}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &638496039
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638496037}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5c21b6f466069074f9ca2ce44a6fd16e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5696335151814961415, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &638496040
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638496037}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 1
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &638496041
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638496037}
+ m_CullTransparentMesh: 1
+--- !u!1 &727483319
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 727483320}
+ - component: {fileID: 727483323}
+ - component: {fileID: 727483322}
+ - component: {fileID: 727483321}
+ m_Layer: 5
+ m_Name: Champion Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &727483320
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 727483319}
+ 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: 1407372564}
+ - {fileID: 638496038}
+ - {fileID: 254939110}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 80}
+ m_SizeDelta: {x: 376.64, y: 70}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &727483321
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 727483319}
+ 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: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_HighlightedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_PressedColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_SelectedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_DisabledColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ 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: 638496040}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: -5696335151814961415, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+ m_TargetAssemblyTypeName: HeathenEngineering.SteamworksIntegration.AchievementObject,
+ Heathen.Steamworks
+ m_MethodName: set_IsAchieved
+ m_Mode: 0
+ 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_IsOn: 0
+--- !u!114 &727483322
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 727483319}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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: 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 &727483323
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 727483319}
+ m_CullTransparentMesh: 1
+--- !u!1 &859819230
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 859819231}
+ - component: {fileID: 859819233}
+ - component: {fileID: 859819232}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &859819231
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 859819230}
+ 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: 1079597858}
+ 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 &859819232
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 859819230}
+ 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: 21300000, guid: 23e7e2d720dd430498fb0753fb80f8af, type: 3}
+ 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 &859819233
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 859819230}
+ m_CullTransparentMesh: 1
+--- !u!1 &920999949
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 920999950}
+ - component: {fileID: 920999953}
+ - component: {fileID: 920999952}
+ - component: {fileID: 920999951}
+ m_Layer: 5
+ m_Name: Achievement Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &920999950
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 920999949}
+ 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: 1436672819}
+ m_RootOrder: 0
+ 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: 5, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &920999951
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 920999949}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c6ecfd314c23518439e2ce8a24e82804, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -2066227864163758038, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &920999952
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 920999949}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!222 &920999953
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 920999949}
+ m_CullTransparentMesh: 1
+--- !u!1 &1048471140
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1048471143}
+ - component: {fileID: 1048471142}
+ - component: {fileID: 1048471141}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1048471141
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1048471142
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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 &1048471143
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1048471140}
+ 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: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1079597854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1079597858}
+ - component: {fileID: 1079597857}
+ - component: {fileID: 1079597856}
+ - component: {fileID: 1079597855}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1079597855
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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 &1079597856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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 &1079597857
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1079597858
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1079597854}
+ 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: 859819231}
+ - {fileID: 2040236126}
+ - {fileID: 727483320}
+ - {fileID: 1436672819}
+ - {fileID: 1931364130}
+ - {fileID: 2026888709}
+ - {fileID: 2087921176}
+ m_Father: {fileID: 0}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1184606917
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1184606918}
+ - component: {fileID: 1184606921}
+ - component: {fileID: 1184606920}
+ - component: {fileID: 1184606919}
+ m_Layer: 5
+ m_Name: Name Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1184606918
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184606917}
+ 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: 1436672819}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 35, y: 0}
+ m_SizeDelta: {x: -70, y: 20}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1184606919
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184606917}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5c21b6f466069074f9ca2ce44a6fd16e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -2066227864163758038, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &1184606920
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184606917}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 1
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1184606921
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184606917}
+ m_CullTransparentMesh: 1
+--- !u!1 &1392987769
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1392987770}
+ - component: {fileID: 1392987773}
+ - component: {fileID: 1392987772}
+ - component: {fileID: 1392987771}
+ m_Layer: 5
+ m_Name: Descriptiopn Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1392987770
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1392987769}
+ 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: 1436672819}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 32.5, y: -10}
+ m_SizeDelta: {x: -75, y: -30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1392987771
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1392987769}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5d7938ae706073442b17f2e084a7d727, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -2066227864163758038, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &1392987772
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1392987769}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1392987773
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1392987769}
+ m_CullTransparentMesh: 1
+--- !u!1 &1407372563
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1407372564}
+ - component: {fileID: 1407372567}
+ - component: {fileID: 1407372566}
+ - component: {fileID: 1407372565}
+ m_Layer: 5
+ m_Name: Achievement Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1407372564
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1407372563}
+ 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: 727483320}
+ m_RootOrder: 0
+ 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: 5, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1407372565
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1407372563}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c6ecfd314c23518439e2ce8a24e82804, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5696335151814961415, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &1407372566
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1407372563}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!222 &1407372567
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1407372563}
+ m_CullTransparentMesh: 1
+--- !u!1 &1436672818
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1436672819}
+ - component: {fileID: 1436672822}
+ - component: {fileID: 1436672821}
+ - component: {fileID: 1436672820}
+ m_Layer: 5
+ m_Name: Orbiter Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1436672819
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1436672818}
+ 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: 920999950}
+ - {fileID: 1184606918}
+ - {fileID: 1392987770}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 376.64, y: 70}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1436672820
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1436672818}
+ 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: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_HighlightedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_PressedColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_SelectedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_DisabledColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ 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: 1184606920}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: -2066227864163758038, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+ m_TargetAssemblyTypeName: HeathenEngineering.SteamworksIntegration.AchievementObject,
+ Heathen.Steamworks
+ m_MethodName: set_IsAchieved
+ m_Mode: 0
+ 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_IsOn: 0
+--- !u!114 &1436672821
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1436672818}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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: 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 &1436672822
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1436672818}
+ m_CullTransparentMesh: 1
+--- !u!1 &1611005595
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1611005596}
+ - component: {fileID: 1611005599}
+ - component: {fileID: 1611005598}
+ - component: {fileID: 1611005597}
+ m_Layer: 5
+ m_Name: Name Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1611005596
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1611005595}
+ 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: 1931364130}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 35, y: 0}
+ m_SizeDelta: {x: -70, y: 20}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1611005597
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1611005595}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5c21b6f466069074f9ca2ce44a6fd16e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: 5940351223977467042, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &1611005598
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1611005595}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 1
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1611005599
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1611005595}
+ m_CullTransparentMesh: 1
+--- !u!1 &1667440593
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1667440594}
+ - component: {fileID: 1667440596}
+ - component: {fileID: 1667440595}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1667440594
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1667440593}
+ 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: 2087921176}
+ m_RootOrder: 1
+ 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: -5}
+ m_SizeDelta: {x: -10, y: 50}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1667440595
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1667440593}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 'In your SteamSettings object you can import the Achievements defined for
+ your app. Once imported you can use the resulting AchievementObjects to get detailed
+ information about the achievement such as its name, description and image. When
+ getting the image Steam will return the locked or unlocked image based on the
+ state of the achievement for the user.
+
+
+ You can of course also use the AchievementObject
+ to unlock / achieve the achievement. In the above you will see we have set up
+ 4 toggles. Each toggle uses the SetAchievementIcon, SetAchievementName and SetAchievementDescription
+ tools to display the appropreate information. We have also set the Toggle''s
+ value changed event to update the IsAchieved value on the achivement effectivly
+ toggling the achievement on and off. You will notice that the SetAchievementIcon
+ is smart and will update the icon as the status changes.'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 15
+ m_fontSizeBase: 15
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1667440596
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1667440593}
+ m_CullTransparentMesh: 1
+--- !u!1 &1744233205
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1744233207}
+ - component: {fileID: 1744233206}
+ m_Layer: 0
+ m_Name: Manager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1744233206
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4882e1f0baaa18a45836edebb1e6b881, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ settings: {fileID: 11400000, guid: 85f8a80ca92ce574b82c98a512eca71a, type: 2}
+ evtSteamInitialized:
+ m_PersistentCalls:
+ m_Calls: []
+ evtSteamInitializationError:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!4 &1744233207
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1744233205}
+ 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: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1862539664
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1862539665}
+ - component: {fileID: 1862539668}
+ - component: {fileID: 1862539667}
+ - component: {fileID: 1862539666}
+ m_Layer: 5
+ m_Name: Achievement Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1862539665
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1862539664}
+ 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: 1931364130}
+ m_RootOrder: 0
+ 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: 5, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1862539666
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1862539664}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c6ecfd314c23518439e2ce8a24e82804, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: 5940351223977467042, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &1862539667
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1862539664}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!222 &1862539668
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1862539664}
+ m_CullTransparentMesh: 1
+--- !u!1 &1931364129
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1931364130}
+ - component: {fileID: 1931364133}
+ - component: {fileID: 1931364132}
+ - component: {fileID: 1931364131}
+ m_Layer: 5
+ m_Name: Intersteller Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1931364130
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1931364129}
+ 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: 1862539665}
+ - {fileID: 1611005596}
+ - {fileID: 2006568723}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -80}
+ m_SizeDelta: {x: 376.64, y: 70}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1931364131
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1931364129}
+ 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: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_HighlightedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_PressedColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_SelectedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_DisabledColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ 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: 1611005598}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 5940351223977467042, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+ m_TargetAssemblyTypeName: HeathenEngineering.SteamworksIntegration.AchievementObject,
+ Heathen.Steamworks
+ m_MethodName: set_IsAchieved
+ m_Mode: 0
+ 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_IsOn: 0
+--- !u!114 &1931364132
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1931364129}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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: 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 &1931364133
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1931364129}
+ m_CullTransparentMesh: 1
+--- !u!1 &2006568722
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2006568723}
+ - component: {fileID: 2006568726}
+ - component: {fileID: 2006568725}
+ - component: {fileID: 2006568724}
+ m_Layer: 5
+ m_Name: Descriptiopn Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2006568723
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2006568722}
+ 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: 1931364130}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 32.5, y: -10}
+ m_SizeDelta: {x: -75, y: -30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2006568724
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2006568722}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5d7938ae706073442b17f2e084a7d727, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: 5940351223977467042, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &2006568725
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2006568722}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &2006568726
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2006568722}
+ m_CullTransparentMesh: 1
+--- !u!1001 &2026888708
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1079597858}
+ m_Modifications:
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 512
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 128
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7863141757599531661, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ propertyPath: m_Name
+ value: Heathen
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 19105e6f44b84e84386e3f41cbb1a369, type: 3}
+--- !u!224 &2026888709 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 7863141757599531660, guid: 19105e6f44b84e84386e3f41cbb1a369,
+ type: 3}
+ m_PrefabInstance: {fileID: 2026888708}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &2040236125
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2040236126}
+ - component: {fileID: 2040236129}
+ - component: {fileID: 2040236128}
+ - component: {fileID: 2040236127}
+ m_Layer: 5
+ m_Name: Winner Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2040236126
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040236125}
+ 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: 374663749}
+ - {fileID: 2137890784}
+ - {fileID: 157536773}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 160}
+ m_SizeDelta: {x: 376.64, y: 70}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2040236127
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040236125}
+ 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: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_HighlightedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_PressedColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ m_SelectedColor: {r: 0.5, g: 0.78773594, b: 1, a: 1}
+ m_DisabledColor: {r: 0.1875, g: 0.6187501, b: 0.75, a: 1}
+ 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: 2137890786}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: -5779673662737521517, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+ m_TargetAssemblyTypeName: HeathenEngineering.SteamworksIntegration.AchievementObject,
+ Heathen.Steamworks
+ m_MethodName: set_IsAchieved
+ m_Mode: 0
+ 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_IsOn: 0
+--- !u!114 &2040236128
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040236125}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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: 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 &2040236129
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040236125}
+ m_CullTransparentMesh: 1
+--- !u!1 &2087921175
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2087921176}
+ - component: {fileID: 2087921178}
+ - component: {fileID: 2087921177}
+ m_Layer: 5
+ m_Name: Developer Cheat Box
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2087921176
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2087921175}
+ 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: 449092279}
+ - {fileID: 1667440594}
+ m_Father: {fileID: 1079597858}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 768, y: 196}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &2087921177
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2087921175}
+ 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.8396226, g: 0.099012084, b: 0.099012084, 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 &2087921178
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2087921175}
+ m_CullTransparentMesh: 1
+--- !u!1 &2137890783
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2137890784}
+ - component: {fileID: 2137890787}
+ - component: {fileID: 2137890786}
+ - component: {fileID: 2137890785}
+ m_Layer: 5
+ m_Name: Name Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2137890784
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2137890783}
+ 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: 2040236126}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 35, y: 0}
+ m_SizeDelta: {x: -70, y: 20}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &2137890785
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2137890783}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5c21b6f466069074f9ca2ce44a6fd16e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ achievement: {fileID: -5779673662737521517, guid: 85f8a80ca92ce574b82c98a512eca71a,
+ type: 2}
+--- !u!114 &2137890786
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2137890783}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 1
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &2137890787
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2137890783}
+ m_CullTransparentMesh: 1
diff --git a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity.meta
similarity index 74%
rename from Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity.meta
index a4d019d..c93cd39 100644
--- a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/3 Stats and Achievements/Simple Achievements.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 96a44475794fb6445a6f3c4b9ee13966
+guid: 907d68f5e20897c48b082e585980c1a6
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts.meta
new file mode 100644
index 0000000..c2fd4f7
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3adb407f35958864bac4e884dbf3836f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs
new file mode 100644
index 0000000..c787a63
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs
@@ -0,0 +1,57 @@
+#if HE_SYSCORE && (STEAMWORKSNET || FACEPUNCH) && !DISABLESTEAMWORKS
+using HeathenEngineering.SteamworksIntegration;
+using System;
+using UnityEngine;
+
+namespace HeathenEngineering.DEMO
+{
+ ///
+ /// This is for demonstration purposes only
+ ///
+ [System.Obsolete("This script is for demonstration purposes ONLY")]
+ public class MarketingButtons : MonoBehaviour
+ {
+ public string[] urls;
+
+ public void LeaveAReview()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/tools/integration/steamworks-v2-complete-190316#reviews");
+ }
+
+ public void JoinDiscord()
+ {
+ Application.OpenURL("https://discord.gg/6X3xrRc");
+ }
+
+ public void UXComplete()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/tools/utilities/ux-v2-complete-201905");
+ }
+
+ public void uGUIExtras()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/2d/gui/ux-v2-ugui-extras-202542");
+ }
+
+ public void PhysKit()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/tools/physics/physkit-complete-122368");
+ }
+
+ public void Anibone()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/tools/physics/physkit-anibone-173686");
+ }
+
+ public void Containers()
+ {
+ Application.OpenURL("https://assetstore.unity.com/packages/3d/props/heathen-containers-volume-1-150587");
+ }
+
+ public void URLButtons(int index)
+ {
+ Application.OpenURL(urls[index]);
+ }
+ }
+}
+#endif
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs.meta
similarity index 83%
rename from Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs.meta
index 3bd09e8..63f6c1d 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/BidirectionalDictionary.cs.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Common Scripts/MarketingButtons.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 336587b490f535a4aa3b1618c9ebac55
+guid: 5bdd5a47267624c4aa9704e196c77653
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI.meta
new file mode 100644
index 0000000..d55fadc
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bc2b676f83ba7cc4e85d06d51ab39822
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png
new file mode 100644
index 0000000..06b7afa
Binary files /dev/null and b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png differ
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png.meta
new file mode 100644
index 0000000..8ce7ae5
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/512x128 Sponsor Banner.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: d08d39e01a25e6a4a8f8234d913dd6ee
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png
new file mode 100644
index 0000000..95c48e3
Binary files /dev/null and b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png differ
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png.meta
new file mode 100644
index 0000000..06443b0
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Blur Image.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 23e7e2d720dd430498fb0753fb80f8af
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs
new file mode 100644
index 0000000..bd87ffe
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs
@@ -0,0 +1,33 @@
+#if UNITY_EDITOR
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace OnlyInEditor
+{
+ [Obsolete("This class is onyl for use in Editor and will not compile for builds")]
+ public class Heathen : MonoBehaviour
+ {
+ public void BecomeSponsor()
+ {
+ Application.OpenURL("https://kb.heathenengineering.com/company/concepts/become-a-sponsor");
+ }
+
+ public void JoinDiscord()
+ {
+ Application.OpenURL("https://discord.gg/6X3xrRc");
+ }
+
+ public void KnowledgeBase()
+ {
+ Application.OpenURL("https://kb.heathenengineering.com/company/introduction");
+ }
+
+ public void OpenWebPage(string url)
+ {
+ Application.OpenURL(url);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs.meta
similarity index 83%
rename from Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs.meta
index 9e94555..670fb14 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch/Core/ClientHostSocket.cs.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 112bec8b5281832468d85543d0b6e31c
+guid: 38418a9aefe04ab40b13f8f7934a09f6
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab
new file mode 100644
index 0000000..06a98b5
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab
@@ -0,0 +1,854 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7863141757382039312
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141757382039311}
+ - component: {fileID: 7863141757382039308}
+ - component: {fileID: 7863141757382039309}
+ - component: {fileID: 7863141757382039310}
+ m_Layer: 5
+ m_Name: Discord Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141757382039311
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757382039312}
+ 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: 7863141758081882914}
+ m_Father: {fileID: 7863141757599531660}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 200, y: 28}
+ m_Pivot: {x: 0, y: 0}
+--- !u!222 &7863141757382039308
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757382039312}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141757382039309
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757382039312}
+ 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.16869159, g: 0.7191589, b: 0.95, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7863141757382039310
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757382039312}
+ 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: 0.695, g: 0.9087402, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.28884003, g: 0.6676519, b: 0.83, a: 1}
+ m_SelectedColor: {r: 0.72030586, g: 0.8805856, b: 0.9490196, 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: 7863141758081882913}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1136993166192167592}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: JoinDiscord
+ 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!1 &7863141757599531661
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141757599531660}
+ - component: {fileID: 1136993166192167592}
+ m_Layer: 5
+ m_Name: Heathen
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141757599531660
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757599531661}
+ 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: 7863141758703160306}
+ - {fileID: 7863141759259949490}
+ - {fileID: 7863141757382039311}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 512, y: 128}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1136993166192167592
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757599531661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 38418a9aefe04ab40b13f8f7934a09f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &7863141757811621181
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141757811621180}
+ - component: {fileID: 7863141757811621178}
+ - component: {fileID: 7863141757811621179}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141757811621180
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757811621181}
+ 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: 7863141759259949490}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7863141757811621178
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757811621181}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141757811621179
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141757811621181}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Knowledge Base
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &7863141758081882915
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141758081882914}
+ - component: {fileID: 7863141758081882912}
+ - component: {fileID: 7863141758081882913}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141758081882914
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758081882915}
+ 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: 7863141757382039311}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7863141758081882912
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758081882915}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141758081882913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758081882915}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Community
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &7863141758518367230
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141758518367229}
+ - component: {fileID: 7863141758518367227}
+ - component: {fileID: 7863141758518367228}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141758518367229
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758518367230}
+ 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: 7863141758703160306}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -8.320007, y: 4.37}
+ m_SizeDelta: {x: 200, y: 28}
+ m_Pivot: {x: 1, y: 0}
+--- !u!222 &7863141758518367227
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758518367230}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141758518367228
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758518367230}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: (click to learn more)
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 12
+ m_fontSizeBase: 12
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 4
+ m_VerticalAlignment: 1024
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &7863141758703160307
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141758703160306}
+ - component: {fileID: 7863141758703160303}
+ - component: {fileID: 7863141758703160304}
+ - component: {fileID: 7863141758703160305}
+ m_Layer: 5
+ m_Name: Sponsor Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141758703160306
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758703160307}
+ 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: 7863141758518367229}
+ m_Father: {fileID: 7863141757599531660}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 410, y: 100}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &7863141758703160303
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758703160307}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141758703160304
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758703160307}
+ 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: 21300000, guid: d08d39e01a25e6a4a8f8234d913dd6ee, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7863141758703160305
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141758703160307}
+ 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: 0.5295059, g: 0.79888374, b: 0.9098039, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.48297414, g: 0.72982764, b: 0.83, a: 1}
+ m_SelectedColor: {r: 0.5294118, g: 0.8000001, b: 0.909804, a: 1}
+ m_DisabledColor: {r: 0.5294118, g: 0.8000001, b: 0.909804, a: 1}
+ 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: 7863141758518367228}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1136993166192167592}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: BecomeSponsor
+ 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!1 &7863141759259949491
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7863141759259949490}
+ - component: {fileID: 7863141759259949487}
+ - component: {fileID: 7863141759259949488}
+ - component: {fileID: 7863141759259949489}
+ m_Layer: 5
+ m_Name: KB Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7863141759259949490
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141759259949491}
+ 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: 7863141757811621180}
+ m_Father: {fileID: 7863141757599531660}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 200, y: 28}
+ m_Pivot: {x: 1, y: 0}
+--- !u!222 &7863141759259949487
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141759259949491}
+ m_CullTransparentMesh: 1
+--- !u!114 &7863141759259949488
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141759259949491}
+ 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.16869159, g: 0.7191589, b: 0.95, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7863141759259949489
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7863141759259949491}
+ 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: 0.695, g: 0.9087402, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.28884003, g: 0.6676519, b: 0.83, a: 1}
+ m_SelectedColor: {r: 0.72030586, g: 0.8805856, b: 0.9490196, 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: 7863141757811621179}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1136993166192167592}
+ m_TargetAssemblyTypeName: OnlyInEditor.Heathen, Heathen.Steamworks.Examples
+ m_MethodName: KnowledgeBase
+ 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
diff --git a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab.meta
similarity index 63%
rename from Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab.meta
index e4693ea..316e83b 100644
--- a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/Heathen.prefab.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
-guid: 0957b521a08374f4aa508231735153bc
-DefaultImporter:
+guid: 19105e6f44b84e84386e3f41cbb1a369
+PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset
new file mode 100644
index 0000000..822e8e7
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c04e506a9118b4a4f9e72d5379724776, type: 3}
+ m_Name: New Int Variable
+ m_EditorClassIdentifier:
+ DeveloperDescription:
+ m_value: 0
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset.meta
similarity index 52%
rename from Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset.meta
index a047178..de5d878 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch/CHANGELOG.txt.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen UI/New Int Variable.asset.meta
@@ -1,7 +1,8 @@
fileFormatVersion: 2
-guid: cf7010bd3b524434c8cefe4534247875
-TextScriptImporter:
+guid: da6ef3e4529873948a2d9047fda37ce9
+NativeFormatImporter:
externalObjects: {}
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef
new file mode 100644
index 0000000..f3a4552
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef
@@ -0,0 +1,39 @@
+{
+ "name": "Heathen.Steamworks.Examples",
+ "rootNamespace": "",
+ "references": [
+ "GUID:68bd7fdb68ef2684e982e8a9825b18a5",
+ "GUID:58d42c70423577947911995925414405",
+ "GUID:3e1f55b641cbc824881f0d12f6a5c69a",
+ "GUID:6055be8ebefd69e48b49212b09b47b2f",
+ "GUID:d8b63aba1907145bea998dd612889d6b",
+ "GUID:30817c1a0e6d646d99c048fc403f5979",
+ "GUID:75469ad4d38634e559750d17036d5f7c"
+ ],
+ "includePlatforms": [
+ "Editor",
+ "LinuxStandalone64",
+ "macOSStandalone",
+ "WindowsStandalone32",
+ "WindowsStandalone64"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [
+ {
+ "name": "com.heathen.systemcore",
+ "expression": "",
+ "define": "HE_SYSCORE"
+ },
+ {
+ "name": "com.rlabrecque.steamworks.net",
+ "expression": "",
+ "define": "STEAMWORKSNET"
+ }
+ ],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef.meta
similarity index 59%
rename from Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt.meta
rename to Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef.meta
index a6eeb74..ba0018d 100644
--- a/Assets/FishNet/Plugins/FishyFacepunch/VERSION.txt.meta
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Heathen.Steamworks.Examples.asmdef.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
-guid: 1db9d679a4e8b8d4c9d5ab6cb2d3ad0f
-TextScriptImporter:
+guid: 8bb244c20c538f24f9f43c2f02d160c3
+AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings.meta
new file mode 100644
index 0000000..b201497
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c0bd55c25f5e6754b86e1c3a8b8b6414
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset
new file mode 100644
index 0000000..11e8815
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset
@@ -0,0 +1,239 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5797971409039324458
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bc250c6c93d29664697c63cee645dbdb, type: 3}
+ m_Name: '[Stat Int] NumLosses'
+ m_EditorClassIdentifier:
+ data:
+ id: NumLosses
+--- !u!114 &-5779673662737521517
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e1590c8affe9f884388e9c8c5bcf1697, type: 3}
+ m_Name: '[Ach] ACH_WIN_ONE_GAME'
+ m_EditorClassIdentifier:
+ data:
+ id: ACH_WIN_ONE_GAME
+ StatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &-5696335151814961415
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e1590c8affe9f884388e9c8c5bcf1697, type: 3}
+ m_Name: '[Ach] ACH_WIN_100_GAMES'
+ m_EditorClassIdentifier:
+ data:
+ id: ACH_WIN_100_GAMES
+ StatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &-4069362907877233145
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bc250c6c93d29664697c63cee645dbdb, type: 3}
+ m_Name: '[Stat Int] NumGames'
+ m_EditorClassIdentifier:
+ data:
+ id: NumGames
+--- !u!114 &-3203211658084346776
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e1590c8affe9f884388e9c8c5bcf1697, type: 3}
+ m_Name: '[Ach] NEW_ACHIEVEMENT_0_4'
+ m_EditorClassIdentifier:
+ data:
+ id: NEW_ACHIEVEMENT_0_4
+ StatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &-2224319964784241432
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bc250c6c93d29664697c63cee645dbdb, type: 3}
+ m_Name: '[Stat Int] Unused2'
+ m_EditorClassIdentifier:
+ data:
+ id: Unused2
+--- !u!114 &-2066227864163758038
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e1590c8affe9f884388e9c8c5bcf1697, type: 3}
+ m_Name: '[Ach] ACH_TRAVEL_FAR_SINGLE'
+ m_EditorClassIdentifier:
+ data:
+ id: ACH_TRAVEL_FAR_SINGLE
+ StatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 242f29df75dec3d4cb1cbb74a477bee6, type: 3}
+ m_Name: Sample Steam Settings
+ m_EditorClassIdentifier:
+ applicationId:
+ m_AppId: 480
+ callbackTick_Milliseconds: 15
+ isDebugging: 1
+ server:
+ autoInitialize: 1
+ autoLogon: 1
+ ip: 0
+ queryPort: 27016
+ gamePort: 27015
+ serverVersion: 1.0.0.0
+ spectatorPort: 27017
+ usingGameServerAuthApi: 1
+ enableHeartbeats: 1
+ supportSpectators: 1
+ spectatorServerName: Usually GameDescription + Spectator
+ anonymousServerLogin: 1
+ gameServerToken: See https://steamcommunity.com/dev/managegameservers
+ isPasswordProtected: 0
+ serverName: My Server Name
+ gameDescription: Usually the name of your game
+ gameDirectory: e.g. its folder name
+ isDedicated: 1
+ maxPlayerCount: 4
+ botPlayerCount: 0
+ mapName:
+ gameData:
+ rulePairs: []
+ stats:
+ - {fileID: -4069362907877233145}
+ - {fileID: 8164444839112459042}
+ - {fileID: -5797971409039324458}
+ - {fileID: 7262114162419496264}
+ - {fileID: 8326798814440580138}
+ - {fileID: -2224319964784241432}
+ - {fileID: 5420587755674467353}
+ achievements:
+ - {fileID: 5940351223977467042}
+ - {fileID: -2066227864163758038}
+ - {fileID: -5696335151814961415}
+ - {fileID: -5779673662737521517}
+ - {fileID: -3203211658084346776}
+--- !u!114 &5420587755674467353
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3da81eb7de88c2c4197e3d17cb88b1bf, type: 3}
+ m_Name: '[Stat Float] MaxFeetTraveled'
+ m_EditorClassIdentifier:
+ data:
+ id: MaxFeetTraveled
+--- !u!114 &5940351223977467042
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e1590c8affe9f884388e9c8c5bcf1697, type: 3}
+ m_Name: '[Ach] ACH_TRAVEL_FAR_ACCUM'
+ m_EditorClassIdentifier:
+ data:
+ id: ACH_TRAVEL_FAR_ACCUM
+ StatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &7262114162419496264
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3da81eb7de88c2c4197e3d17cb88b1bf, type: 3}
+ m_Name: '[Stat Float] FeetTraveled'
+ m_EditorClassIdentifier:
+ data:
+ id: FeetTraveled
+--- !u!114 &8164444839112459042
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bc250c6c93d29664697c63cee645dbdb, type: 3}
+ m_Name: '[Stat Int] NumWins'
+ m_EditorClassIdentifier:
+ data:
+ id: NumWins
+--- !u!114 &8326798814440580138
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7f5e53cd2021f15408d8f5f874c30f2b, type: 3}
+ m_Name: '[Stat AvgRate] AverageSpeed'
+ m_EditorClassIdentifier:
+ data:
+ id: AverageSpeed
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset.meta
new file mode 100644
index 0000000..7c7be3b
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Example Scenes/Examples/Settings/Sample Steam Settings.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85f8a80ca92ce574b82c98a512eca71a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs.meta
new file mode 100644
index 0000000..072e944
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 509f4677df1795c449cc9bed7b85ee53
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab
new file mode 100644
index 0000000..245deb1
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab
@@ -0,0 +1,91 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1217920214110866490
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6392570084957893904}
+ - component: {fileID: 6641314865204518477}
+ - component: {fileID: 2960048113241458836}
+ - component: {fileID: 8407897246163889810}
+ m_Layer: 5
+ m_Name: Friend Avatar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6392570084957893904
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1217920214110866490}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1485, y: -252}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &6641314865204518477
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1217920214110866490}
+ m_CullTransparentMesh: 0
+--- !u!114 &2960048113241458836
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1217920214110866490}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, 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_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &8407897246163889810
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1217920214110866490}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374f9a67d24a6c04fa9d36f0d53eb913, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 1
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab.meta
new file mode 100644
index 0000000..6992ef2
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Avatar.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9c9335b5793f05e41baf6763b4384f21
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab
new file mode 100644
index 0000000..5c87f3c
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab
@@ -0,0 +1,2508 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &8626329073503760504
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073503760505}
+ - component: {fileID: 8626329073503760454}
+ m_Layer: 5
+ m_Name: Bar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073503760505
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073503760504}
+ 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: 8626329075115958504}
+ m_Father: {fileID: 8626329074868335390}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329073503760454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073503760504}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: 1.5
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &8626329073587710915
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073587710912}
+ - component: {fileID: 8626329073587710926}
+ - component: {fileID: 8626329073587710913}
+ - component: {fileID: 8626329073587710927}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073587710912
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073587710915}
+ 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: 8626329073772551181}
+ m_Father: {fileID: 8626329073914357668}
+ m_RootOrder: 0
+ 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: 25, y: 0}
+ m_SizeDelta: {x: 115.350006, y: 24}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8626329073587710926
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073587710915}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329073587710913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073587710915}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Group Name
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294964443
+ m_fontColor: {r: 0.85915494, g: 0.95774645, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &8626329073587710927
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073587710915}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 0
+--- !u!1 &8626329073642074866
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073642074867}
+ - component: {fileID: 8626329073642074864}
+ m_Layer: 5
+ m_Name: Records
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073642074867
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073642074866}
+ 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: 8626329074745057961}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 191, y: -25}
+ m_SizeDelta: {x: 382, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329073642074864
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073642074866}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 30
+ m_Right: 15
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329073724497825
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073724497838}
+ - component: {fileID: 8626329073724497836}
+ - component: {fileID: 8626329073724497839}
+ m_Layer: 5
+ m_Name: Status Message
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073724497838
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073724497825}
+ 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: 8626329074928385332}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 37.999992, y: -22}
+ m_SizeDelta: {x: -76.000015, y: 18}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &8626329073724497836
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073724497825}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329073724497839
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073724497825}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Status Message
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8626329073772551180
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073772551181}
+ - component: {fileID: 8626329073772551179}
+ - component: {fileID: 8626329073772551178}
+ m_Layer: 5
+ m_Name: Counter
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073772551181
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073772551180}
+ 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: 8626329073587710912}
+ m_RootOrder: 0
+ 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: 5, y: 0}
+ m_SizeDelta: {x: 200, y: 18}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8626329073772551179
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073772551180}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329073772551178
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073772551180}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: (0)
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4288648835
+ m_fontColor: {r: 0.5128767, g: 0.5898082, b: 0.624, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 15
+ m_fontSizeBase: 15
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8626329073904509761
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073904509774}
+ 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 &8626329073904509774
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073904509761}
+ 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: 8626329074871570792}
+ m_Father: {fileID: 8626329074881632161}
+ 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 &8626329073914357671
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073914357668}
+ - component: {fileID: 8626329073914357666}
+ - component: {fileID: 8626329073914357669}
+ - component: {fileID: 8626329073914357667}
+ m_Layer: 5
+ m_Name: Toggle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073914357668
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073914357671}
+ 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: 8626329073587710912}
+ - {fileID: 8626329074407994330}
+ - {fileID: 8626329074489075578}
+ m_Father: {fileID: 8626329074745057961}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 191, y: -12.5}
+ m_SizeDelta: {x: 382, y: 25}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329073914357666
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073914357671}
+ 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: 0}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 8626329073914357667}
+ m_TargetAssemblyTypeName: HeathenEngineering.SteamworksIntegration.uGUI.ToggleEventHelper,
+ Heathen.Steamworks.uGUITools
+ m_MethodName: ToggleChanged
+ m_Mode: 0
+ 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_Target: {fileID: 8626329073642074866}
+ m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+ m_MethodName: SetActive
+ m_Mode: 0
+ 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_IsOn: 1
+--- !u!114 &8626329073914357669
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073914357671}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: 25
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &8626329073914357667
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073914357671}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a46f59b31f37cab4d972f42499b2909d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ on:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 8626329074407994333}
+ m_TargetAssemblyTypeName:
+ m_MethodName: SetActive
+ m_Mode: 6
+ 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_Target: {fileID: 8626329074489075581}
+ m_TargetAssemblyTypeName:
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 1
+ m_CallState: 2
+ off:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 8626329074407994333}
+ m_TargetAssemblyTypeName:
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 1
+ m_CallState: 2
+ - m_Target: {fileID: 8626329074489075581}
+ m_TargetAssemblyTypeName:
+ m_MethodName: SetActive
+ m_Mode: 6
+ 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!1 &8626329073941411883
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329073941411880}
+ - component: {fileID: 8626329073941411881}
+ m_Layer: 5
+ m_Name: Offline
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329073941411880
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073941411883}
+ 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: 8626329074868335390}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329073941411881
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329073941411883}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329074073883496
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074073883497}
+ - component: {fileID: 8626329074073883511}
+ - component: {fileID: 8626329074073883510}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074073883497
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074073883496}
+ 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: 8626329074645821445}
+ m_Father: {fileID: 8626329074928385332}
+ m_RootOrder: 0
+ 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: 4, y: 0}
+ m_SizeDelta: {x: 64, y: 64}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8626329074073883511
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074073883496}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074073883510
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074073883496}
+ 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: 0
+ 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!1 &8626329074334649133
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074334649130}
+ - component: {fileID: 8626329074334649131}
+ m_Layer: 5
+ m_Name: InOtherGame
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074334649130
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074334649133}
+ 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: 8626329074868335390}
+ 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.5, y: 0.5}
+--- !u!114 &8626329074334649131
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074334649133}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329074407994333
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074407994330}
+ - component: {fileID: 8626329074407994328}
+ - component: {fileID: 8626329074407994331}
+ m_Layer: 5
+ m_Name: Expand Indicator
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &8626329074407994330
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074407994333}
+ 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: 8626329073914357668}
+ 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: -0.000015258789, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8626329074407994328
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074407994333}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074407994331
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074407994333}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: +
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4287004798
+ m_fontColor: {r: 0.49556074, g: 0.50046724, b: 0.525, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 4096
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8626329074419577063
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074419577060}
+ - component: {fileID: 8626329074419577061}
+ m_Layer: 5
+ m_Name: Online
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074419577060
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074419577063}
+ 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: 8626329074868335390}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329074419577061
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074419577063}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329074442874172
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074442874173}
+ - component: {fileID: 8626329074442874168}
+ - component: {fileID: 8626329074442874171}
+ - component: {fileID: 8626329074442874170}
+ m_Layer: 5
+ m_Name: Viewport
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074442874173
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074442874172}
+ 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: 8626329074868335390}
+ m_Father: {fileID: 8626329074583414250}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &8626329074442874168
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074442874172}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074442874171
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074442874172}
+ 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!114 &8626329074442874170
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074442874172}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ShowMaskGraphic: 0
+--- !u!1 &8626329074489075581
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074489075578}
+ - component: {fileID: 8626329074489075576}
+ - component: {fileID: 8626329074489075579}
+ m_Layer: 5
+ m_Name: Collapse Indicator
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074489075578
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074489075581}
+ 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: 8626329073914357668}
+ m_RootOrder: 2
+ 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: -0.000015258789, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8626329074489075576
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074489075581}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074489075579
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074489075581}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: _
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4287004798
+ m_fontColor: {r: 0.49556074, g: 0.50046724, b: 0.525, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 4096
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8626329074583414253
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074583414250}
+ - component: {fileID: 8626329074583414262}
+ - component: {fileID: 8626329074583414249}
+ - component: {fileID: 8626329074583414248}
+ - component: {fileID: 8626329074583414251}
+ m_Layer: 5
+ m_Name: Friend Groups
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074583414250
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074583414253}
+ 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: 8626329074442874173}
+ - {fileID: 8626329074881632161}
+ - {fileID: 8626329075150335799}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 419, y: 660}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8626329074583414262
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074583414253}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074583414249
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074583414253}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!114 &8626329074583414248
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074583414253}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Content: {fileID: 8626329074868335390}
+ m_Horizontal: 0
+ m_Vertical: 1
+ m_MovementType: 2
+ m_Elasticity: 0.1
+ m_Inertia: 0
+ m_DecelerationRate: 0.135
+ m_ScrollSensitivity: 64
+ m_Viewport: {fileID: 8626329074442874173}
+ m_HorizontalScrollbar: {fileID: 0}
+ m_VerticalScrollbar: {fileID: 8626329074881632174}
+ m_HorizontalScrollbarVisibility: 2
+ m_VerticalScrollbarVisibility: 2
+ m_HorizontalScrollbarSpacing: -3
+ m_VerticalScrollbarSpacing: -3
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &8626329074583414251
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074583414253}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 64fb8479a297a724e985aa3531bb1a1e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ inGameCollection: {fileID: 8626329074663848716}
+ inOtherGameCollection: {fileID: 8626329074334649130}
+ groupedCollection: {fileID: 8626329075093704256}
+ onlineCollection: {fileID: 8626329074419577060}
+ offlineCollection: {fileID: 8626329073941411880}
+ groupPrefab: {fileID: 8626329074745057960}
+--- !u!1 &8626329074645821444
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074645821445}
+ - component: {fileID: 8626329074645821440}
+ - component: {fileID: 8626329074645821443}
+ - component: {fileID: 8626329074645821442}
+ m_Layer: 5
+ m_Name: Avatar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074645821445
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074645821444}
+ 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: 8626329074073883497}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8626329074645821440
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074645821444}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074645821443
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074645821444}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &8626329074645821442
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074645821444}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374f9a67d24a6c04fa9d36f0d53eb913, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 0
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &8626329074663848719
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074663848716}
+ - component: {fileID: 8626329074663848717}
+ m_Layer: 5
+ m_Name: InGame
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074663848716
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074663848719}
+ 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: 8626329074868335390}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329074663848717
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074663848719}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329074745057960
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074745057961}
+ - component: {fileID: 8626329074745057975}
+ - component: {fileID: 8626329074745057974}
+ m_Layer: 5
+ m_Name: Group Template
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074745057961
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074745057960}
+ 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: 8626329073914357668}
+ - {fileID: 8626329073642074867}
+ m_Father: {fileID: 8626329075150335799}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 205.99998, y: -37.500023}
+ m_SizeDelta: {x: 382, y: 25}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329074745057975
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074745057960}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &8626329074745057974
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074745057960}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 371afd9b3c03d1e498c77ca27c629749, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ label: {fileID: 8626329073587710913}
+ counter: {fileID: 8626329073772551178}
+ toggle: {fileID: 8626329073914357666}
+ recordTemplate: {fileID: 8626329074928385335}
+ content: {fileID: 8626329073642074867}
+--- !u!1 &8626329074859504738
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074859504739}
+ - component: {fileID: 8626329074859504737}
+ - component: {fileID: 8626329074859504736}
+ m_Layer: 5
+ m_Name: Display Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074859504739
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074859504738}
+ 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: 8626329074928385332}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 37.999992, y: 0}
+ m_SizeDelta: {x: -76.000015, y: 22}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &8626329074859504737
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074859504738}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074859504736
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074859504738}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Display Name
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 22
+ m_fontSizeBase: 22
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8626329074868335377
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074868335390}
+ - component: {fileID: 8626329074868335388}
+ - component: {fileID: 8626329074868335391}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074868335390
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074868335377}
+ 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: 8626329074663848716}
+ - {fileID: 8626329074334649130}
+ - {fileID: 8626329075093704256}
+ - {fileID: 8626329073503760505}
+ - {fileID: 8626329074419577060}
+ - {fileID: 8626329073941411880}
+ m_Father: {fileID: 8626329074442874173}
+ 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: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &8626329074868335388
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074868335377}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 15
+ m_Right: 15
+ m_Top: 15
+ m_Bottom: 15
+ m_ChildAlignment: 0
+ m_Spacing: 5
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &8626329074868335391
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074868335377}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!1 &8626329074871570795
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074871570792}
+ - component: {fileID: 8626329074871570806}
+ - component: {fileID: 8626329074871570793}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074871570792
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074871570795}
+ 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: 8626329073904509774}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8626329074871570806
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074871570795}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074871570793
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074871570795}
+ 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.49556074, g: 0.50046724, b: 0.525, 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!1 &8626329074881632160
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074881632161}
+ - component: {fileID: 8626329074881632172}
+ - component: {fileID: 8626329074881632175}
+ - component: {fileID: 8626329074881632174}
+ m_Layer: 5
+ m_Name: Scrollbar Vertical
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074881632161
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074881632160}
+ 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: 8626329073904509774}
+ m_Father: {fileID: 8626329074583414250}
+ 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: 10, y: 0}
+ m_Pivot: {x: 1, y: 1}
+--- !u!222 &8626329074881632172
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074881632160}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074881632175
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074881632160}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!114 &8626329074881632174
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074881632160}
+ 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: 8626329074871570793}
+ m_HandleRect: {fileID: 8626329074871570792}
+ m_Direction: 2
+ m_Value: 0
+ m_Size: 1
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &8626329074928385335
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329074928385332}
+ - component: {fileID: 8626329074928385333}
+ - component: {fileID: 8626329074928385331}
+ - component: {fileID: 8626329074928385330}
+ m_Layer: 5
+ m_Name: Friend Profile Template
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329074928385332
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074928385335}
+ 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: 8626329074073883497}
+ - {fileID: 8626329074859504739}
+ - {fileID: 8626329073724497838}
+ m_Father: {fileID: 8626329075150335799}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1130.5, y: -261}
+ m_SizeDelta: {x: 336.37, y: 72}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329074928385333
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074928385335}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33e0f13c6969c4a4eb59d17e471c579b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 0
+ appendNickname: 1
+ messageOptions:
+ playingThis: Playing
+ playingOther:
+ nameOtherGame: 1
+ inactive: Away
+ active: Online
+ offline: Offline
+ avatar: {fileID: 8626329074645821443}
+ displayName:
+ label: {fileID: 8626329074859504736}
+ useStatusColors: 1
+ inThisGame: {r: 0.8862, g: 0.996, b: 0.7568, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ nickname:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusLabel:
+ label: {fileID: 8626329073724497839}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusImage:
+ image: {fileID: 0}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ friendId:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ level:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ panel:
+ image: {fileID: 8626329074073883510}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!222 &8626329074928385331
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074928385335}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329074928385330
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329074928385335}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!1 &8626329075093704259
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329075093704256}
+ - component: {fileID: 8626329075093704257}
+ m_Layer: 5
+ m_Name: Grouped
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329075093704256
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075093704259}
+ 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: 8626329074868335390}
+ 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: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8626329075093704257
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075093704259}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8626329075115958507
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329075115958504}
+ - component: {fileID: 8626329075115958518}
+ - component: {fileID: 8626329075115958505}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8626329075115958504
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075115958507}
+ 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: 8626329073503760505}
+ 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: 30, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8626329075115958518
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075115958507}
+ m_CullTransparentMesh: 0
+--- !u!114 &8626329075115958505
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075115958507}
+ 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.41176474, g: 0.7803922, b: 0.92549026, a: 1}
+ m_RaycastTarget: 0
+ 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!1 &8626329075150335798
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8626329075150335799}
+ m_Layer: 5
+ m_Name: Templates
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &8626329075150335799
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8626329075150335798}
+ 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: 8626329074928385332}
+ - {fileID: 8626329074745057961}
+ m_Father: {fileID: 8626329074583414250}
+ m_RootOrder: 2
+ 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: 100}
+ m_Pivot: {x: 0.5, y: 1}
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab.meta
new file mode 100644
index 0000000..23dc798
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Groups.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fdea0b1e95bf37e409855ead63b8d368
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab
new file mode 100644
index 0000000..a992db9
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab
@@ -0,0 +1,1160 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1351190110296776167
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190110296776168}
+ 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 &1351190110296776168
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110296776167}
+ 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: 1351190111813464014}
+ m_Father: {fileID: 1351190111802419463}
+ 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 &1351190110464191950
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190110464191951}
+ - component: {fileID: 1351190110464191953}
+ - component: {fileID: 1351190110464191952}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190110464191951
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110464191950}
+ 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: 1351190111568664227}
+ m_Father: {fileID: 1351190111354323858}
+ m_RootOrder: 0
+ 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: 4, y: 0}
+ m_SizeDelta: {x: 64, y: 64}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &1351190110464191953
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110464191950}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190110464191952
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110464191950}
+ 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: 0
+ 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!1 &1351190110678835463
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190110678835464}
+ - component: {fileID: 1351190110678835466}
+ - component: {fileID: 1351190110678835465}
+ m_Layer: 5
+ m_Name: Status Message
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190110678835464
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110678835463}
+ 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: 1351190111354323858}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 37.999992, y: -22}
+ m_SizeDelta: {x: -76.000015, y: 18}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &1351190110678835466
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110678835463}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190110678835465
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190110678835463}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Status Message
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &1351190111354323857
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111354323858}
+ - component: {fileID: 1351190111354323859}
+ - component: {fileID: 1351190111354323861}
+ - component: {fileID: 1351190111354323860}
+ m_Layer: 5
+ m_Name: Friend Profile Template
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111354323858
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111354323857}
+ 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: 1351190110464191951}
+ - {fileID: 1351190111826381509}
+ - {fileID: 1351190110678835464}
+ m_Father: {fileID: 1351190111534240145}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1130.5, y: -261}
+ m_SizeDelta: {x: 336.37, y: 72}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1351190111354323859
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111354323857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33e0f13c6969c4a4eb59d17e471c579b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 0
+ appendNickname: 0
+ messageOptions:
+ playingThis: Playing
+ playingOther:
+ nameOtherGame: 1
+ inactive: Away
+ active: Online
+ offline: Offline
+ avatar: {fileID: 1351190111568664229}
+ displayName:
+ label: {fileID: 1351190111826381510}
+ useStatusColors: 1
+ inThisGame: {r: 0.8862, g: 0.996, b: 0.7568, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ nickname:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusLabel:
+ label: {fileID: 1351190110678835465}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusImage:
+ image: {fileID: 0}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ friendId:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ level:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ panel:
+ image: {fileID: 1351190110464191952}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!222 &1351190111354323861
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111354323857}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111354323860
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111354323857}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!1 &1351190111534240144
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111534240145}
+ m_Layer: 5
+ m_Name: Templates
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1351190111534240145
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111534240144}
+ 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: 1351190111354323858}
+ m_Father: {fileID: 1351190112101882700}
+ m_RootOrder: 2
+ 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: 100}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!1 &1351190111568664226
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111568664227}
+ - component: {fileID: 1351190111568664230}
+ - component: {fileID: 1351190111568664229}
+ - component: {fileID: 1351190111568664228}
+ m_Layer: 5
+ m_Name: Avatar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111568664227
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111568664226}
+ 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: 1351190110464191951}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1351190111568664230
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111568664226}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111568664229
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111568664226}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &1351190111568664228
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111568664226}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374f9a67d24a6c04fa9d36f0d53eb913, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 0
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &1351190111802419462
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111802419463}
+ - component: {fileID: 1351190111802419466}
+ - component: {fileID: 1351190111802419465}
+ - component: {fileID: 1351190111802419464}
+ m_Layer: 5
+ m_Name: Scrollbar Vertical
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111802419463
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111802419462}
+ 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: 1351190110296776168}
+ m_Father: {fileID: 1351190112101882700}
+ 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: 10, y: 0}
+ m_Pivot: {x: 1, y: 1}
+--- !u!222 &1351190111802419466
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111802419462}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111802419465
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111802419462}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!114 &1351190111802419464
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111802419462}
+ 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: 1351190111813464015}
+ m_HandleRect: {fileID: 1351190111813464014}
+ m_Direction: 2
+ m_Value: 0
+ m_Size: 1
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &1351190111813464013
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111813464014}
+ - component: {fileID: 1351190111813464016}
+ - component: {fileID: 1351190111813464015}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111813464014
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111813464013}
+ 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: 1351190110296776168}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1351190111813464016
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111813464013}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111813464015
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111813464013}
+ 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.49556074, g: 0.50046724, b: 0.525, 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!1 &1351190111816502711
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111816502712}
+ - component: {fileID: 1351190111816502714}
+ - component: {fileID: 1351190111816502713}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111816502712
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111816502711}
+ 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: 1351190111906943899}
+ 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: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &1351190111816502714
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111816502711}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 15
+ m_Right: 15
+ m_Top: 15
+ m_Bottom: 15
+ m_ChildAlignment: 0
+ m_Spacing: 5
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &1351190111816502713
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111816502711}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!1 &1351190111826381508
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111826381509}
+ - component: {fileID: 1351190111826381511}
+ - component: {fileID: 1351190111826381510}
+ m_Layer: 5
+ m_Name: Display Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111826381509
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111826381508}
+ 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: 1351190111354323858}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 37.999992, y: 0}
+ m_SizeDelta: {x: -76.000015, y: 22}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &1351190111826381511
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111826381508}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111826381510
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111826381508}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Display Name
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 22
+ m_fontSizeBase: 22
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &1351190111906943898
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190111906943899}
+ - component: {fileID: 1351190111906943902}
+ - component: {fileID: 1351190111906943901}
+ - component: {fileID: 1351190111906943900}
+ m_Layer: 5
+ m_Name: Viewport
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190111906943899
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111906943898}
+ 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: 1351190111816502712}
+ m_Father: {fileID: 1351190112101882700}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &1351190111906943902
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111906943898}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190111906943901
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111906943898}
+ 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!114 &1351190111906943900
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190111906943898}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ShowMaskGraphic: 0
+--- !u!1 &1351190112101882699
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1351190112101882700}
+ - component: {fileID: 1351190112101882704}
+ - component: {fileID: 1351190112101882703}
+ - component: {fileID: 1351190112101882702}
+ - component: {fileID: 1351190112101882698}
+ m_Layer: 5
+ m_Name: Friend List
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1351190112101882700
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190112101882699}
+ 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: 1351190111906943899}
+ - {fileID: 1351190111802419463}
+ - {fileID: 1351190111534240145}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 500, y: -125}
+ m_SizeDelta: {x: 419, y: 660}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &1351190112101882704
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190112101882699}
+ m_CullTransparentMesh: 0
+--- !u!114 &1351190112101882703
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190112101882699}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!114 &1351190112101882702
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190112101882699}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Content: {fileID: 1351190111816502712}
+ m_Horizontal: 0
+ m_Vertical: 1
+ m_MovementType: 2
+ m_Elasticity: 0.1
+ m_Inertia: 0
+ m_DecelerationRate: 0.135
+ m_ScrollSensitivity: 64
+ m_Viewport: {fileID: 1351190111906943899}
+ m_HorizontalScrollbar: {fileID: 0}
+ m_VerticalScrollbar: {fileID: 1351190111802419464}
+ m_HorizontalScrollbarVisibility: 2
+ m_VerticalScrollbarVisibility: 2
+ m_HorizontalScrollbarSpacing: -3
+ m_VerticalScrollbarSpacing: -3
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1351190112101882698
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1351190112101882699}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 67de8ea3a49411349bf59c5c6e4e414d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ filter: 0
+ content: {fileID: 1351190111816502712}
+ recordTemplate: {fileID: 1351190111354323857}
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab.meta
new file mode 100644
index 0000000..3e3569e
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend List.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: efeaa8d0524ccb241a002d1fd76c8401
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab
new file mode 100644
index 0000000..aa47cc4
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab
@@ -0,0 +1,151 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7830710938773558372
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7830710938773558373}
+ - component: {fileID: 7830710938773558368}
+ - component: {fileID: 7830710938773558371}
+ - component: {fileID: 7240856291406597348}
+ m_Layer: 5
+ m_Name: Friend Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7830710938773558373
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7830710938773558372}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1485, y: -431.36}
+ m_SizeDelta: {x: 200, y: 50}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &7830710938773558368
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7830710938773558372}
+ m_CullTransparentMesh: 0
+--- !u!114 &7830710938773558371
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7830710938773558372}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4290903778
+ m_fontColor: {r: 0.8862746, g: 0.9960785, b: 0.7568628, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &7240856291406597348
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7830710938773558372}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 994e5162d4f6be349a21e9060437ebaf, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 1
+ showNickname: 1
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab.meta
new file mode 100644
index 0000000..30e821c
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Name.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d3dce6b26b53db84ebb9c5d09a6321c3
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab
new file mode 100644
index 0000000..4e4a9c9
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab
@@ -0,0 +1,1368 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &664765348350585573
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3477521353348654822}
+ - component: {fileID: 4726416813165144601}
+ - component: {fileID: 6989945968902769736}
+ m_Layer: 5
+ m_Name: Friend ID
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3477521353348654822
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 664765348350585573}
+ 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: 6629809306643200628}
+ m_Father: {fileID: 4693307505461761194}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 8, y: -43}
+ m_SizeDelta: {x: -136, y: 26}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &4726416813165144601
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 664765348350585573}
+ m_CullTransparentMesh: 1
+--- !u!114 &6989945968902769736
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 664765348350585573}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, 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: 0
+ 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: 0}
+ m_TextViewport: {fileID: 6629809306643200628}
+ m_TextComponent: {fileID: 6657248106356021444}
+ m_Placeholder: {fileID: 9146722458972443611}
+ m_VerticalScrollbar: {fileID: 0}
+ m_VerticalScrollbarEventHandler: {fileID: 0}
+ m_LayoutGroup: {fileID: 0}
+ m_ScrollSensitivity: 1
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_HideSoftKeyboard: 0
+ m_CharacterValidation: 0
+ m_RegexValue:
+ m_GlobalPointSize: 25
+ m_CharacterLimit: 0
+ m_OnEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDeselect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnEndTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTouchScreenKeyboardStatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.894, g: 0.94029886, b: 1, a: 0.5019608}
+ m_Text: Friend Id
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 1
+ m_RichText: 0
+ m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_OnFocusSelectAll: 1
+ m_ResetOnDeActivation: 1
+ m_RestoreOriginalTextOnEscape: 1
+ m_isRichTextEditingAllowed: 0
+ m_LineLimit: 0
+ m_InputValidator: {fileID: 0}
+--- !u!1 &1208495241333170226
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3202106385409635112}
+ - component: {fileID: 8694196983946340673}
+ - component: {fileID: 9146722458972443611}
+ - component: {fileID: 3833632896211027400}
+ m_Layer: 5
+ m_Name: Placeholder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3202106385409635112
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1208495241333170226}
+ 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: 6629809306643200628}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8694196983946340673
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1208495241333170226}
+ m_CullTransparentMesh: 1
+--- !u!114 &9146722458972443611
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1208495241333170226}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Enter text...
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 2150773298
+ m_fontColor: {r: 1, g: 1, b: 1, a: 0.5}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 25
+ m_fontSizeBase: 25
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 2
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &3833632896211027400
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1208495241333170226}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &3774147163053703046
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6629809306643200628}
+ - component: {fileID: 2047615497592482422}
+ m_Layer: 5
+ m_Name: Text Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6629809306643200628
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3774147163053703046}
+ 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: 3202106385409635112}
+ - {fileID: 384665343623698736}
+ m_Father: {fileID: 3477521353348654822}
+ 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 &2047615497592482422
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3774147163053703046}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding: {x: -8, y: -5, z: -8, w: -5}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &4693307503983816108
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307503983816107}
+ - component: {fileID: 4693307503983816105}
+ - component: {fileID: 4693307503983816106}
+ m_Layer: 5
+ m_Name: Level
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307503983816107
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307503983816108}
+ 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: 4693307505466040806}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: -20, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4693307503983816105
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307503983816108}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307503983816106
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307503983816108}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 999
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4292736511
+ m_fontColor: {r: 1, g: 0.9600985, b: 0.865, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 17.9
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 1
+ m_fontSizeMin: 9
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &4693307504752340252
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307504752340251}
+ - component: {fileID: 4693307504752340248}
+ - component: {fileID: 4693307504752340249}
+ - component: {fileID: 4693307504752340250}
+ m_Layer: 5
+ m_Name: Avatar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307504752340251
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504752340252}
+ 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: 4693307504947499143}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 60, y: 60}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4693307504752340248
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504752340252}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307504752340249
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504752340252}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &4693307504752340250
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504752340252}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374f9a67d24a6c04fa9d36f0d53eb913, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 0
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &4693307504947499144
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307504947499143}
+ - component: {fileID: 4693307504947499141}
+ - component: {fileID: 4693307504947499142}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307504947499143
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504947499144}
+ 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: 4693307504752340251}
+ m_Father: {fileID: 4693307505461761194}
+ m_RootOrder: 0
+ 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: 4, y: 0}
+ m_SizeDelta: {x: 64, y: 64}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &4693307504947499141
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504947499144}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307504947499142
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307504947499144}
+ 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: 0
+ 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!1 &4693307505453082018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307505453082017}
+ - component: {fileID: 4693307505453082047}
+ - component: {fileID: 4693307505453082016}
+ m_Layer: 5
+ m_Name: Status Message
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307505453082017
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505453082018}
+ 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: 4693307505461761194}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 8, y: -22}
+ m_SizeDelta: {x: -136, y: 18}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &4693307505453082047
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505453082018}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307505453082016
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505453082018}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Status Message
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 18
+ m_fontSizeBase: 18
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &4693307505461761195
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307505461761194}
+ - component: {fileID: 4693307505461761191}
+ - component: {fileID: 4693307505461761192}
+ - component: {fileID: 4693307505461761193}
+ m_Layer: 5
+ m_Name: Friend Profile
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307505461761194
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505461761195}
+ 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: 4693307504947499143}
+ - {fileID: 4693307505902231698}
+ - {fileID: 4693307505453082017}
+ - {fileID: 3477521353348654822}
+ - {fileID: 4693307505466040806}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1485, y: -125}
+ m_SizeDelta: {x: 400, y: 72}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &4693307505461761191
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505461761195}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33e0f13c6969c4a4eb59d17e471c579b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 1
+ appendNickname: 0
+ messageOptions:
+ playingThis: Playing
+ playingOther:
+ nameOtherGame: 1
+ inactive: Away
+ active: Online
+ offline: Offline
+ avatar: {fileID: 4693307504752340249}
+ displayName:
+ label: {fileID: 4693307505902231697}
+ useStatusColors: 1
+ inThisGame: {r: 0.8862, g: 0.996, b: 0.7568, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ nickname:
+ label: {fileID: 0}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusLabel:
+ label: {fileID: 4693307505453082016}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ statusImage:
+ image: {fileID: 0}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ friendId:
+ label: {fileID: 6989945968902769736}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ level:
+ label: {fileID: 4693307503983816106}
+ useStatusColors: 0
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ panel:
+ image: {fileID: 4693307504947499142}
+ useStatusColors: 1
+ inThisGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ inOtherGame: {r: 0.5686, g: 0.7607, b: 0.3411, a: 1}
+ isOnlineActive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOnlineInactive: {r: 0.4117, g: 0.7803, b: 0.9254, a: 1}
+ isOffline: {r: 0.887, g: 0.887, b: 0.887, a: 1}
+ evtLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!222 &4693307505461761192
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505461761195}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307505461761193
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505461761195}
+ 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.1254902, g: 0.13333334, b: 0.15686275, 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!1 &4693307505466040807
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307505466040806}
+ - component: {fileID: 4693307505466040804}
+ - component: {fileID: 4693307505466040805}
+ m_Layer: 5
+ m_Name: Level Border
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307505466040806
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505466040807}
+ 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: 4693307505709662674}
+ - {fileID: 4693307503983816107}
+ m_Father: {fileID: 4693307505461761194}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -5, y: -5}
+ m_SizeDelta: {x: 50, y: 50}
+ m_Pivot: {x: 1, y: 1}
+--- !u!222 &4693307505466040804
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505466040807}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307505466040805
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505466040807}
+ 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: 0.9600985, b: 0.865, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, 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!1 &4693307505709662675
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307505709662674}
+ - component: {fileID: 4693307505709662672}
+ - component: {fileID: 4693307505709662673}
+ m_Layer: 5
+ m_Name: Inner Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307505709662674
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505709662675}
+ 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: 4693307505466040806}
+ 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: -10, y: -10}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4693307505709662672
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505709662675}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307505709662673
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505709662675}
+ 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.1254902, g: 0.13333334, b: 0.15686275, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, 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!1 &4693307505902231699
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4693307505902231698}
+ - component: {fileID: 4693307505902231696}
+ - component: {fileID: 4693307505902231697}
+ m_Layer: 5
+ m_Name: Display Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4693307505902231698
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505902231699}
+ 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: 4693307505461761194}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 8, y: 0}
+ m_SizeDelta: {x: -136, y: 22}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &4693307505902231696
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505902231699}
+ m_CullTransparentMesh: 0
+--- !u!114 &4693307505902231697
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4693307505902231699}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Display Name
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 22
+ m_fontSizeBase: 22
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &4790080885316151216
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 384665343623698736}
+ - component: {fileID: 10283927362923390}
+ - component: {fileID: 6657248106356021444}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &384665343623698736
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4790080885316151216}
+ 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: 6629809306643200628}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &10283927362923390
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4790080885316151216}
+ m_CullTransparentMesh: 1
+--- !u!114 &6657248106356021444
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4790080885316151216}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "Friend Id\u200B"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 25
+ m_fontSizeBase: 25
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 0
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab.meta
new file mode 100644
index 0000000..f98862d
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Friend Profile.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d839f647c4247d540b8a31b8284cf228
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab
new file mode 100644
index 0000000..1dd2e17
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab
@@ -0,0 +1,528 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &8670648778821032871
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8670648778821032864}
+ - component: {fileID: 8670648778821032866}
+ - component: {fileID: 8670648778821032865}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8670648778821032864
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778821032871}
+ 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: 8670648780255253977}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8670648778821032866
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778821032871}
+ m_CullTransparentMesh: 0
+--- !u!114 &8670648778821032865
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778821032871}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "00000000\u200B"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4292736511
+ m_fontColor: {r: 1, g: 0.9600985, b: 0.865, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 30
+ m_fontSizeBase: 30
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8670648778916277782
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8670648778916277783}
+ - component: {fileID: 8670648778916277778}
+ - component: {fileID: 8670648778916277777}
+ - component: {fileID: 8670648778916277776}
+ m_Layer: 5
+ m_Name: Placeholder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8670648778916277783
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778916277782}
+ 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: 8670648780255253977}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8670648778916277778
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778916277782}
+ m_CullTransparentMesh: 0
+--- !u!114 &8670648778916277777
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778916277782}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Enter text...
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 2150773298
+ m_fontColor: {r: 1, g: 0.9600985, b: 0.865, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 30
+ m_fontSizeBase: 30
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 2
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &8670648778916277776
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648778916277782}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &8670648780226315679
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8670648780226315672}
+ - component: {fileID: 8670648780226315620}
+ - component: {fileID: 8670648780226315675}
+ - component: {fileID: 8670648780226315674}
+ - component: {fileID: 8670648780226315673}
+ m_Layer: 5
+ m_Name: Selectable Friend ID
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8670648780226315672
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780226315679}
+ 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: 8670648780255253977}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1485, y: -525}
+ m_SizeDelta: {x: 160, y: 46.48}
+ m_Pivot: {x: 0, y: 1}
+--- !u!222 &8670648780226315620
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780226315679}
+ m_CullTransparentMesh: 0
+--- !u!114 &8670648780226315675
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780226315679}
+ 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.16470589, g: 0.16058823, b: 0.14823529, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &8670648780226315674
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780226315679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ 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: 8670648780226315675}
+ m_TextViewport: {fileID: 8670648780255253977}
+ m_TextComponent: {fileID: 8670648778821032865}
+ m_Placeholder: {fileID: 8670648778916277777}
+ m_VerticalScrollbar: {fileID: 0}
+ m_VerticalScrollbarEventHandler: {fileID: 0}
+ m_LayoutGroup: {fileID: 0}
+ m_ScrollSensitivity: 1
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_HideSoftKeyboard: 0
+ m_CharacterValidation: 0
+ m_RegexValue:
+ m_GlobalPointSize: 30
+ m_CharacterLimit: 0
+ m_OnEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDeselect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnEndTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTouchScreenKeyboardStatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.5128767, g: 0.5898082, b: 0.624, a: 1}
+ m_Text: 00000000
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 1
+ m_RichText: 1
+ m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_OnFocusSelectAll: 1
+ m_ResetOnDeActivation: 1
+ m_RestoreOriginalTextOnEscape: 1
+ m_isRichTextEditingAllowed: 0
+ m_LineLimit: 0
+ m_InputValidator: {fileID: 0}
+--- !u!114 &8670648780226315673
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780226315679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9c7e79f6dff0ff341812d1f0fc22b624, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ useLocalUser: 1
+--- !u!1 &8670648780255253976
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8670648780255253977}
+ - component: {fileID: 8670648780255253978}
+ m_Layer: 5
+ m_Name: Text Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8670648780255253977
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780255253976}
+ 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: 8670648778916277783}
+ - {fileID: 8670648778821032864}
+ m_Father: {fileID: 8670648780226315672}
+ 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 &8670648780255253978
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8670648780255253976}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding: {x: -8, y: -5, z: -8, w: -5}
+ m_Softness: {x: 0, y: 0}
diff --git a/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab.meta b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab.meta
new file mode 100644
index 0000000..0363cd0
--- /dev/null
+++ b/Assets/Samples/Steamworks Foundation/3.0.16/Prefabs/Selectable Friend ID.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 84f046bb97c3d3b4cb108c4d1d6c36eb
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting3d.unity b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting3d.unity
index 207c6e2..b67a4fc 100644
--- a/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting3d.unity
+++ b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting3d.unity
@@ -133,6 +133,11 @@ GameObject:
m_Component:
- component: {fileID: 193945569}
- component: {fileID: 193945568}
+ - component: {fileID: 193945571}
+ - component: {fileID: 193945570}
+ - component: {fileID: 193945574}
+ - component: {fileID: 193945573}
+ - component: {fileID: 193945572}
m_Layer: 0
m_Name: NetworkManager
m_TagString: Untagged
@@ -152,13 +157,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d2c95dfde7d73b54dbbdc23155d35d36, type: 3}
m_Name:
m_EditorClassIdentifier:
- _refreshDefaultPrefabs: 0
+ _refreshDefaultPrefabs: 1
_runInBackground: 1
_dontDestroyOnLoad: 1
_objectPool: {fileID: 0}
_persistence: 0
_logging: {fileID: 0}
- _spawnablePrefabs: {fileID: 0}
+ _spawnablePrefabs: {fileID: 11400000, guid: e6b71f999cc8fc647a3f73f7088802e0, type: 2}
--- !u!4 &193945569
Transform:
m_ObjectHideFlags: 0
@@ -174,6 +179,95 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &193945570
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 193945567}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9da90c29836670c49809661c5c09cd5d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _steamAppID: 480
+ _serverBindAddress:
+ _port: 27015
+ _maximumClients: 16
+ _clientAddress:
+ _timeout: 25
+--- !u!114 &193945571
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 193945567}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 34e4a322dca349547989b14021da4e23, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Transport: {fileID: 193945570}
+ _intermediateLayer: {fileID: 0}
+ _latencySimulator:
+ _enabled: 0
+ _simulateHost: 1
+ _latency: 0
+ _outOfOrder: 0
+ _packetLoss: 0
+--- !u!114 &193945572
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 193945567}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 211a9f6ec51ddc14f908f5acc0cd0423, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _playerPrefab: {fileID: 0}
+ _addToDefaultScene: 1
+ Spawns: []
+--- !u!114 &193945573
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 193945567}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7d331f979d46e8e4a9fc90070c596d44, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _useNetworkLod: 0
+ _levelOfDetailDistances: []
+ _updateHostVisibility: 1
+ _defaultConditions: []
+--- !u!114 &193945574
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 193945567}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3fdaae44044276a49a52229c1597e33b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _updateOrder: 0
+ _timingType: 0
+ _allowTickDropping: 0
+ _maximumFrameTicks: 2
+ _tickRate: 30
+ _pingInterval: 1
+ _timingInterval: 2
+ _physicsMode: 0
--- !u!1 &240545134
GameObject:
m_ObjectHideFlags: 0
@@ -572,6 +666,7 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
playerPrefab: {fileID: 365318977076093365, guid: 502609875cf67524391bcf30129c195b, type: 3}
+ NetworkManager: {fileID: 0}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Steam/SteamLobbyWithPlayer.cs b/Assets/Scripts/Steam/SteamLobbyWithPlayer.cs
index 899a1eb..9478c1e 100644
--- a/Assets/Scripts/Steam/SteamLobbyWithPlayer.cs
+++ b/Assets/Scripts/Steam/SteamLobbyWithPlayer.cs
@@ -19,6 +19,7 @@ public class SteamLobbyWithPlayer : MonoBehaviour
public Dictionary inLobby = new();
public GameObject playerPrefab;
+ public GameObject NetworkManager;
private void Start()
{
DontDestroyOnLoad(this);
@@ -48,6 +49,7 @@ public class SteamLobbyWithPlayer : MonoBehaviour
Debug.Log($"{friend.Name} joined the lobby");
GameObject obj = Instantiate(playerPrefab, Vector3.zero, Quaternion.identity);
inLobby.Add(friend.Id, obj);
+
}
private void OnLobbyMemberDisconnected(Lobby lobby, Friend friend)
{
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 7d604de..08aae31 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,5 +1,6 @@
{
"dependencies": {
+ "com.heathen.steamworksfoundation": "https://github.com/heathen-engineering/SteamworksFoundation.git?path=Unity/com.heathen.steamworksfoundation",
"com.unity.cinemachine": "2.8.9",
"com.unity.collab-proxy": "2.0.0",
"com.unity.feature.development": "1.0.1",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index c009149..217cc31 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,5 +1,14 @@
{
"dependencies": {
+ "com.heathen.steamworksfoundation": {
+ "version": "https://github.com/heathen-engineering/SteamworksFoundation.git?path=Unity/com.heathen.steamworksfoundation",
+ "depth": 0,
+ "source": "git",
+ "dependencies": {
+ "com.unity.mathematics": "1.2.5"
+ },
+ "hash": "3fc1f33a48211720c2ad7bc583b0b19e2f356695"
+ },
"com.unity.burst": {
"version": "1.8.2",
"depth": 1,