Compare commits

..
3 Commits
Author SHA1 Message Date
warlock 5ac8f92006 qa report v2 2026-09-06 21:36:26 +05:30
warlock 78592e8d8e rc 2026-08-20 19:45:38 +05:30
warlock 74d9fae6e6 forfeiture, abandoning, entry_fee_collection at start 2026-08-14 11:13:01 +05:30
155 changed files with 19709 additions and 2856 deletions
+3 -3
View File
@@ -60,11 +60,11 @@
"*.asset": "yaml",
"*.meta": "yaml",
"*.prefab": "yaml",
"*.unity": "yaml",
"*.unity": "yaml"
},
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.sln": "*.csproj",
"*.sln": "*.csproj"
},
"dotnet.defaultSolution": "WalkInvest_Soccer.sln"
"dotnet.defaultSolution": "soccar2d.sln"
}
+12 -2
View File
@@ -14,7 +14,8 @@ public class CupidConnector : MonoBehaviour
//Server code
string[] args = Environment.GetCommandLineArgs();
int matchId = 0;
string dedicatedSecret = "38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328";
string dedicatedSecret = null;
bool dedicatedSecretFromCli = false;
string internalApiBase = null;
for (int i = 0; i < args.Length; i++)
{
@@ -28,12 +29,21 @@ public class CupidConnector : MonoBehaviour
|| string.Equals(args[i], "-matchid", StringComparison.OrdinalIgnoreCase))
int.TryParse(args[i + 1], out matchId);
else if (string.Equals(args[i], "-dedicatedSecret", StringComparison.OrdinalIgnoreCase))
{
dedicatedSecret = args[i + 1];
dedicatedSecretFromCli = true;
}
else if (string.Equals(args[i], "-internalApiBase", StringComparison.OrdinalIgnoreCase))
internalApiBase = args[i + 1];
}
}
GameManager.ConfigureDedicatedMatchReporting(matchId);
if (!dedicatedSecretFromCli)
{
string envSecret = Environment.GetEnvironmentVariable("DEDICATED_SERVER_SECRET");
if (!string.IsNullOrEmpty(envSecret))
dedicatedSecret = envSecret;
}
GameManager.ConfigureDedicatedMatchReporting(matchId, dedicatedSecret, internalApiBase);
#if UNITY_EDITOR
Logger.Log("Editor mode, skipping arg check");
Cupid.RoomPort = 7777;
+6
View File
@@ -31,6 +31,12 @@ public static class Cupid
public static int RoomPort = -1;
/// <summary>Clears auth/matchmaker session fields. Server address is left so the next login can <see cref="Init"/> again.</summary>
public static void ClearSession()
{
bearerToken = "";
RoomPort = -1;
}
public static async Task Init(string _serverAddress, int _port, string _bearerToken, string _settingsPassword)
{
+6
View File
@@ -51,6 +51,12 @@ public class CupidLobby : MonoBehaviour
}
public static CupidLobby instance;
public static void ClearUsername()
{
m_username = "";
}
void Awake(){
instance=this;
}
+51 -2
View File
@@ -6,6 +6,8 @@ public class Logger
{
public static bool Enabled = true;
private static Logger m_instance = null;
private static readonly object FileLock = new object();
private static string ApplicationDirectory
{
get
@@ -18,6 +20,12 @@ public class Logger
}
string path = Application.dataPath;
#if UNITY_EDITOR
// Never write under Assets/: the Editor importer locks those files, and
// File.AppendAllText then throws Sharing violation. Mirror treats that as a
// fatal RPC error and disconnects the client.
path = Path.GetFullPath(Path.Combine(path, ".."));
#else
if (Application.platform == RuntimePlatform.OSXPlayer)
{
path = Path.Combine(path, "..", "..");
@@ -26,6 +34,7 @@ public class Logger
{
path = Path.Combine(path, "..");
}
#endif
return path;
}
}
@@ -50,14 +59,14 @@ public class Logger
if(LogFilePath == null){
LogFilePath = Path.Combine(ApplicationDirectory, "Log.txt");
}
File.WriteAllText(LogFilePath, "Logger initiated at " + DateTime.Now + "\n\n");
TryWriteFile(LogFilePath, "Logger initiated at " + DateTime.Now + "\n\n", append: false);
}
public void log(string message){
if(!Enabled){return;}
File.AppendAllText(LogFilePath,$"[{DateTime.Now}] {message}\n");
Debug.Log(message);
TryWriteFile(LogFilePath, $"[{DateTime.Now}] {message}\n", append: true);
}
public static void Log(string message){
@@ -86,4 +95,44 @@ public class Logger
public static void SetFilePath(string path){
instance.LogFilePath= path;
}
/// <summary>
/// File I/O must never throw: callers include Mirror RPCs, and an exception there
/// disconnects the client. Sharing violations are expected if another process has
/// the file open; FileShare.ReadWrite plus a swallow keeps gameplay alive.
/// </summary>
static void TryWriteFile(string path, string contents, bool append)
{
if (string.IsNullOrEmpty(path) || contents == null)
return;
try
{
string dir = Path.GetDirectoryName(path);
if (!string.IsNullOrEmpty(dir))
EnsureDirectoryExists(dir);
}
catch (Exception e)
{
Debug.LogWarning("Logger: could not create log directory: " + e.Message);
return;
}
lock (FileLock)
{
try
{
FileMode mode = append ? FileMode.Append : FileMode.Create;
using (var stream = new FileStream(path, mode, FileAccess.Write, FileShare.ReadWrite))
using (var writer = new StreamWriter(stream))
{
writer.Write(contents);
}
}
catch (Exception e)
{
Debug.LogWarning("Logger: file write failed (" + path + "): " + e.Message);
}
}
}
}
File diff suppressed because one or more lines are too long
@@ -777,6 +777,66 @@ MonoBehaviour:
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 1504773
- m_FirstAdjustmentRecord:
m_GlyphIndex: 10
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 5
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 10
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.08
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 14
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 10
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 31
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 10
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.08
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 40
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 12
m_GlyphValueRecord:
@@ -4137,6 +4197,66 @@ MonoBehaviour:
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 10188005
- m_FirstAdjustmentRecord:
m_GlyphIndex: 36
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 5
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 36
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.08
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 14
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 36
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 31
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 36
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.08
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 40
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 2038298
- m_FirstAdjustmentRecord:
m_GlyphIndex: 38
m_GlyphValueRecord:
@@ -6897,6 +7017,216 @@ MonoBehaviour:
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 10188005
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -6.6600003
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 5
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.23
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 7
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.23
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 11
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 14
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.42
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 19
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.42
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 21
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.6000001
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 23
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -6.6600003
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 31
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.23
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 33
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.23
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 37
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -5.8500004
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 40
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.42
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 45
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.42
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 47
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 55
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.6000001
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 49
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 11484403
- m_FirstAdjustmentRecord:
m_GlyphIndex: 56
m_GlyphValueRecord:
File diff suppressed because one or more lines are too long
+33 -148
View File
@@ -1,149 +1,34 @@
Logger initiated at 7/29/2026 1:21:58 PM
Logger initiated at 8/27/2026 1:43:47 PM
[7/29/2026 1:21:58 PM] Cupid settings updated
[7/29/2026 1:21:58 PM] Cupid settings updated
[7/29/2026 1:22:00 PM] Starting matchmake as warlock
[7/29/2026 1:22:02 PM] Got into a room
[7/29/2026 1:22:02 PM] {"ok":true,"entry_fee":21,"rc_prize":34,"for_red":{"Players":[{"Name":"choel","LastSeen":1785311520437,"UserId":9,"l10_wins":7,"l10_losses":0},{"Name":"warlock","LastSeen":1785311520886,"UserId":2,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26815,"InitTime":1785311520437,"entry_fee":21,"match_id":535,"instance_started":true,"rc_prize":34,"your_team":"red"},"for_blue":{"Players":[{"Name":"choel","LastSeen":1785311520437,"UserId":9,"l10_wins":7,"l10_losses":0},{"Name":"warlock","LastSeen":1785311520886,"UserId":2,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26815,"InitTime":1785311520437,"entry_fee":21,"match_id":535,"instance_started":true,"rc_prize":34,"your_team":"blue"}}
[7/29/2026 1:22:02 PM] Configured dedicated match reporting for match id 535 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[7/29/2026 1:22:02 PM] Setting cupid to load game scene
[7/29/2026 1:22:02 PM] Loading game scene
[7/29/2026 1:22:07 PM] Starting client at $kkapi.playpoolstudios.com:26815
[7/29/2026 1:22:07 PM] Client connected
[7/29/2026 1:22:14 PM] Selected team changed from Red to Blue
[7/29/2026 1:22:19 PM] Selected team changed from Blue to Red
[7/29/2026 1:22:26 PM] Selected team changed from Red to Blue
[7/29/2026 1:22:30 PM] Selected team changed from Blue to Red
[7/29/2026 1:22:34 PM] Selected team changed from Red to Blue
[7/29/2026 1:22:37 PM] Selected team changed from Blue to Red
[7/29/2026 1:22:44 PM] Selected team changed from Red to Blue
[7/29/2026 1:22:48 PM] Selected team changed from Blue to Red
[7/29/2026 1:22:53 PM] Selected team changed from Red to Blue
[7/29/2026 1:22:57 PM] Selected team changed from Blue to Red
[7/29/2026 1:23:01 PM] Score changed from 0 to 1
[7/29/2026 1:23:04 PM] Selected team changed from Red to Blue
[7/29/2026 1:23:11 PM] Selected team changed from Blue to Red
[7/29/2026 1:23:19 PM] Selected team changed from Red to Blue
[7/29/2026 1:23:24 PM] Selected team changed from Blue to Red
[7/29/2026 1:23:30 PM] Selected team changed from Red to Blue
[7/29/2026 1:23:35 PM] Selected team changed from Blue to Red
[7/29/2026 1:23:42 PM] Selected team changed from Red to Blue
[7/29/2026 1:23:46 PM] Selected team changed from Blue to Red
[7/29/2026 1:23:55 PM] Selected team changed from Red to Blue
[7/29/2026 1:23:59 PM] Selected team changed from Blue to Red
[7/29/2026 1:24:07 PM] Selected team changed from Red to Blue
[7/29/2026 1:24:10 PM] Selected team changed from Blue to Red
[7/29/2026 1:24:19 PM] Selected team changed from Red to Blue
[7/29/2026 1:24:24 PM] Selected team changed from Blue to Red
[7/29/2026 1:24:30 PM] Selected team changed from Red to Blue
[7/29/2026 1:24:36 PM] Selected team changed from Blue to Red
[7/29/2026 1:24:44 PM] Score changed from 1 to 2
[7/29/2026 1:24:48 PM] Selected team changed from Red to Blue
[7/29/2026 1:24:52 PM] Selected team changed from Blue to Red
[7/29/2026 1:24:58 PM] Selected team changed from Red to Blue
[7/29/2026 1:25:04 PM] Score changed from 0 to 1
[7/29/2026 1:25:07 PM] Selected team changed from Blue to Red
[7/29/2026 1:25:16 PM] Selected team changed from Red to Blue
[7/29/2026 1:25:18 PM] Score changed from 1 to 2
[7/29/2026 1:25:21 PM] Selected team changed from Blue to Red
[7/29/2026 1:25:27 PM] Selected team changed from Red to Blue
[7/29/2026 1:25:34 PM] Selected team changed from Blue to Red
[7/29/2026 1:25:40 PM] Selected team changed from Red to Blue
[7/29/2026 1:25:45 PM] Selected team changed from Blue to Red
[7/29/2026 1:25:56 PM] Selected team changed from Red to Blue
[7/29/2026 1:26:00 PM] Score changed from 2 to 3
[7/29/2026 1:26:11 PM] Configured dedicated match reporting for match id 536 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[7/29/2026 1:26:11 PM] Client disconnected
[7/29/2026 1:26:15 PM] Starting client at $kkapi.playpoolstudios.com:26172
[7/29/2026 1:26:15 PM] Client connected
[7/29/2026 1:26:20 PM] Selected team changed from Red to Blue
[7/29/2026 1:26:25 PM] Selected team changed from Blue to Red
[7/29/2026 1:26:33 PM] Selected team changed from Red to Blue
[7/29/2026 1:26:37 PM] Selected team changed from Blue to Red
[7/29/2026 1:26:48 PM] Selected team changed from Red to Blue
[7/29/2026 1:26:56 PM] Selected team changed from Blue to Red
[7/29/2026 1:27:03 PM] Selected team changed from Red to Blue
[7/29/2026 1:27:09 PM] Selected team changed from Blue to Red
[7/29/2026 1:27:14 PM] Selected team changed from Red to Blue
[7/29/2026 1:27:24 PM] Selected team changed from Blue to Red
[7/29/2026 1:27:32 PM] Selected team changed from Red to Blue
[7/29/2026 1:27:37 PM] Selected team changed from Blue to Red
[7/29/2026 1:27:45 PM] Selected team changed from Red to Blue
[7/29/2026 1:27:49 PM] Selected team changed from Blue to Red
[7/29/2026 1:27:55 PM] Score changed from 0 to 1
[7/29/2026 1:27:58 PM] Selected team changed from Red to Blue
[7/29/2026 1:28:02 PM] Selected team changed from Blue to Red
[7/29/2026 1:28:08 PM] Selected team changed from Red to Blue
[7/29/2026 1:28:15 PM] Selected team changed from Blue to Red
[7/29/2026 1:28:23 PM] Selected team changed from Red to Blue
[7/29/2026 1:28:28 PM] Selected team changed from Blue to Red
[7/29/2026 1:28:35 PM] Selected team changed from Red to Blue
[7/29/2026 1:28:39 PM] Selected team changed from Blue to Red
[7/29/2026 1:28:52 PM] Selected team changed from Red to Blue
[7/29/2026 1:28:55 PM] Score changed from 0 to 1
[7/29/2026 1:28:58 PM] Selected team changed from Blue to Red
[7/29/2026 1:29:06 PM] Selected team changed from Red to Blue
[7/29/2026 1:29:14 PM] Selected team changed from Blue to Red
[7/29/2026 1:29:18 PM] Selected team changed from Red to Blue
[7/29/2026 1:29:23 PM] Selected team changed from Blue to Red
[7/29/2026 1:29:32 PM] Selected team changed from Red to Blue
[7/29/2026 1:29:36 PM] Selected team changed from Blue to Red
[7/29/2026 1:29:42 PM] Selected team changed from Red to Blue
[7/29/2026 1:29:46 PM] Selected team changed from Blue to Red
[7/29/2026 1:29:52 PM] Selected team changed from Red to Blue
[7/29/2026 1:29:56 PM] Selected team changed from Blue to Red
[7/29/2026 1:30:11 PM] Selected team changed from Red to Blue
[7/29/2026 1:30:16 PM] Selected team changed from Blue to Red
[7/29/2026 1:30:21 PM] Selected team changed from Red to Blue
[7/29/2026 1:30:27 PM] Selected team changed from Blue to Red
[7/29/2026 1:30:30 PM] Score changed from 1 to 2
[7/29/2026 1:30:33 PM] Selected team changed from Red to Blue
[7/29/2026 1:30:40 PM] Selected team changed from Blue to Red
[7/29/2026 1:30:45 PM] Selected team changed from Red to Blue
[7/29/2026 1:30:50 PM] Selected team changed from Blue to Red
[7/29/2026 1:30:55 PM] Selected team changed from Red to Blue
[7/29/2026 1:31:01 PM] Selected team changed from Blue to Red
[7/29/2026 1:31:03 PM] Score changed from 2 to 3
[7/29/2026 1:31:24 PM] Configured dedicated match reporting for match id 537 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[7/29/2026 1:31:24 PM] Client disconnected
[7/29/2026 1:31:28 PM] Starting client at $kkapi.playpoolstudios.com:26149
[7/29/2026 1:31:28 PM] Client connected
[7/29/2026 1:31:33 PM] Selected team changed from Red to Blue
[7/29/2026 1:31:37 PM] Selected team changed from Blue to Red
[7/29/2026 1:31:41 PM] Selected team changed from Red to Blue
[7/29/2026 1:31:45 PM] Selected team changed from Blue to Red
[7/29/2026 1:31:50 PM] Selected team changed from Red to Blue
[7/29/2026 1:31:54 PM] Selected team changed from Blue to Red
[7/29/2026 1:32:05 PM] Selected team changed from Red to Blue
[7/29/2026 1:32:12 PM] Selected team changed from Blue to Red
[7/29/2026 1:32:18 PM] Selected team changed from Red to Blue
[7/29/2026 1:32:25 PM] Selected team changed from Blue to Red
[7/29/2026 1:32:32 PM] Selected team changed from Red to Blue
[7/29/2026 1:32:38 PM] Selected team changed from Blue to Red
[7/29/2026 1:32:44 PM] Selected team changed from Red to Blue
[7/29/2026 1:32:56 PM] Selected team changed from Blue to Red
[7/29/2026 1:33:04 PM] Score changed from 0 to 1
[7/29/2026 1:33:07 PM] Selected team changed from Red to Blue
[7/29/2026 1:33:16 PM] Selected team changed from Blue to Red
[7/29/2026 1:33:22 PM] Selected team changed from Red to Blue
[7/29/2026 1:33:31 PM] Selected team changed from Blue to Red
[7/29/2026 1:33:40 PM] Selected team changed from Red to Blue
[7/29/2026 1:33:43 PM] Score changed from 0 to 1
[7/29/2026 1:33:46 PM] Selected team changed from Blue to Red
[7/29/2026 1:33:52 PM] Selected team changed from Red to Blue
[7/29/2026 1:33:58 PM] Selected team changed from Blue to Red
[7/29/2026 1:34:04 PM] Selected team changed from Red to Blue
[7/29/2026 1:34:11 PM] Selected team changed from Blue to Red
[7/29/2026 1:34:16 PM] Selected team changed from Red to Blue
[7/29/2026 1:34:22 PM] Selected team changed from Blue to Red
[7/29/2026 1:34:30 PM] Selected team changed from Red to Blue
[7/29/2026 1:34:34 PM] Selected team changed from Blue to Red
[7/29/2026 1:34:39 PM] Score changed from 1 to 2
[7/29/2026 1:34:42 PM] Selected team changed from Red to Blue
[7/29/2026 1:34:47 PM] Selected team changed from Blue to Red
[7/29/2026 1:34:54 PM] Selected team changed from Red to Blue
[7/29/2026 1:34:58 PM] Selected team changed from Blue to Red
[7/29/2026 1:35:12 PM] Score changed from 2 to 3
[7/29/2026 1:35:21 PM] Client disconnected
[7/29/2026 1:35:23 PM] Cupid settings updated
[7/29/2026 1:35:23 PM] Cupid settings updated
[8/27/2026 1:43:47 PM] Cupid settings updated
[8/27/2026 1:43:48 PM] Cupid settings updated
[8/27/2026 1:43:50 PM] Starting matchmake as warlock
[8/27/2026 1:43:51 PM] Starting matchmake as warlock2
[8/27/2026 1:43:53 PM] Still waiting: {"ok":true,"entry_fee":21,"rc_prize":34,"for_red":{"Players":[{"Name":"warlock","LastSeen":1787818433058,"UserId":2,"l10_wins":1,"l10_losses":8}],"GameName":"soccar","Port":26357,"InitTime":1787818433058,"entry_fee":21,"match_id":595,"rc_prize":34,"your_team":"red"},"for_blue":null}
[8/27/2026 1:43:53 PM] Got into a room
[8/27/2026 1:43:53 PM] {"ok":true,"entry_fee":21,"rc_prize":34,"for_red":{"Players":[{"Name":"warlock","LastSeen":1787818433058,"UserId":2,"l10_wins":1,"l10_losses":8},{"Name":"warlock2","LastSeen":1787818433141,"UserId":3,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26357,"InitTime":1787818433058,"entry_fee":21,"match_id":595,"instance_started":true,"rc_prize":34,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock","LastSeen":1787818433058,"UserId":2,"l10_wins":1,"l10_losses":8},{"Name":"warlock2","LastSeen":1787818433141,"UserId":3,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26357,"InitTime":1787818433058,"entry_fee":21,"match_id":595,"instance_started":true,"rc_prize":34,"your_team":"blue"}}
[8/27/2026 1:43:53 PM] Configured dedicated match reporting for match id 595 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/27/2026 1:43:53 PM] Setting cupid to load game scene
[8/27/2026 1:43:53 PM] Loading game scene
[8/27/2026 1:43:54 PM] Got into a room
[8/27/2026 1:43:54 PM] {"ok":true,"entry_fee":21,"rc_prize":34,"for_red":{"Players":[{"Name":"warlock","LastSeen":1787818434370,"UserId":2,"l10_wins":1,"l10_losses":8},{"Name":"warlock2","LastSeen":1787818433141,"UserId":3,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26357,"InitTime":1787818433058,"entry_fee":21,"match_id":595,"instance_started":true,"rc_prize":34,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock","LastSeen":1787818434370,"UserId":2,"l10_wins":1,"l10_losses":8},{"Name":"warlock2","LastSeen":1787818433141,"UserId":3,"l10_wins":8,"l10_losses":2}],"GameName":"soccar","Port":26357,"InitTime":1787818433058,"entry_fee":21,"match_id":595,"instance_started":true,"rc_prize":34,"your_team":"blue"}}
[8/27/2026 1:43:54 PM] Configured dedicated match reporting for match id 595 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/27/2026 1:43:54 PM] Setting cupid to load game scene
[8/27/2026 1:43:54 PM] Loading game scene
[8/27/2026 1:43:59 PM] Starting client at $kkapi.playpoolstudios.com:26357
[8/27/2026 1:43:59 PM] Client connected
[8/27/2026 1:43:59 PM] Dedicated join: team assigned Blue isServer=False matchId=595 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/27/2026 1:44:01 PM] Starting client at $kkapi.playpoolstudios.com:26357
[8/27/2026 1:44:01 PM] Client connected
[8/27/2026 1:44:01 PM] Dedicated join: team assigned Red isServer=False matchId=595 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/27/2026 1:44:17 PM] Selected team changed from Red to Blue
[8/27/2026 1:44:17 PM] Selected team changed from Red to Blue
[8/27/2026 1:44:26 PM] Selected team changed from Blue to Red
[8/27/2026 1:44:26 PM] Selected team changed from Blue to Red
[8/27/2026 1:45:01 PM] Configured dedicated match reporting for match id 596 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/27/2026 1:45:01 PM] Client disconnected
[8/27/2026 1:45:01 PM] Client disconnected
[8/27/2026 1:45:05 PM] Starting client at $kkapi.playpoolstudios.com:26411
[8/27/2026 1:45:05 PM] Client connected
[8/27/2026 1:45:05 PM] Dedicated join: team assigned Red isServer=False matchId=596 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/27/2026 1:45:31 PM] Client disconnected
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4590b1d665d10c64a8174323d734b971
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+11
View File
@@ -0,0 +1,11 @@
[8/13/2026 7:50:10 PM] ReplayRecorder started (practice) id -1786630810 with 11 entities
[8/13/2026 7:50:10 PM] Client connected
[8/13/2026 7:50:10 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/13/2026 7:50:10 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/13/2026 7:50:10 PM] Selected team changed from Red to Blue
[8/13/2026 7:50:27 PM] Match: Blue skipped turn (1/2)
[8/13/2026 7:50:27 PM] Selected team changed from Blue to Red
[8/13/2026 7:50:29 PM] Dedicated match: Blue disconnected (order count=1)
[8/13/2026 7:50:29 PM] Mirror server: client disconnected (connId=0)
[8/13/2026 7:50:29 PM] Client disconnected
[8/13/2026 7:50:29 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1786630810.json (951 frames, 0 events, duration 19.02s)
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 13e09da064f35f74b83f6ed19880c04d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 084e9b7d2b988a34eb1c0aed4752ee16
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+17
View File
@@ -0,0 +1,17 @@
[8/13/2026 8:43:35 PM] ReplayRecorder started (practice) id -1786634015 with 11 entities
[8/13/2026 8:43:35 PM] Client connected
[8/13/2026 8:43:35 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/13/2026 8:43:35 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/13/2026 8:43:35 PM] Selected team changed from Red to Blue
[8/13/2026 8:43:52 PM] Match: Blue skipped turn (1/2)
[8/13/2026 8:43:52 PM] Selected team changed from Blue to Red
[8/13/2026 8:43:55 PM] AI best puck Puck: total=3.04 (prox=0.85, between=0.03, traj=0.70, push=1.00)
[8/13/2026 8:43:55 PM] force = 70 * 0.9010412 = 63.07288
[8/13/2026 8:43:55 PM] launching puck at (0.00, -4.00) with (0.00, 252.29) force
[8/13/2026 8:43:58 PM] Selected team changed from Red to Blue
[8/13/2026 8:44:05 PM] force = 70 * 0.9955804 = 69.69063
[8/13/2026 8:44:05 PM] launching puck at (-0.77, 4.94) with (53.42, -344.33) force
[8/13/2026 8:44:08 PM] Dedicated match: Blue disconnected (order count=1)
[8/13/2026 8:44:08 PM] Mirror server: client disconnected (connId=0)
[8/13/2026 8:44:08 PM] Client disconnected
[8/13/2026 8:44:08 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1786634015.json (1638 frames, 6 events, duration 32.76s)
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a085b5292682b144dacde97500667411
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 48b08b67d9b52ad4c9484786cf2ec2e1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+24
View File
@@ -0,0 +1,24 @@
[8/13/2026 8:49:52 PM] ReplayRecorder started (practice) id -1786634392 with 11 entities
[8/13/2026 8:49:52 PM] Client connected
[8/13/2026 8:49:53 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/13/2026 8:49:53 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/13/2026 8:49:53 PM] Selected team changed from Red to Blue
[8/13/2026 8:50:09 PM] Selected team changed from Blue to Red
[8/13/2026 8:50:12 PM] AI best puck Puck: total=3.04 (prox=0.85, between=0.03, traj=0.70, push=1.00)
[8/13/2026 8:50:12 PM] force = 70 * 0.9010412 = 63.07288
[8/13/2026 8:50:12 PM] launching puck at (0.00, -4.00) with (0.00, 252.29) force
[8/13/2026 8:50:15 PM] Selected team changed from Red to Blue
[8/13/2026 8:50:33 PM] Selected team changed from Blue to Red
[8/13/2026 8:50:35 PM] AI best puck Puck: total=1.73 (prox=0.93, between=0.03, traj=0.00, push=1.00)
[8/13/2026 8:50:35 PM] force = 70 * 0.9010412 = 63.07288
[8/13/2026 8:50:35 PM] launching puck at (0.00, -4.00) with (0.00, 252.29) force
[8/13/2026 8:50:38 PM] Selected team changed from Red to Blue
[8/13/2026 8:50:53 PM] Selected team changed from Blue to Red
[8/13/2026 8:50:55 PM] AI best puck Puck: total=1.73 (prox=0.94, between=0.03, traj=0.00, push=1.00)
[8/13/2026 8:50:55 PM] force = 70 * 0.9010412 = 63.07288
[8/13/2026 8:50:55 PM] launching puck at (0.00, -4.00) with (0.00, 252.29) force
[8/13/2026 8:50:57 PM] Selected team changed from Red to Blue
[8/13/2026 8:51:00 PM] Dedicated match: Blue disconnected (order count=1)
[8/13/2026 8:51:00 PM] Mirror server: client disconnected (connId=0)
[8/13/2026 8:51:00 PM] Client disconnected
[8/13/2026 8:51:00 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1786634392.json (3373 frames, 15 events, duration 67.46s)
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ecdf112848437a94b8bc3ad0bb197473
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 312a453df6e098149af89b3a2094beb5
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+24
View File
@@ -0,0 +1,24 @@
[8/20/2026 7:19:02 PM] ReplayRecorder started (practice) id -1787233742 with 11 entities
[8/20/2026 7:19:02 PM] Client connected
[8/20/2026 7:19:03 PM] Dedicated join: team assigned Red isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/20/2026 7:19:03 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/20/2026 7:19:19 PM] Selected team changed from Red to Blue
[8/20/2026 7:19:22 PM] AI best puck Puck (7): total=3.04 (prox=0.85, between=0.03, traj=0.70, push=1.00)
[8/20/2026 7:19:22 PM] force = 70 * 0.9010412 = 63.07288
[8/20/2026 7:19:22 PM] launching puck at (0.00, 4.00) with (0.00, -252.29) force
[8/20/2026 7:19:25 PM] Selected team changed from Blue to Red
[8/20/2026 7:19:41 PM] Selected team changed from Red to Blue
[8/20/2026 7:19:44 PM] AI best puck Puck (7): total=1.73 (prox=0.93, between=0.03, traj=0.00, push=1.00)
[8/20/2026 7:19:44 PM] force = 70 * 0.9010412 = 63.07288
[8/20/2026 7:19:44 PM] launching puck at (0.00, 4.00) with (0.00, -252.29) force
[8/20/2026 7:19:47 PM] Selected team changed from Blue to Red
[8/20/2026 7:20:02 PM] Selected team changed from Red to Blue
[8/20/2026 7:20:05 PM] AI best puck Puck (7): total=1.85 (prox=0.94, between=0.11, traj=0.00, push=1.00)
[8/20/2026 7:20:05 PM] force = 70 * 0.9010412 = 63.07288
[8/20/2026 7:20:05 PM] launching puck at (0.00, 4.00) with (0.00, -252.29) force
[8/20/2026 7:20:05 PM] Score changed from 0 to 1
[8/20/2026 7:20:05 PM] Blue goal scored, blue score is now 1
[8/20/2026 7:20:05 PM] Dedicated match: Red disconnected (order count=1)
[8/20/2026 7:20:05 PM] Mirror server: client disconnected (connId=0)
[8/20/2026 7:20:05 PM] Client disconnected
[8/20/2026 7:20:05 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787233742.json (3127 frames, 12 events, duration 62.54s)
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e3ae7f36bed6c134797b7cc9a0ea5f22
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2cc4ee68f3294624c9898f706bab87a8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+16
View File
@@ -0,0 +1,16 @@
[8/26/2026 10:21:50 PM] ReplayRecorder started (practice) id -1787763110 with 11 entities
[8/26/2026 10:21:50 PM] Client connected
[8/26/2026 10:21:51 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/26/2026 10:21:51 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/26/2026 10:21:51 PM] Selected team changed from Red to Blue
[8/26/2026 10:21:55 PM] Match: Blue forfeited by leave — Red wins
[8/26/2026 10:21:55 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787763110.json (218 frames, 0 events, duration 4.36s)
[8/26/2026 10:21:55 PM] Dedicated match: end winner=Red red_connected=False blue_connected=False red_score=0 blue_score=0 forfeit=True
[8/26/2026 10:21:55 PM] Mirror server: client disconnected (connId=0)
[8/26/2026 10:21:55 PM] Client disconnected
[8/26/2026 10:22:00 PM] Cupid settings updated
[8/26/2026 10:22:01 PM] Cupid settings updated
[8/26/2026 10:22:03 PM] Configured dedicated match reporting for match id 0 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/26/2026 10:22:10 PM] Invalid Room port
[8/26/2026 10:22:10 PM] Mirror server exception logging enabled
[8/26/2026 10:22:10 PM] Game started On localhost, tutorial mode enabled
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: eafec47de336f534da962bda68ab7dfb
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 62574c44b8b7522459dc1aebd641aa7f
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+16
View File
@@ -0,0 +1,16 @@
[8/26/2026 10:22:10 PM] ReplayRecorder started (practice) id -1787763130 with 11 entities
[8/26/2026 10:22:10 PM] Client connected
[8/26/2026 10:22:10 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/26/2026 10:22:10 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/26/2026 10:22:10 PM] Selected team changed from Red to Blue
[8/26/2026 10:22:14 PM] Match: Blue forfeited by leave — Red wins
[8/26/2026 10:22:14 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787763130.json (198 frames, 0 events, duration 3.96s)
[8/26/2026 10:22:14 PM] Dedicated match: end winner=Red red_connected=False blue_connected=False red_score=0 blue_score=0 forfeit=True
[8/26/2026 10:22:14 PM] Mirror server: client disconnected (connId=0)
[8/26/2026 10:22:14 PM] Client disconnected
[8/26/2026 10:22:19 PM] Cupid settings updated
[8/26/2026 10:22:19 PM] Cupid settings updated
[8/26/2026 10:22:22 PM] Configured dedicated match reporting for match id 0 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/26/2026 10:22:29 PM] Invalid Room port
[8/26/2026 10:22:29 PM] Mirror server exception logging enabled
[8/26/2026 10:22:29 PM] Game started On localhost, tutorial mode enabled
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6e233967e946ccc4b921379b66b22740
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5e168c91dfd19c748907045eef730143
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+16
View File
@@ -0,0 +1,16 @@
[8/26/2026 10:22:29 PM] ReplayRecorder started (practice) id -1787763149 with 11 entities
[8/26/2026 10:22:29 PM] Client connected
[8/26/2026 10:22:29 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/26/2026 10:22:29 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/26/2026 10:22:29 PM] Selected team changed from Red to Blue
[8/26/2026 10:22:32 PM] Match: Blue forfeited by leave — Red wins
[8/26/2026 10:22:32 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787763149.json (171 frames, 0 events, duration 3.42s)
[8/26/2026 10:22:32 PM] Dedicated match: end winner=Red red_connected=False blue_connected=False red_score=0 blue_score=0 forfeit=True
[8/26/2026 10:22:32 PM] Mirror server: client disconnected (connId=0)
[8/26/2026 10:22:32 PM] Client disconnected
[8/26/2026 10:22:36 PM] Cupid settings updated
[8/26/2026 10:22:37 PM] Cupid settings updated
[8/26/2026 10:22:38 PM] Configured dedicated match reporting for match id 0 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/26/2026 10:22:45 PM] Invalid Room port
[8/26/2026 10:22:45 PM] Mirror server exception logging enabled
[8/26/2026 10:22:45 PM] Game started On localhost, tutorial mode enabled
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: afd7819d04d262d42a80b619146a0acc
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f104f470c2a16344ea9b9aab39ff0f37
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+16
View File
@@ -0,0 +1,16 @@
[8/26/2026 10:22:45 PM] ReplayRecorder started (practice) id -1787763165 with 11 entities
[8/26/2026 10:22:45 PM] Client connected
[8/26/2026 10:22:45 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/26/2026 10:22:45 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/26/2026 10:22:45 PM] Selected team changed from Red to Blue
[8/26/2026 10:22:57 PM] Match: Blue forfeited by leave — Red wins
[8/26/2026 10:22:57 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787763165.json (605 frames, 0 events, duration 12.10s)
[8/26/2026 10:22:57 PM] Dedicated match: end winner=Red red_connected=False blue_connected=False red_score=0 blue_score=0 forfeit=True
[8/26/2026 10:22:57 PM] Mirror server: client disconnected (connId=0)
[8/26/2026 10:22:57 PM] Client disconnected
[8/26/2026 10:23:02 PM] Cupid settings updated
[8/26/2026 10:23:02 PM] Cupid settings updated
[8/26/2026 10:23:05 PM] Configured dedicated match reporting for match id 0 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kkapi.playpoolstudios.com
[8/26/2026 10:23:11 PM] Invalid Room port
[8/26/2026 10:23:11 PM] Mirror server exception logging enabled
[8/26/2026 10:23:11 PM] Game started On localhost, tutorial mode enabled
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b6b634e5c0a824d47b49e89290032735
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+1
View File
@@ -0,0 +1 @@
{"version":1,"matchId":-1787763191,"isPractice":true,"fixedDeltaTime":0.019999992102384568,"duration":0.0,"entities":[{"id":0,"type":"ball","team":""},{"id":1,"type":"puck","team":"Red"},{"id":2,"type":"puck","team":"Red"},{"id":3,"type":"puck","team":"Red"},{"id":4,"type":"puck","team":"Red"},{"id":5,"type":"puck","team":"Red"},{"id":6,"type":"puck","team":"Blue"},{"id":7,"type":"puck","team":"Blue"},{"id":8,"type":"puck","team":"Blue"},{"id":9,"type":"puck","team":"Blue"},{"id":10,"type":"puck","team":"Blue"}],"frames":[],"events":[]}
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d1dd94f034d5fcc48a72276d45f82c83
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
[8/26/2026 10:23:11 PM] ReplayRecorder started (practice) id -1787763191 with 11 entities
[8/26/2026 10:23:11 PM] Client connected
[8/26/2026 10:23:11 PM] Dedicated join: team assigned Blue isServer=True matchId=0 secretEmpty=False redJoin=False blueJoin=False collected=False
[8/26/2026 10:23:11 PM] Dedicated join: skipping PATCH (matchId=0, secretEmpty=False)
[8/26/2026 10:23:11 PM] Dedicated match: Blue disconnected (order count=1)
[8/26/2026 10:23:11 PM] Mirror server: client disconnected (connId=0)
[8/26/2026 10:23:11 PM] Client disconnected
[8/26/2026 10:23:11 PM] ReplayRecorder wrote F:/Projects/Unity/soccar2d/Assets\Logs\-1787763191.json (0 frames, 0 events, duration 0.00s)
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 13d3b05348f90644b8f236f835efa4c2
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+32
View File
@@ -416,3 +416,35 @@
[7/19/2026 12:42:42 AM] Failed to fetch red and blue names, isServer?
[7/19/2026 12:42:42 AM] Starting auto close watchdog
[7/19/2026 12:42:42 AM] Active player connections: 0
[8/13/2026 2:36:25 PM] Starting server at port 7777
[8/13/2026 2:36:25 PM] Mirror server exception logging enabled
[8/13/2026 2:36:25 PM] Failed to fetch red and blue names, isServer?
[8/13/2026 2:36:25 PM] Starting auto close watchdog
[8/13/2026 2:36:25 PM] Active player connections: 0
[8/13/2026 3:56:45 PM] Starting server at port 7777
[8/13/2026 3:56:45 PM] Mirror server exception logging enabled
[8/13/2026 3:56:45 PM] Failed to fetch red and blue names, isServer?
[8/13/2026 3:56:45 PM] Starting auto close watchdog
[8/13/2026 3:56:45 PM] Active player connections: 0
[8/13/2026 3:56:52 PM] Server will be closed due to no players in, 60
[8/13/2026 9:06:10 PM] Starting server at port 7777
[8/13/2026 9:06:10 PM] Mirror server exception logging enabled
[8/13/2026 9:06:10 PM] Failed to fetch red and blue names, isServer?
[8/13/2026 9:06:10 PM] Starting auto close watchdog
[8/13/2026 9:06:10 PM] Active player connections: 0
[8/18/2026 2:02:56 AM] Starting server at port 7777
[8/18/2026 2:02:56 AM] Mirror server exception logging enabled
[8/18/2026 2:02:56 AM] Failed to fetch red and blue names, isServer?
[8/18/2026 2:02:56 AM] Starting auto close watchdog
[8/18/2026 2:02:56 AM] Active player connections: 0
[8/27/2026 1:12:53 PM] Starting server at port 7777
[8/27/2026 1:12:53 PM] Mirror server exception logging enabled
[8/27/2026 1:12:53 PM] Failed to fetch red and blue names, isServer?
[8/27/2026 1:12:53 PM] Starting auto close watchdog
[8/27/2026 1:12:53 PM] Active player connections: 0
[8/27/2026 1:12:59 PM] Server will be closed due to no players in, 60
[8/27/2026 1:42:51 PM] Starting server at port 7777
[8/27/2026 1:42:51 PM] Mirror server exception logging enabled
[8/27/2026 1:42:51 PM] Failed to fetch red and blue names, isServer?
[8/27/2026 1:42:51 PM] Starting auto close watchdog
[8/27/2026 1:42:51 PM] Active player connections: 0
+23 -23
View File
@@ -578,7 +578,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &4426299922493186842
RectTransform:
m_ObjectHideFlags: 0
@@ -595,7 +595,7 @@ RectTransform:
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: -12, y: -301.3}
m_AnchoredPosition: {x: -12, y: -289}
m_SizeDelta: {x: 396.3171, y: 206.1671}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5777954290886970586
@@ -619,7 +619,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.8349056, g: 0.93029827, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -671,7 +671,7 @@ RectTransform:
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: 351.29, y: 619.50073}
m_AnchoredPosition: {x: 291.99997, y: 619.50073}
m_SizeDelta: {x: 356.21, y: 79.8881}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4299910807936819090
@@ -747,7 +747,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: -5110294184840258280, guid: b3993aed15d744d4bb390d5351cda423, type: 3}
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -789,9 +789,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 784446025213843339}
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: 349.8392, y: -415.53}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 349.8392, y: 714.47}
m_SizeDelta: {x: 287.9087, y: 53.690674}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4680061499564276536
@@ -928,7 +928,7 @@ RectTransform:
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: -351.29, y: 619.50073}
m_AnchoredPosition: {x: -297.8, y: 619.50073}
m_SizeDelta: {x: 356.21, y: 79.8881}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2120176914018994436
@@ -1198,8 +1198,8 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 49.1
m_fontSizeBase: 49.1
m_fontSize: 46.1
m_fontSizeBase: 46.1
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
@@ -1277,7 +1277,7 @@ RectTransform:
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: -351.29, y: 619.50073}
m_AnchoredPosition: {x: -297.8, y: 619.50073}
m_SizeDelta: {x: 356.21, y: 79.8881}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &588061042461009508
@@ -1456,9 +1456,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 784446025213843339}
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: -349.83923, y: -415.53}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -349.83923, y: 714.47}
m_SizeDelta: {x: 287.9087, y: 53.690674}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4305625922513859524
@@ -1868,7 +1868,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.0000059605, y: 619.1}
m_SizeDelta: {x: 433.0019, y: 98.6273}
m_SizeDelta: {x: 359.3, y: 98.6273}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8725577243422270907
CanvasRenderer:
@@ -2094,7 +2094,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -6.8129, y: 711.5879}
m_SizeDelta: {x: 370.1125, y: 86.3439}
m_SizeDelta: {x: 267.8, y: 86.3439}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2040376918808009174
CanvasRenderer:
@@ -2244,7 +2244,7 @@ RectTransform:
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: 351.29, y: 619.50073}
m_AnchoredPosition: {x: 292, y: 619.50073}
m_SizeDelta: {x: 356.21, y: 79.8881}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3873575104506013387
@@ -2470,7 +2470,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 8390053243822926539, guid: 511a187332d4a4d4db6f55f623e1de11, type: 3}
m_Sprite: {fileID: 8390053243822926539, guid: 5b969ed0d82676d4890df6c74fd6f3c4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -2728,7 +2728,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 8390053243822926539, guid: 511a187332d4a4d4db6f55f623e1de11, type: 3}
m_Sprite: {fileID: 8390053243822926539, guid: 5b969ed0d82676d4890df6c74fd6f3c4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -3625,7 +3625,7 @@ MonoBehaviour:
p2_name: {fileID: 6139878670004169448}
p1_l10: {fileID: 7658668847612786734}
p2_l10: {fileID: 8415686484963452604}
redIcon: {fileID: 7194123030578827194, guid: 809c8d780dc80f14e80fd92c6e42ed71, type: 3}
redIcon: {fileID: 7609527126711406816, guid: 532bcbd7fabd63844ac75765ae25dcb9, type: 3}
blueIcon: {fileID: 7609527126711406816, guid: 8d015c6e4a5ab8540814b06ae5f85980, type: 3}
txtMiddle: {fileID: 2458004521057696282}
txtRcPrize: {fileID: 8330661879995437874}
@@ -3953,7 +3953,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 1.326294, y: -53.300316}
m_AnchoredPosition: {x: 1.326294, y: -53.300537}
m_SizeDelta: {x: 82.232544, y: 5.79937}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8345919255487113005
@@ -3984,7 +3984,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: -7443756053782179069, guid: 0ec6ee71c3b91214284f88b794c2f1e7, type: 3}
m_Sprite: {fileID: -1955448553306655712, guid: b9f492da50bba6a4cae145945abc32e8, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
+4 -34
View File
@@ -14,8 +14,6 @@ GameObject:
- component: {fileID: 9033708766278989701}
- component: {fileID: 2872566638177417579}
- component: {fileID: 407622981302802273}
- component: {fileID: 969959851011469098}
- component: {fileID: 2978779054327924816}
m_Layer: 5
m_Name: text_emote_prefab
m_TagString: Untagged
@@ -165,34 +163,6 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &969959851011469098
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4492919853174754762}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Delegates: []
--- !u!114 &2978779054327924816
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4492919853174754762}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e4c65221cd965e45853c892a9facd82, type: 3}
m_Name:
m_EditorClassIdentifier:
scaleFactor: 1.1
duration: 0.1
ease: 27
--- !u!1 &4797427416459394329
GameObject:
m_ObjectHideFlags: 0
@@ -225,10 +195,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 1018686033926137723}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 78.775, y: -32.235}
m_SizeDelta: {x: 137.55, y: 44.47}
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!222 &101741276978323686
CanvasRenderer:
+2594 -260
View File
File diff suppressed because it is too large Load Diff
+1689 -171
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+14 -1
View File
@@ -46,7 +46,12 @@ public class AiBotController : NetworkBehaviour
void Awake()
{
#if UNITY_SERVER
enabled = false;
return;
#else
EnsureTrajectoryLines();
#endif
}
void OnEnable()
@@ -100,6 +105,10 @@ public class AiBotController : NetworkBehaviour
return existingLine;
}
Shader shader = Shader.Find("Sprites/Default");
if (shader == null)
return null;
GameObject go = new GameObject(name);
go.transform.SetParent(transform, false);
@@ -109,7 +118,7 @@ public class AiBotController : NetworkBehaviour
line.endWidth = trajectoryLineWidth;
line.numCapVertices = 4;
line.sortingOrder = trajectorySortingOrder;
line.material = new Material(Shader.Find("Sprites/Default"));
line.material = new Material(shader);
line.startColor = color;
line.endColor = color;
line.positionCount = 0;
@@ -1066,9 +1075,13 @@ public class AiBotController : NetworkBehaviour
public void Setup(Team team)
{
#if UNITY_SERVER
return;
#else
aiTeam = team;
RefreshAiPucks();
isEnabled = true;
#endif
}
void RefreshAiPucks()
+54 -3
View File
@@ -15,22 +15,73 @@ public class Ball : NetworkBehaviour
void Awake()
{
rb = GetComponent<Rigidbody2D>();
col = GetComponent<Collider2D>();
startPosition = transform.position;
}
Collider2D col;
Coroutine coroutineReset;
bool holdingCollisionLock;
public void SetCollisionsEnabled(bool enabled)
{
if (col != null)
col.enabled = enabled;
if (rb != null && !enabled)
{
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
}
}
public void Reset(float duration){
StartCoroutine(CoroutineReset(duration));
if (coroutineReset != null)
{
StopCoroutine(coroutineReset);
RestoreAfterReset();
}
coroutineReset = StartCoroutine(CoroutineReset(duration));
}
IEnumerator CoroutineReset(float duration){
if (GameManager.instance != null)
{
GameManager.instance.PushResetCollisionLock();
holdingCollisionLock = true;
}
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
float t=0;
Vector3 pos1 = transform.position;
Quaternion rot1 = transform.rotation;
while (t < duration){
t+=Time.deltaTime;
transform.position = Vector3.Lerp(pos1, startPosition, t / duration);
transform.rotation = Quaternion.Lerp(rot1, Quaternion.identity, t/duration);
float u = Mathf.Clamp01(t / duration);
transform.position = Vector3.Lerp(pos1, startPosition, u);
transform.rotation = Quaternion.Lerp(rot1, Quaternion.identity, u);
yield return null;
}
transform.position = startPosition;
transform.rotation = Quaternion.identity;
RestoreAfterReset();
}
void RestoreAfterReset()
{
if (rb != null)
{
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
}
if (holdingCollisionLock && GameManager.instance != null)
{
GameManager.instance.PopResetCollisionLock();
holdingCollisionLock = false;
}
coroutineReset = null;
}
public bool touchingB,touchingL,touchingR,touchingT = false;
+72 -1
View File
@@ -22,6 +22,7 @@ public class GameCanvas : MonoBehaviour
ShowWaitingForOpponentPanel();
HideEmotesPanel();
HideAllPostGamePanels();
}
void OnDestroy()
@@ -59,6 +60,10 @@ public class GameCanvas : MonoBehaviour
public float emojiEmoteDuration = 5f;
bool isShowingEmotes=> emotesPanel.gameObject.activeSelf;
public RectTransform kickWarning;
public GameObject[] postGamePanels;
public TMP_Text txtMatchNumber;
const float PostGamePanelDuration = 3f;
void Start(){
@@ -91,6 +96,9 @@ public class GameCanvas : MonoBehaviour
if (txtRcPrize != null)
txtRcPrize.text = CoinHelper.FormatString(GameManager.MatchRcPrizeCoins) + " RC";
if (txtMatchNumber != null && GameManager.DedicatedMatchId > 0)
txtMatchNumber.text = "M" + GameManager.DedicatedMatchId;
}
void OnEmoteTextPressed(string txtName){
@@ -164,13 +172,36 @@ public class GameCanvas : MonoBehaviour
}
void OnLeaveGamePressed()
{
if (MessageBoxDialog.IsAvailable)
{
MessageBoxDialog.Show(
"Forfeit match?",
"Leaving will result in a loss, making opponent the winner. Are you sure?",
confirmed =>
{
if (confirmed)
ConfirmLeaveMatch();
});
return;
}
ConfirmLeaveMatch();
}
void ConfirmLeaveMatch()
{
if (CupidLobby.instance != null)
CupidLobby.instance.Cancel();
LoginManager.ClearMatchYourTeam();
NetManager.StopNetworkingForSceneChange();
if (GameManager.instance != null)
{
GameManager.instance.Leave();
return;
}
NetManager.StopNetworkingForSceneChange();
LevelLoadManager.LoadLevel("MainMenu");
}
@@ -299,4 +330,44 @@ public class GameCanvas : MonoBehaviour
timeoutForOpponentPanel.SetActive(false);
}
public void ShowKickWarning(){
kickWarning.transform.localScale = new Vector3(0, 0, 0);
kickWarning.transform.DOScale(1, 0.2f).SetEase(Ease.OutBack);
kickWarning.gameObject.SetActive(true);
}
public void HideKickWarning(){
kickWarning.transform.DOScale(0, 0.2f).SetEase(Ease.InBack).OnComplete(() => {
kickWarning.gameObject.SetActive(false);
});
}
public IEnumerator ShowRandomPostGamePanelThenHide()
{
HideAllPostGamePanels();
if (postGamePanels == null || postGamePanels.Length == 0)
yield break;
GameObject chosen = postGamePanels[Random.Range(0, postGamePanels.Length)];
if (chosen == null)
yield break;
chosen.SetActive(true);
yield return new WaitForSeconds(PostGamePanelDuration);
chosen.SetActive(false);
}
void HideAllPostGamePanels()
{
if (postGamePanels == null)
return;
for (int i = 0; i < postGamePanels.Length; i++)
{
if (postGamePanels[i] != null)
postGamePanels[i].SetActive(false);
}
}
}
File diff suppressed because it is too large Load Diff
+21 -3
View File
@@ -56,7 +56,7 @@ public class GameOverCanvas : MonoBehaviour
public Button btnBetLimitAdjustCancel;
const string PersonalBetLimitPrefsKey = "WalkInvest.PersonalBetLimit";
const int BetLimitMin = 2;
const int BetLimitMin = 8;
const int BetLimitMax = 500;
const int BetLimitUnlimited = 500;
@@ -455,8 +455,10 @@ public class GameOverCanvas : MonoBehaviour
yield return new WaitForSeconds(scaleTime * 0.5f);
//Rewards
float ccReward = GameTutorialManager.tutorialModeEnabled ? 0f : 100f;
// Rewards — +CC only if this client was actually awarded it (connected non-forfeit, or forfeit winner)
float ccReward = GameTutorialManager.tutorialModeEnabled || !GameManager.LocalPlayerEarnedParticipationCc
? 0f
: GameManager.ParticipationCcAmount;
StartCoroutine(CoroutineSetTextNumber(rcPrize, txtRewardRC, 10, "N1", "+", " RC"));
StartCoroutine(CoroutineSetTextNumber(ccReward, txtRewardCC, 100, "N0", "+", " CC"));
@@ -533,6 +535,22 @@ public class GameOverCanvas : MonoBehaviour
countdownCoroutine = StartCoroutine(CoroutineCountdown());
}
public void OnRematchFailed(string errorMessage)
{
btnRematch.interactable = true;
btnLeave.interactable = true;
if (rematchWarningLoser != null)
rematchWarningLoser.text = "Rematch failed.";
StartCoroutine(CoroutineHideRematchPanel());
if (countdownCoroutine != null)
StopCoroutine(countdownCoroutine);
countdownCoroutine = StartCoroutine(CoroutineCountdown());
string body = string.IsNullOrEmpty(errorMessage) ? "Could not start a rematch." : errorMessage;
MessageBoxDialog.Show("Rematch failed", body);
}
IEnumerator CoroutineHideRematchPanel(){
rematchPopup.DOScale(0, 0.2f).SetEase(Ease.InBack);
yield return new WaitForSeconds(0.2f);
+57 -2
View File
@@ -10,6 +10,8 @@ public class GameTutorialManager : MonoBehaviour
{
public const string CpuOpponentName = "CPU";
public const string DefaultGameSceneName = "Game";
public const string CpuL10PrefsKey = "practice_cpu_l10";
const int L10Window = 10;
public static bool tutorialModeTrigger = false;
public bool isTutorial = false;
@@ -30,6 +32,15 @@ public class GameTutorialManager : MonoBehaviour
void Awake()
{
#if UNITY_SERVER
tutorialModeEnabled = false;
tutorialModeTrigger = false;
HideIntroImmediate(intro_shoot);
HideIntroImmediate(intro_goal);
enabled = false;
return;
#endif
tutorialModeEnabled = false;
if (isTutorial)
tutorialModeTrigger = true;
@@ -232,14 +243,58 @@ public class GameTutorialManager : MonoBehaviour
public static MatchmadePlayer CreateCpuOpponent()
{
GetCpuL10(out int wins, out int losses);
return new MatchmadePlayer
{
Name = CpuOpponentName,
l10_wins = 10,
l10_losses = 0
l10_wins = wins,
l10_losses = losses
};
}
public static void GetCpuL10(out int wins, out int losses)
{
CountL10(PlayerPrefs.GetString(CpuL10PrefsKey, string.Empty), out wins, out losses);
}
public static void ApplyCpuL10(MatchmadePlayer cpu)
{
if (cpu == null)
return;
GetCpuL10(out int wins, out int losses);
cpu.l10_wins = wins;
cpu.l10_losses = losses;
}
/// <summary>
/// Records one practice result from the CPU's perspective (rolling last 10).
/// Cleared on logout because <see cref="LoginManager.Logout"/> calls PlayerPrefs.DeleteAll.
/// </summary>
public static void RecordCpuL10Result(bool cpuWon)
{
string history = PlayerPrefs.GetString(CpuL10PrefsKey, string.Empty) ?? string.Empty;
history += cpuWon ? 'W' : 'L';
if (history.Length > L10Window)
history = history.Substring(history.Length - L10Window);
PlayerPrefs.SetString(CpuL10PrefsKey, history);
PlayerPrefs.Save();
}
static void CountL10(string history, out int wins, out int losses)
{
wins = 0;
losses = 0;
if (string.IsNullOrEmpty(history))
return;
for (int i = 0; i < history.Length; i++)
{
if (history[i] == 'W')
wins++;
else if (history[i] == 'L')
losses++;
}
}
public static MatchmadePlayer CreateMyPlayerFromUser(UserData user)
{
return new MatchmadePlayer
+6
View File
@@ -20,6 +20,8 @@ public class Goal : NetworkBehaviour
void OnTriggerEnter2D(Collider2D collision)
{
if(!isServer){return;}
if(GameManager.instance != null && GameManager.instance.AreResetCollisionsDisabled)
return;
if(collision.gameObject.CompareTag("Player")){
if(GameManager.instance == null || !GameManager.instance.CanProcessGoal){
@@ -30,6 +32,8 @@ public class Goal : NetworkBehaviour
Debug.Log(ball.name);
GameManager.instance.OnGoal(team);
}else if(collision.gameObject.CompareTag("Puck")){
if(GameManager.instance == null || !GameManager.instance.CanProcessGoal)
return;
Debug.Log("Puck goal", gameObject);
Puck puck = collision.gameObject.GetComponent<Puck>();
Debug.Log(puck.name);
@@ -42,6 +46,8 @@ public class Goal : NetworkBehaviour
if(!isServer){return;}
if(collision.gameObject.CompareTag("Puck")){
if(GameManager.instance != null && GameManager.instance.AreResetCollisionsDisabled)
return;
Debug.Log("Puck exit goal", gameObject);
Puck puck = collision.gameObject.GetComponent<Puck>();
Debug.Log(puck.name);
+226 -25
View File
@@ -21,6 +21,7 @@ public class LoginManager : MonoBehaviour
const int MAX_USERNAME_LENGTH = 16;
const int MIN_PASSWORD_LENGTH = 8;
const int MAX_PASSWORD_LENGTH = 20;
const int ShortAuthMessageMaxLength = 36;
[Header("Login")]
[SerializeField] private TMP_InputField usernameInputLogin;
@@ -33,9 +34,6 @@ public class LoginManager : MonoBehaviour
[SerializeField] private TMP_InputField passwordInputRegister;
[SerializeField] private Button btnRegister;
[Header("UI")]
[SerializeField] private TMP_Text error_txt;
[Header("Server messages (GET /table_settings, no auth)")]
[Header("Update")]
[SerializeField] private GameObject serverUpdatePanel;
@@ -53,7 +51,14 @@ public class LoginManager : MonoBehaviour
[SerializeField] private TMP_Text serverWarningMessageTxt;
[SerializeField] private Button btnWarningClose;
const float KeepaliveIntervalSeconds = 10f;
bool _authInProgress;
Coroutine _keepaliveRoutine;
bool _appPaused;
bool _appFocused = true;
bool _handlingKeepaliveUnauthorized;
string _pendingAuthMessage;
public static string AuthToken { get; private set; }
@@ -104,19 +109,27 @@ public class LoginManager : MonoBehaviour
void Awake()
{
error_txt.text = "";
HideServerMessagePanels();
AuthToken = PlayerPrefs.GetString(PlayerPrefsAuthKey, "");
if(instance !=null){
Destroy(gameObject);
return;
if (instance != null && instance != this)
{
instance.StopKeepalive();
SceneManager.sceneLoaded -= instance.OnSceneLoaded;
Destroy(instance.gameObject);
}
instance = this;
DontDestroyOnLoad(gameObject);
SceneManager.sceneLoaded += OnSceneLoaded;
AuthToken = PlayerPrefs.GetString(PlayerPrefsAuthKey, "");
if (string.IsNullOrEmpty(AuthToken))
ClearLocalUserProfile();
#if !UNITY_EDITOR
else
StartKeepalive();
#endif
}
void Start()
@@ -139,13 +152,16 @@ public class LoginManager : MonoBehaviour
if (!mayContinue)
{
// Blocked by update or error panel — keep login UI disabled.
// Blocked by update or error panel — keep login UI disabled, but hold the session.
if (!string.IsNullOrEmpty(AuthToken))
StartKeepalive();
SetBusy(false);
yield break;
}
#if UNITY_EDITOR
// Dev: log in with clone-aware credentials instead of resuming a saved session.
StopKeepalive();
AuthToken = "";
PlayerPrefs.DeleteKey(PlayerPrefsAuthKey);
PlayerPrefs.Save();
@@ -161,7 +177,10 @@ public class LoginManager : MonoBehaviour
SetBusy(false);
#else
if (!string.IsNullOrEmpty(AuthToken))
{
StartKeepalive();
yield return StartCoroutine(ResumeSessionCoroutine());
}
else
SetBusy(false);
#endif
@@ -201,8 +220,7 @@ public class LoginManager : MonoBehaviour
else
{
InvalidateStoredSession();
if (error_txt != null)
error_txt.text = string.IsNullOrEmpty(errMsg) ? "Session expired. Please sign in again." : errMsg;
ShowAuthMessage(string.IsNullOrEmpty(errMsg) ? "Session expired. Please sign in again." : errMsg);
}
SetBusy(false);
@@ -217,6 +235,8 @@ public class LoginManager : MonoBehaviour
/// <summary>Removes auth token from memory and disk and clears cached profile (login screen recovery).</summary>
static void InvalidateStoredSession()
{
if (instance != null)
instance.StopKeepalive();
AuthToken = "";
ClearLocalUserProfile();
ClearMatchYourTeam();
@@ -224,6 +244,31 @@ public class LoginManager : MonoBehaviour
PlayerPrefs.Save();
}
/// <summary>Clears session state and all PlayerPrefs (full logout).</summary>
public static void Logout()
{
if (instance != null)
instance.StopKeepalive();
AuthToken = "";
ClearLocalUserProfile();
ClearMatchYourTeam();
OnUserDataUpdated = null;
Cupid.ClearSession();
CupidLobby.ClearUsername();
GameManager.ClearMatchSession();
NetPlayer.RedPlayer = null;
NetPlayer.BluePlayer = null;
PlayerPrefs.DeleteAll();
PlayerPrefs.Save();
}
/// <summary>Full logout, then reload the login scene so a fresh <see cref="LoginManager"/> can bind UI.</summary>
public static void LogoutAndReturnToLogin()
{
Logout();
SceneManager.LoadScene(0);
}
static void ProceedToMainMenu()
{
if (LevelLoadManager.instance != null)
@@ -239,27 +284,62 @@ public class LoginManager : MonoBehaviour
if (btnRegister != null) btnRegister.interactable = !busy;
}
void ShowAuthMessage(string message)
{
if (string.IsNullOrEmpty(message))
return;
if (MessageBoxDialog.instance == null)
{
_pendingAuthMessage = message;
return;
}
_pendingAuthMessage = null;
if (message.Length <= ShortAuthMessageMaxLength)
MessageBoxDialog.instance.ShowMessageBox(message);
else
MessageBoxDialog.instance.ShowMessageBox("Error", message);
}
void HideAuthMessage()
{
if (MessageBoxDialog.instance != null)
MessageBoxDialog.instance.HideMessageBox();
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
if (string.IsNullOrEmpty(_pendingAuthMessage) || MessageBoxDialog.instance == null)
return;
string message = _pendingAuthMessage;
_pendingAuthMessage = null;
ShowAuthMessage(message);
}
void OnLogin()
{
if (_authInProgress) return;
if (_keepaliveRoutine != null && !string.IsNullOrEmpty(AuthToken)) return;
string username = usernameInputLogin.text;
string password = passwordInputLogin.text;
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
{
error_txt.text = "Please fill in all fields";
ShowAuthMessage("Please fill in all fields");
return;
}
if (username.Length < MIN_USERNAME_LENGTH || username.Length > MAX_USERNAME_LENGTH)
{
error_txt.text = "Username must be between " + MIN_USERNAME_LENGTH + " and " + MAX_USERNAME_LENGTH + " characters";
ShowAuthMessage("Username must be between " + MIN_USERNAME_LENGTH + " and " + MAX_USERNAME_LENGTH + " characters");
return;
}
if (password.Length < MIN_PASSWORD_LENGTH || password.Length > MAX_PASSWORD_LENGTH)
{
error_txt.text = "Password must be between " + MIN_PASSWORD_LENGTH + " and " + MAX_PASSWORD_LENGTH + " characters";
ShowAuthMessage("Password must be between " + MIN_PASSWORD_LENGTH + " and " + MAX_PASSWORD_LENGTH + " characters");
return;
}
@@ -270,32 +350,33 @@ public class LoginManager : MonoBehaviour
void OnRegister()
{
if (_authInProgress) return;
if (_keepaliveRoutine != null && !string.IsNullOrEmpty(AuthToken)) return;
string username = usernameInputRegister.text;
string email = emailInputRegister != null ? emailInputRegister.text : "";
string password = passwordInputRegister.text;
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password))
{
error_txt.text = "Please fill in all fields";
ShowAuthMessage("Please fill in all fields");
return;
}
email = email.Trim().ToLowerInvariant();
if (!IsValidEmailFormat(email))
{
error_txt.text = "Please enter a valid email address";
ShowAuthMessage("Please enter a valid email address");
return;
}
if (username.Length < MIN_USERNAME_LENGTH || username.Length > MAX_USERNAME_LENGTH)
{
error_txt.text = "Username must be between " + MIN_USERNAME_LENGTH + " and " + MAX_USERNAME_LENGTH + " characters";
ShowAuthMessage("Username must be between " + MIN_USERNAME_LENGTH + " and " + MAX_USERNAME_LENGTH + " characters");
return;
}
if (password.Length < MIN_PASSWORD_LENGTH || password.Length > MAX_PASSWORD_LENGTH)
{
error_txt.text = "Password must be between " + MIN_PASSWORD_LENGTH + " and " + MAX_PASSWORD_LENGTH + " characters";
ShowAuthMessage("Password must be between " + MIN_PASSWORD_LENGTH + " and " + MAX_PASSWORD_LENGTH + " characters");
return;
}
@@ -338,7 +419,7 @@ public class LoginManager : MonoBehaviour
IEnumerator AuthPostCoroutine(string url, string jsonBody, string successMessage)
{
SetBusy(true);
error_txt.text = "";
HideAuthMessage();
ClearLocalUserProfile();
using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
@@ -355,14 +436,14 @@ public class LoginManager : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success &&
request.result != UnityWebRequest.Result.ProtocolError)
{
error_txt.text = string.IsNullOrEmpty(request.error) ? "Network error" : request.error;
ShowAuthMessage("Network Error, Please try again.");
SetBusy(false);
yield break;
}
if (string.IsNullOrEmpty(text))
{
error_txt.text = "Empty response from server";
ShowAuthMessage("Empty response from server");
SetBusy(false);
yield break;
}
@@ -374,6 +455,7 @@ public class LoginManager : MonoBehaviour
AuthToken = resp.token;
PlayerPrefs.SetString(PlayerPrefsAuthKey, resp.token);
PlayerPrefs.Save();
StartKeepalive();
bool profileOk = false;
string profileErr = null;
@@ -385,14 +467,14 @@ public class LoginManager : MonoBehaviour
if (profileOk)
ProceedToMainMenu();
else if (error_txt != null)
error_txt.text = string.IsNullOrEmpty(profileErr)
else
ShowAuthMessage(string.IsNullOrEmpty(profileErr)
? "Signed in but could not load your profile. Check your connection and try again."
: profileErr;
: profileErr);
}
else
{
error_txt.text = string.IsNullOrEmpty(resp.error) ? "Request failed" : resp.error;
ShowAuthMessage("Login failed. Please try again.");
}
}
@@ -799,4 +881,123 @@ public class LoginManager : MonoBehaviour
}
}
bool IsAppInForeground => !_appPaused && _appFocused;
void OnApplicationPause(bool paused)
{
_appPaused = paused;
}
void OnApplicationFocus(bool hasFocus)
{
_appFocused = hasFocus;
}
void OnDestroy()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
StopKeepalive();
if (instance == this)
instance = null;
}
void StartKeepalive()
{
if (string.IsNullOrEmpty(AuthToken)) return;
if (_keepaliveRoutine != null) return;
_handlingKeepaliveUnauthorized = false;
_keepaliveRoutine = StartCoroutine(KeepaliveLoopCoroutine());
}
void StopKeepalive()
{
if (_keepaliveRoutine == null) return;
StopCoroutine(_keepaliveRoutine);
_keepaliveRoutine = null;
}
IEnumerator KeepaliveLoopCoroutine()
{
while (!string.IsNullOrEmpty(AuthToken))
{
while (!IsAppInForeground && !string.IsNullOrEmpty(AuthToken))
yield return null;
if (string.IsNullOrEmpty(AuthToken))
break;
yield return KeepalivePingCoroutine();
if (string.IsNullOrEmpty(AuthToken))
break;
float elapsed = 0f;
while (elapsed < KeepaliveIntervalSeconds && !string.IsNullOrEmpty(AuthToken))
{
if (!IsAppInForeground)
{
while (!IsAppInForeground && !string.IsNullOrEmpty(AuthToken))
yield return null;
break;
}
elapsed += Time.unscaledDeltaTime;
yield return null;
}
}
_keepaliveRoutine = null;
}
IEnumerator KeepalivePingCoroutine()
{
if (string.IsNullOrEmpty(AuthToken))
yield break;
string url = AuthBaseUrl + "/auth/keepalive";
using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
{
request.uploadHandler = new UploadHandlerRaw(Array.Empty<byte>());
request.downloadHandler = new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("Authorization", "Bearer " + AuthToken);
yield return request.SendWebRequest();
if (request.responseCode == 401)
{
string text = request.downloadHandler != null ? request.downloadHandler.text : "";
string err = "Session expired. Please sign in again.";
if (!string.IsNullOrEmpty(text))
{
AuthApiResponse resp = JsonUtility.FromJson<AuthApiResponse>(text);
if (resp != null && !string.IsNullOrEmpty(resp.error))
err = resp.error;
}
HandleKeepaliveUnauthorized(err);
yield break;
}
if (request.result != UnityWebRequest.Result.Success &&
request.result != UnityWebRequest.Result.ProtocolError)
{
Logger.Log("auth/keepalive network error: " + (string.IsNullOrEmpty(request.error) ? "Network error" : request.error));
yield break;
}
if (request.responseCode < 200 || request.responseCode >= 300)
Logger.Log("auth/keepalive failed: HTTP " + request.responseCode);
}
}
void HandleKeepaliveUnauthorized(string message)
{
if (_handlingKeepaliveUnauthorized) return;
_handlingKeepaliveUnauthorized = true;
SetBusy(false);
ShowAuthMessage(string.IsNullOrEmpty(message) ? "Session expired. Please sign in again." : message);
LogoutAndReturnToLogin();
}
}
+142 -30
View File
@@ -47,6 +47,14 @@ public class MainMenuManager : MonoBehaviour
public TMP_Text txtWithdrawStatus;
private bool isCoinBuyInProgress;
[Header("Settings")]
public ProfileInfoFetcher profileInfoFetcher;
public TMP_Text txtUsername;
public TMP_Text txtEmail;
public TMP_Text txtAge,txtMatches,txtWinRatio;
public TMP_Text txtId;
public Button btnLogout;
[Header("Audio")]
public ToggleButton toggleSfx;
public ToggleButton toggleMusic;
@@ -77,6 +85,7 @@ public class MainMenuManager : MonoBehaviour
if (success)
{
OnUserUpdated(user);
RefreshSettingsProfile();
}
else
{
@@ -87,6 +96,8 @@ public class MainMenuManager : MonoBehaviour
}
});
RefreshSettingsProfile();
btnBuyUsd5.onClick.AddListener(() => OnBuy(RcPack.Usd5));
btnBuyUsd20.onClick.AddListener(() => OnBuy(RcPack.Usd20));
btnBuyUsd50.onClick.AddListener(() => OnBuy(RcPack.Usd50));
@@ -97,7 +108,11 @@ public class MainMenuManager : MonoBehaviour
inputCryptoAddress.onValueChanged.AddListener(OnCryptoAddressChanged);
}
UpdateWithdrawalStatus();
if (txtWithdrawStatus != null)
txtWithdrawStatus.gameObject.SetActive(false);
if (btnWithdrawal != null)
btnWithdrawal.onClick.AddListener(OnWithdrawalPressed);
if (btnPaste != null)
btnPaste.onClick.AddListener(OnPasteFromClipboard);
@@ -112,6 +127,9 @@ public class MainMenuManager : MonoBehaviour
toggleSfx.SetIsOn(AudioManager.instance.IsSFXOn());
toggleMusic.SetIsOn(AudioManager.instance.IsMusicOn());
if (btnLogout != null)
btnLogout.onClick.AddListener(OnLogout);
if (!LevelLoadManager.BlocksMainMenuSettingsBootstrap)
StartCoroutine(CoBootstrapSettingsWithoutLoader());
}
@@ -122,6 +140,33 @@ public class MainMenuManager : MonoBehaviour
toggleMusic.onToggleValueChanged.RemoveListener(OnToggleMusic);
if (btnTutorial != null && btnTutorial != btnPlay)
btnTutorial.onClick.RemoveListener(OnPlayTutorial);
if (btnLogout != null)
btnLogout.onClick.RemoveListener(OnLogout);
if (btnWithdrawal != null)
btnWithdrawal.onClick.RemoveListener(OnWithdrawalPressed);
}
void OnLogout()
{
if (MessageBoxDialog.IsAvailable)
{
MessageBoxDialog.Show(
"Log out?",
"You will need to sign in again to play.",
confirmed =>
{
if (confirmed)
ConfirmLogout();
});
return;
}
ConfirmLogout();
}
void ConfirmLogout()
{
LoginManager.LogoutAndReturnToLogin();
}
void OnToggleSfx(bool isOn)
@@ -143,7 +188,17 @@ public class MainMenuManager : MonoBehaviour
}
if (LoginManager.CurrentUser.rc < _matchEntryFeeCoins)
{
Debug.LogError("Not enough RC to play");
string fee = CoinHelper.FormatString(_matchEntryFeeCoins) + " RC";
if (MessageBoxDialog.IsAvailable)
{
MessageBoxDialog.Show(
"Not enough RC",
"You need " + fee + " to play. Buy more RC and try again.");
}
else
{
Debug.LogError("Not enough RC to play");
}
return;
}
if (CupidLobby.instance == null)
@@ -184,33 +239,52 @@ public class MainMenuManager : MonoBehaviour
{
PlayerPrefs.SetString(CryptoAddressPrefsKey, value ?? string.Empty);
PlayerPrefs.Save();
UpdateWithdrawalStatus();
}
void UpdateWithdrawalStatus(UserData user = null)
void OnWithdrawalPressed()
{
if (txtWithdrawStatus == null)
return;
UserData u = user ?? LoginManager.CurrentUser;
if (u == null)
UserData user = LoginManager.CurrentUser;
if (user == null)
{
ShowWithdrawalMessage("Could not load your profile. Try again.", false);
return;
}
if (inputCryptoAddress != null && string.IsNullOrWhiteSpace(inputCryptoAddress.text))
{
txtWithdrawStatus.text = "Enter a valid wallet address to withdraw safely.";
ShowWithdrawalMessage("Enter a valid wallet address to withdraw safely.", true);
return;
}
if (u.rc < MinimumWithdrawalRcCoins)
if (user.rc < MinimumWithdrawalRcCoins)
{
txtWithdrawStatus.text = "Your RC balance is below the minimum withdrawal amount ($20 USD / 20.0 RC).";
ShowWithdrawalMessage("Your RC balance is below the minimum withdrawal amount ($20 USD / 20.0 RC).", false);
return;
}
if (u.cc < WithdrawalFeeCc)
if (user.cc < WithdrawalFeeCc)
{
txtWithdrawStatus.text = "Withdrawal costs 500 CC. Your CC balance is below 500 CC.";
ShowWithdrawalMessage("Withdrawal costs 500 CC. Your CC balance is below 500 CC.", false);
return;
}
txtWithdrawStatus.text = string.Empty;
}
void ShowWithdrawalMessage(string message, bool basic)
{
if (MessageBoxDialog.IsAvailable)
{
if (basic)
MessageBoxDialog.ShowBasic(message);
else
MessageBoxDialog.Show("Can't withdraw", message);
return;
}
if (txtWithdrawStatus != null)
{
txtWithdrawStatus.gameObject.SetActive(true);
txtWithdrawStatus.text = message;
}
}
void OnPasteFromClipboard()
@@ -263,18 +337,10 @@ public class MainMenuManager : MonoBehaviour
ccText.text = user.cc.ToString("N0") + " CC";
rcText.text = CoinHelper.FormatString(user.rc) + " RC";
if (LoginManager.CurrentUser.rc < _matchEntryFeeCoins)
{
rcPlayText.text = "Not enough RC to play";
btnPlay.interactable = false;
}
else
{
if (rcPlayText != null)
rcPlayText.text = "";
if (btnPlay != null)
btnPlay.interactable = true;
}
UpdateWithdrawalStatus(user);
}
/// <summary>Called by <see cref="LevelLoadManager"/> so the loading overlay stays until matchmaker settings are refreshed.</summary>
@@ -334,8 +400,18 @@ public class MainMenuManager : MonoBehaviour
}
void SetStatsPanelVisible(bool visible)
{
if (statsPanel == null)
return;
statsPanel.SetActive(visible);
Transform topPanel = statsPanel.transform.parent;
if (topPanel != null)
topPanel.gameObject.SetActive(visible);
}
public void ShowMainMenuScreen(){
statsPanel.SetActive(true);
SetStatsPanelVisible(true);
mainMenuScreen.SetActive(true);
gameModesScreen.SetActive(false);
dummyBuyScreen.SetActive(false);
@@ -344,7 +420,7 @@ public class MainMenuManager : MonoBehaviour
}
public void ShowGameModesScreen(){
statsPanel.SetActive(true);
SetStatsPanelVisible(true);
mainMenuScreen.SetActive(false);
gameModesScreen.SetActive(true);
dummyBuyScreen.SetActive(false);
@@ -353,7 +429,7 @@ public class MainMenuManager : MonoBehaviour
}
public void ShowDummyBuyScreen(){
statsPanel.SetActive(false);
SetStatsPanelVisible(false);
mainMenuScreen.SetActive(false);
gameModesScreen.SetActive(false);
dummyBuyScreen.SetActive(true);
@@ -362,22 +438,58 @@ public class MainMenuManager : MonoBehaviour
}
public void ShowWithdrawalScreen(){
statsPanel.SetActive(false);
SetStatsPanelVisible(false);
mainMenuScreen.SetActive(false);
gameModesScreen.SetActive(false);
dummyBuyScreen.SetActive(false);
withdrawalScreen.SetActive(true);
settingsScreen.SetActive(false);
UpdateWithdrawalStatus();
}
public void ShowSettingsScreen(){
statsPanel.SetActive(false);
SetStatsPanelVisible(false);
mainMenuScreen.SetActive(false);
gameModesScreen.SetActive(false);
dummyBuyScreen.SetActive(false);
withdrawalScreen.SetActive(false);
settingsScreen.SetActive(true);
RefreshSettingsProfile();
}
void RefreshSettingsProfile()
{
if (profileInfoFetcher == null)
return;
UserData user = LoginManager.CurrentUser;
if (user == null)
return;
profileInfoFetcher.GetPlayerProfile(user.id, (success, error, profile) =>
{
if (!success || profile == null)
{
Debug.LogWarning("Settings profile fetch failed: " + (error ?? "unknown"));
return;
}
ApplySettingsProfile(profile);
});
}
void ApplySettingsProfile(PlayerProfileApiResponse profile)
{
if (txtUsername != null)
txtUsername.text = profile.username ?? "";
if (txtEmail != null)
txtEmail.text = profile.email ?? "";
if (txtId != null)
txtId.text = profile.player_id.ToString();
if (txtAge != null)
txtAge.text = profile.days_since_registration.ToString();
if (txtMatches != null)
txtMatches.text = profile.matches_played.ToString();
if (txtWinRatio != null)
txtWinRatio.text = (profile.win_ratio * 100f).ToString("0.#") + "%";
}
}
+7
View File
@@ -89,6 +89,13 @@ public class NetManager : NetworkManager
public override void OnServerDisconnect(NetworkConnectionToClient conn)
{
if (conn != null && conn.identity != null)
{
var netPlayer = conn.identity.GetComponent<NetPlayer>();
if (netPlayer != null && GameManager.instance != null)
GameManager.instance.OnDedicatedMatchPlayerDisconnected(netPlayer.myTeam);
}
if (conn != null)
Logger.Log($"Mirror server: client disconnected (connId={conn.connectionId})");
base.OnServerDisconnect(conn);
+17
View File
@@ -486,6 +486,14 @@ public class NetPlayer : NetworkBehaviour
Logger.Log(matchmadeResponseString);
StartCoroutine(CoroutineOnRematchConfirmedServer());
}
else
{
string error = string.IsNullOrEmpty(resp.ErrorMessage)
? "Could not start a rematch."
: resp.ErrorMessage;
Logger.Log("Rematch failed: " + error);
RpcRematchFailed(error);
}
}
IEnumerator CoroutineOnRematchConfirmedServer(){
@@ -545,6 +553,15 @@ public class NetPlayer : NetworkBehaviour
LevelLoadManager.instance.Leave("Game");
}
[ClientRpc]
void RpcRematchFailed(string errorMessage)
{
if (GameOverCanvas.instance != null)
GameOverCanvas.instance.OnRematchFailed(errorMessage);
else
MessageBoxDialog.Show("Rematch failed", string.IsNullOrEmpty(errorMessage) ? "Could not start a rematch." : errorMessage);
}
void OnRematchCancelledServer(){
if(!isServer){ return; }
+56
View File
@@ -0,0 +1,56 @@
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
public class ProfileInfoFetcher : MonoBehaviour
{
/// <summary>GET /players/:playerId/profile. Callback (success, errorOrNull, profileOrNull).</summary>
public void GetPlayerProfile(int playerId, Action<bool, string, PlayerProfileApiResponse> onComplete)
{
StartCoroutine(FetchPlayerProfileCoroutine(playerId, onComplete));
}
IEnumerator FetchPlayerProfileCoroutine(int playerId, Action<bool, string, PlayerProfileApiResponse> onComplete)
{
string url = LoginManager.AuthBaseUrl + "/players/" + playerId + "/profile";
using (var request = UnityWebRequest.Get(url))
{
request.downloadHandler = new DownloadHandlerBuffer();
if (!string.IsNullOrEmpty(LoginManager.AuthToken))
request.SetRequestHeader("Authorization", "Bearer " + LoginManager.AuthToken);
yield return request.SendWebRequest();
string text = request.downloadHandler != null ? request.downloadHandler.text : "";
if (request.result != UnityWebRequest.Result.Success &&
request.result != UnityWebRequest.Result.ProtocolError)
{
onComplete?.Invoke(false, string.IsNullOrEmpty(request.error) ? "Network error" : request.error, null);
yield break;
}
if (request.responseCode < 200 || request.responseCode >= 300)
{
onComplete?.Invoke(false, string.IsNullOrEmpty(text) ? "Request failed (" + request.responseCode + ")" : text, null);
yield break;
}
if (string.IsNullOrEmpty(text))
{
onComplete?.Invoke(false, "Empty response from server", null);
yield break;
}
PlayerProfileApiResponse resp = JsonUtility.FromJson<PlayerProfileApiResponse>(text);
if (resp != null && resp.ok)
onComplete?.Invoke(true, null, resp);
else
{
string err = resp != null && !string.IsNullOrEmpty(resp.error) ? resp.error : "Request failed";
onComplete?.Invoke(false, err, null);
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5e6e403cd7bcf0149bad56dbad78c302
+74 -4
View File
@@ -6,6 +6,7 @@ using UnityEngine.EventSystems;
public class Puck : NetworkBehaviour
{
[HideInInspector]public Rigidbody2D rb;
Collider2D col;
[SyncVar]
public bool isSelected;
public LineRenderer lineRenderer;
@@ -30,6 +31,7 @@ public class Puck : NetworkBehaviour
UpdateTeam();
markerStartScale = selectedMarker.localScale;
rb=GetComponent<Rigidbody2D>();
col = GetComponent<Collider2D>();
startPosition = transform.position;
}
@@ -52,7 +54,9 @@ public class Puck : NetworkBehaviour
GameEvents.OnSelectedPuckChanged -= OnSelectedPuckChanged;
GameManager.OnTeamChanged -= OnTeamChanged;
GameManager.instance.DisposePuck(this);
RestoreAfterReset();
if (GameManager.instance != null)
GameManager.instance.DisposePuck(this);
}
public Vector3 lineEnd;
void Update()
@@ -146,27 +150,64 @@ public class Puck : NetworkBehaviour
AudioManager.instance.PlayPuckHit(vol);
}
Coroutine coroutineReset;
bool holdingCollisionLock;
public void Reset(Vector3? position = null, float duration = 0.5f)
{
UnscheduleReset();
Vector3 pos = position ?? startPosition;
StartCoroutine(CoroutineReset(pos, duration));
if (coroutineReset != null)
{
StopCoroutine(coroutineReset);
RestoreAfterReset();
}
coroutineReset = StartCoroutine(CoroutineReset(pos, duration));
}
public void SetCollisionsEnabled(bool enabled)
{
if (col != null)
col.enabled = enabled;
if (rb != null && !enabled)
{
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
}
}
Coroutine coroutineScheduleReset;
public void ScheduleReset(Vector3 position, float duration = 0.5f){
UnscheduleReset();
coroutineScheduleReset = StartCoroutine(CoroutineScheduleReset(position, duration));
}
public void UnscheduleReset(){
if(coroutineScheduleReset != null){
StopCoroutine(coroutineScheduleReset);
coroutineScheduleReset = null;
}
}
public void CancelInGoalReset()
{
UnscheduleReset();
if (coroutineReset != null)
{
StopCoroutine(coroutineReset);
RestoreAfterReset();
}
}
IEnumerator CoroutineScheduleReset(Vector3 position, float duration){
while(GameManager.isMoving){
if (GameManager.instance != null && !GameManager.instance.CanProcessGoal)
yield break;
yield return null;
}
if (GameManager.instance != null && !GameManager.instance.CanProcessGoal)
yield break;
coroutineScheduleReset = null;
Debug.Log("Resetting puck", gameObject);
Vector3 dir = position - transform.position;
Vector3 centerDir = Vector3.zero - transform.position;
@@ -188,15 +229,44 @@ public class Puck : NetworkBehaviour
}
IEnumerator CoroutineReset(Vector3 pos, float duration){
if (GameManager.instance != null)
{
GameManager.instance.PushResetCollisionLock();
holdingCollisionLock = true;
}
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
float t=0;
Vector3 pos1 = transform.position;
Quaternion rot1 = transform.rotation;
while(t<duration){
t+=Time.deltaTime;
transform.position = Vector3.Lerp(pos1, pos, t/duration);
transform.rotation = Quaternion.Lerp(rot1, Quaternion.identity, t/duration);
float u = Mathf.Clamp01(t/duration);
transform.position = Vector3.Lerp(pos1, pos, u);
transform.rotation = Quaternion.Lerp(rot1, Quaternion.identity, u);
yield return null;
}
transform.position = pos;
transform.rotation = Quaternion.identity;
RestoreAfterReset();
}
void RestoreAfterReset()
{
if (rb != null)
{
rb.linearVelocity = Vector2.zero;
rb.angularVelocity = 0f;
}
if (holdingCollisionLock && GameManager.instance != null)
{
GameManager.instance.PopResetCollisionLock();
holdingCollisionLock = false;
}
coroutineReset = null;
}
}
+1
View File
@@ -56,6 +56,7 @@ public class ServerAutoClose : MonoBehaviour
Logger.Log("All players left, exiting");
else
Logger.Log("No players joined, exiting");
// ReportDedicatedMatchRoomClosed settles /winner first when escrow is open.
GameManager.ReportDedicatedMatchRoomClosed();
Application.Quit();
}
+4 -2
View File
@@ -50,19 +50,21 @@ public class TutorialManagerMainMenu : MonoBehaviour
if(!forceShow){
if(PlayerPrefs.HasKey(TUTORIAL_PREF_KEY)){
tutorialPanel.SetActive(false);
Debug.Log("Tutorial pref key is available, stopping;");
return;
}
if(LoginManager.CurrentUser.rc > 0){
tutorialPanel.SetActive(false);
Debug.Log("User has rc, stopping;");
return;
}
}
tutorialPanel.SetActive(true);
screen1.SetActive(true);
PlayerPrefs.SetInt(TUTORIAL_PREF_KEY, 1);
PlayerPrefs.Save();
}
void OnNext1(){
+229
View File
@@ -0,0 +1,229 @@
using System;
using DG.Tweening;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MessageBoxDialog : MonoBehaviour
{
public const float ANIMATION_DURATION = 0.25f;
/// <summary>Above game/menu/loader canvases; below reconnect (500).</summary>
const int OverlaySortingOrder = 400;
public static MessageBoxDialog instance;
public static bool IsAvailable => instance != null;
public RectTransform dimmer;
public RectTransform basicMessageBox;
[Header("MessageBox")]
public RectTransform messageBox;
public TMP_Text txtTitle, txtMessage;
public Button btnOk, btnYes, btnNo;
Image dimmerImg;
TMP_Text basicMessageText;
Action<bool> onYesOrNo;
Sequence showHideSequence;
Canvas overlayCanvas;
void Awake()
{
if (instance != null && instance != this)
{
Destroy(gameObject);
return;
}
instance = this;
DontDestroyOnLoad(gameObject);
overlayCanvas = GetComponent<Canvas>();
if (overlayCanvas != null)
overlayCanvas.sortingOrder = OverlaySortingOrder;
if (dimmer != null)
dimmerImg = dimmer.GetComponent<Image>();
if (basicMessageBox != null)
basicMessageText = basicMessageBox.GetComponentInChildren<TMP_Text>();
}
void OnEnable()
{
if (instance != this)
return;
SceneManager.sceneLoaded += OnSceneLoaded;
}
void OnDisable()
{
if (instance != this)
return;
SceneManager.sceneLoaded -= OnSceneLoaded;
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
transform.SetAsLastSibling();
}
public static void ShowBasic(string title)
{
if (instance == null)
{
Debug.LogWarning("MessageBoxDialog missing: " + title);
return;
}
instance.ShowMessageBox(title);
}
public static void Show(string title, string message, Action<bool> onResult = null)
{
if (instance == null)
{
Debug.LogWarning("MessageBoxDialog missing: " + title);
return;
}
instance.ShowMessageBox(title, message, onResult);
}
void OnDestroy()
{
KillTweens();
if (instance == this)
instance = null;
}
void Start()
{
Button basicButton = basicMessageBox != null ? basicMessageBox.GetComponent<Button>() : null;
if (basicButton != null)
basicButton.onClick.AddListener(HideMessageBox);
if (btnOk != null)
btnOk.onClick.AddListener(HideMessageBox);
if (btnYes != null)
btnYes.onClick.AddListener(() => OnQuestionDialog(true));
if (btnNo != null)
btnNo.onClick.AddListener(() => OnQuestionDialog(false));
}
void OnQuestionDialog(bool val)
{
Action<bool> callback = onYesOrNo;
onYesOrNo = null;
HideMessageBox();
callback?.Invoke(val);
}
public void ShowMessageBox(string title)
{
PrepareShow();
HideBoxImmediate(messageBox);
if (basicMessageText != null)
basicMessageText.text = title;
AnimateIn(basicMessageBox);
}
public void ShowMessageBox(string title, string message, Action<bool> onResult = null)
{
PrepareShow();
HideBoxImmediate(basicMessageBox);
txtTitle.text = title;
txtMessage.text = message;
bool isQuestion = onResult != null;
btnNo.gameObject.SetActive(isQuestion);
btnYes.gameObject.SetActive(isQuestion);
btnOk.gameObject.SetActive(!isQuestion);
onYesOrNo = onResult;
AnimateIn(messageBox);
}
public void HideMessageBox()
{
bool basicActive = basicMessageBox != null && basicMessageBox.gameObject.activeSelf;
bool fullActive = messageBox != null && messageBox.gameObject.activeSelf;
if (!basicActive && !fullActive)
return;
if (basicActive && fullActive)
HideBoxImmediate(basicMessageBox);
AnimateOut(basicActive && !fullActive ? basicMessageBox : messageBox);
}
void PrepareShow()
{
KillTweens();
onYesOrNo = null;
transform.SetAsLastSibling();
dimmer.gameObject.SetActive(true);
if (dimmerImg != null)
{
Color c = dimmerImg.color;
dimmerImg.color = new Color(c.r, c.g, c.b, 0f);
}
}
void HideBoxImmediate(RectTransform box)
{
if (box == null)
return;
box.DOKill();
box.localScale = Vector3.zero;
box.gameObject.SetActive(false);
}
void AnimateIn(RectTransform box)
{
box.localScale = Vector3.zero;
box.gameObject.SetActive(true);
showHideSequence = DOTween.Sequence().SetUpdate(true);
if (dimmerImg != null)
showHideSequence.Join(dimmerImg.DOFade(0.8f, ANIMATION_DURATION));
showHideSequence.Join(box.DOScale(1f, ANIMATION_DURATION).SetEase(Ease.OutBack));
}
void AnimateOut(RectTransform box)
{
KillTweens();
RectTransform targetBox = box;
showHideSequence = DOTween.Sequence().SetUpdate(true);
if (dimmerImg != null)
showHideSequence.Join(dimmerImg.DOFade(0f, ANIMATION_DURATION));
showHideSequence.Join(targetBox.DOScale(0f, ANIMATION_DURATION).SetEase(Ease.InBack));
showHideSequence.OnComplete(() =>
{
if (targetBox != null)
targetBox.gameObject.SetActive(false);
if (dimmer != null)
dimmer.gameObject.SetActive(false);
});
}
void KillTweens()
{
if (showHideSequence != null && showHideSequence.IsActive())
showHideSequence.Kill();
showHideSequence = null;
if (dimmerImg != null)
dimmerImg.DOKill();
if (basicMessageBox != null)
basicMessageBox.DOKill();
if (messageBox != null)
messageBox.DOKill();
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c50f3cfa5a1c65b4c8b0a011d602717a
@@ -0,0 +1,14 @@
using System;
[Serializable]
public class PlayerProfileApiResponse
{
public bool ok;
public string error;
public int player_id;
public string username;
public string email;
public int days_since_registration;
public int matches_played;
public float win_ratio;
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: acfc3a6cd73c2234081774fcdc39082a
+3 -808
View File
@@ -20,820 +20,15 @@ MonoBehaviour:
rid: 1400252592429989960
m_OverrideGlobalSceneList: 1
m_Scenes:
- m_enabled: 1
m_path: Assets/Scenes/Intro.unity
- m_enabled: 1
m_path: Assets/Scenes/MainMenu.unity
- m_enabled: 1
m_path: Assets/Scenes/Game.unity
m_ScriptingDefines: []
m_PlayerSettingsYaml:
m_Settings:
- line: '| PlayerSettings:'
- line: '| m_ObjectHideFlags: 0'
- line: '| serializedVersion: 28'
- line: '| productGUID: 73659953e96de4447bb9eeb64c3da355'
- line: '| AndroidProfiler: 0'
- line: '| AndroidFilterTouchesWhenObscured: 0'
- line: '| AndroidEnableSustainedPerformanceMode: 0'
- line: '| defaultScreenOrientation: 4'
- line: '| targetDevice: 2'
- line: '| useOnDemandResources: 0'
- line: '| accelerometerFrequency: 60'
- line: '| companyName: Xperience'
- line: '| productName: WalkInvest_Soccer'
- line: '| defaultCursor: {instanceID: 0}'
- line: '| cursorHotspot: {x: 0, y: 0}'
- line: '| m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b:
0.1254902, a: 1}'
- line: '| m_ShowUnitySplashScreen: 1'
- line: '| m_ShowUnitySplashLogo: 1'
- line: '| m_SplashScreenOverlayOpacity: 1'
- line: '| m_SplashScreenAnimation: 1'
- line: '| m_SplashScreenLogoStyle: 1'
- line: '| m_SplashScreenDrawMode: 0'
- line: '| m_SplashScreenBackgroundAnimationZoom: 1'
- line: '| m_SplashScreenLogoAnimationZoom: 1'
- line: '| m_SplashScreenBackgroundLandscapeAspect: 1'
- line: '| m_SplashScreenBackgroundPortraitAspect: 1'
- line: '| m_SplashScreenBackgroundLandscapeUvs:'
- line: '| serializedVersion: 2'
- line: '| x: 0'
- line: '| y: 0'
- line: '| width: 1'
- line: '| height: 1'
- line: '| m_SplashScreenBackgroundPortraitUvs:'
- line: '| serializedVersion: 2'
- line: '| x: 0'
- line: '| y: 0'
- line: '| width: 1'
- line: '| height: 1'
- line: '| m_SplashScreenLogos: []'
- line: '| m_VirtualRealitySplashScreen: {instanceID: 0}'
- line: '| m_HolographicTrackingLossScreen: {instanceID: 0}'
- line: '| defaultScreenWidth: 1920'
- line: '| defaultScreenHeight: 1080'
- line: '| defaultScreenWidthWeb: 960'
- line: '| defaultScreenHeightWeb: 600'
- line: '| m_StereoRenderingPath: 0'
- line: '| m_ActiveColorSpace: 1'
- line: '| unsupportedMSAAFallback: 0'
- line: '| m_SpriteBatchMaxVertexCount: 65535'
- line: '| m_SpriteBatchVertexThreshold: 300'
- line: '| m_MTRendering: 1'
- line: '| mipStripping: 0'
- line: '| numberOfMipsStripped: 0'
- line: '| numberOfMipsStrippedPerMipmapLimitGroup: {}'
- line: '| m_StackTraceTypes: 010000000100000001000000010000000100000001000000'
- line: '| iosShowActivityIndicatorOnLoading: -1'
- line: '| androidShowActivityIndicatorOnLoading: -1'
- line: '| iosUseCustomAppBackgroundBehavior: 0'
- line: '| allowedAutorotateToPortrait: 1'
- line: '| allowedAutorotateToPortraitUpsideDown: 1'
- line: '| allowedAutorotateToLandscapeRight: 0'
- line: '| allowedAutorotateToLandscapeLeft: 0'
- line: '| useOSAutorotation: 1'
- line: '| use32BitDisplayBuffer: 1'
- line: '| preserveFramebufferAlpha: 0'
- line: '| disableDepthAndStencilBuffers: 0'
- line: '| androidStartInFullscreen: 1'
- line: '| androidRenderOutsideSafeArea: 1'
- line: '| androidUseSwappy: 1'
- line: '| androidBlitType: 0'
- line: '| androidResizeableActivity: 1'
- line: '| androidDefaultWindowWidth: 1920'
- line: '| androidDefaultWindowHeight: 1080'
- line: '| androidMinimumWindowWidth: 400'
- line: '| androidMinimumWindowHeight: 300'
- line: '| androidFullscreenMode: 1'
- line: '| androidAutoRotationBehavior: 1'
- line: '| androidPredictiveBackSupport: 0'
- line: '| androidApplicationEntry: 2'
- line: '| defaultIsNativeResolution: 1'
- line: '| macRetinaSupport: 1'
- line: '| runInBackground: 0'
- line: '| muteOtherAudioSources: 0'
- line: '| Prepare IOS For Recording: 0'
- line: '| Force IOS Speakers When Recording: 0'
- line: '| audioSpatialExperience: 0'
- line: '| deferSystemGesturesMode: 0'
- line: '| hideHomeButton: 0'
- line: '| submitAnalytics: 1'
- line: '| usePlayerLog: 1'
- line: '| dedicatedServerOptimizations: 1'
- line: '| bakeCollisionMeshes: 0'
- line: '| forceSingleInstance: 0'
- line: '| useFlipModelSwapchain: 1'
- line: '| resizableWindow: 0'
- line: '| useMacAppStoreValidation: 0'
- line: '| macAppStoreCategory: public.app-category.games'
- line: '| gpuSkinning: 0'
- line: '| meshDeformation: 0'
- line: '| xboxPIXTextureCapture: 0'
- line: '| xboxEnableAvatar: 0'
- line: '| xboxEnableKinect: 0'
- line: '| xboxEnableKinectAutoTracking: 0'
- line: '| xboxEnableFitness: 0'
- line: '| visibleInBackground: 1'
- line: '| allowFullscreenSwitch: 1'
- line: '| fullscreenMode: 1'
- line: '| xboxSpeechDB: 0'
- line: '| xboxEnableHeadOrientation: 0'
- line: '| xboxEnableGuest: 0'
- line: '| xboxEnablePIXSampling: 0'
- line: '| metalFramebufferOnly: 0'
- line: '| xboxOneResolution: 0'
- line: '| xboxOneSResolution: 0'
- line: '| xboxOneXResolution: 3'
- line: '| xboxOneMonoLoggingLevel: 0'
- line: '| xboxOneLoggingLevel: 1'
- line: '| xboxOneDisableEsram: 0'
- line: '| xboxOneEnableTypeOptimization: 0'
- line: '| xboxOnePresentImmediateThreshold: 0'
- line: '| switchQueueCommandMemory: 1048576'
- line: '| switchQueueControlMemory: 16384'
- line: '| switchQueueComputeMemory: 262144'
- line: '| switchNVNShaderPoolsGranularity: 33554432'
- line: '| switchNVNDefaultPoolsGranularity: 16777216'
- line: '| switchNVNOtherPoolsGranularity: 16777216'
- line: '| switchGpuScratchPoolGranularity: 2097152'
- line: '| switchAllowGpuScratchShrinking: 0'
- line: '| switchNVNMaxPublicTextureIDCount: 0'
- line: '| switchNVNMaxPublicSamplerIDCount: 0'
- line: '| switchMaxWorkerMultiple: 8'
- line: '| switchNVNGraphicsFirmwareMemory: 32'
- line: '| vulkanNumSwapchainBuffers: 3'
- line: '| vulkanEnableSetSRGBWrite: 0'
- line: '| vulkanEnablePreTransform: 0'
- line: '| vulkanEnableLateAcquireNextImage: 0'
- line: '| vulkanEnableCommandBufferRecycling: 1'
- line: '| loadStoreDebugModeEnabled: 0'
- line: '| visionOSBundleVersion: 1.0'
- line: '| tvOSBundleVersion: 1.0'
- line: '| bundleVersion: 0.4'
- line: '| preloadedAssets: []'
- line: '| metroInputSource: 0'
- line: '| wsaTransparentSwapchain: 0'
- line: '| m_HolographicPauseOnTrackingLoss: 1'
- line: '| xboxOneDisableKinectGpuReservation: 1'
- line: '| xboxOneEnable7thCore: 1'
- line: '| vrSettings:'
- line: '| enable360StereoCapture: 0'
- line: '| isWsaHolographicRemotingEnabled: 0'
- line: '| enableFrameTimingStats: 0'
- line: '| enableOpenGLProfilerGPURecorders: 1'
- line: '| allowHDRDisplaySupport: 0'
- line: '| useHDRDisplay: 0'
- line: '| hdrBitDepth: 0'
- line: '| m_ColorGamuts: 00000000'
- line: '| targetPixelDensity: 30'
- line: '| resolutionScalingMode: 0'
- line: '| resetResolutionOnWindowResize: 0'
- line: '| androidSupportedAspectRatio: 1'
- line: '| androidMaxAspectRatio: 2.4'
- line: '| androidMinAspectRatio: 1'
- line: '| applicationIdentifier:'
- line: '| Standalone: com.DefaultCompany.2D-URP'
- line: '| buildNumber:'
- line: '| Standalone: 0'
- line: '| VisionOS: 0'
- line: '| iPhone: 0'
- line: '| tvOS: 0'
- line: '| overrideDefaultApplicationIdentifier: 1'
- line: '| AndroidBundleVersionCode: 1'
- line: '| AndroidMinSdkVersion: 23'
- line: '| AndroidTargetSdkVersion: 0'
- line: '| AndroidPreferredInstallLocation: 1'
- line: '| aotOptions: '
- line: '| stripEngineCode: 1'
- line: '| iPhoneStrippingLevel: 0'
- line: '| iPhoneScriptCallOptimization: 0'
- line: '| ForceInternetPermission: 0'
- line: '| ForceSDCardPermission: 0'
- line: '| CreateWallpaper: 0'
- line: '| androidSplitApplicationBinary: 0'
- line: '| keepLoadedShadersAlive: 0'
- line: '| StripUnusedMeshComponents: 0'
- line: '| strictShaderVariantMatching: 0'
- line: '| VertexChannelCompressionMask: 4054'
- line: '| iPhoneSdkVersion: 988'
- line: '| iOSSimulatorArchitecture: 0'
- line: '| iOSTargetOSVersionString: 13.0'
- line: '| tvOSSdkVersion: 0'
- line: '| tvOSSimulatorArchitecture: 0'
- line: '| tvOSRequireExtendedGameController: 0'
- line: '| tvOSTargetOSVersionString: 13.0'
- line: '| VisionOSSdkVersion: 0'
- line: '| VisionOSTargetOSVersionString: 1.0'
- line: '| uIPrerenderedIcon: 0'
- line: '| uIRequiresPersistentWiFi: 0'
- line: '| uIRequiresFullScreen: 1'
- line: '| uIStatusBarHidden: 1'
- line: '| uIExitOnSuspend: 0'
- line: '| uIStatusBarStyle: 0'
- line: '| appleTVSplashScreen: {instanceID: 0}'
- line: '| appleTVSplashScreen2x: {instanceID: 0}'
- line: '| tvOSSmallIconLayers: []'
- line: '| tvOSSmallIconLayers2x: []'
- line: '| tvOSLargeIconLayers: []'
- line: '| tvOSLargeIconLayers2x: []'
- line: '| tvOSTopShelfImageLayers: []'
- line: '| tvOSTopShelfImageLayers2x: []'
- line: '| tvOSTopShelfImageWideLayers: []'
- line: '| tvOSTopShelfImageWideLayers2x: []'
- line: '| iOSLaunchScreenType: 0'
- line: '| iOSLaunchScreenPortrait: {instanceID: 0}'
- line: '| iOSLaunchScreenLandscape: {instanceID: 0}'
- line: '| iOSLaunchScreenBackgroundColor:'
- line: '| serializedVersion: 2'
- line: '| rgba: 0'
- line: '| iOSLaunchScreenFillPct: 100'
- line: '| iOSLaunchScreenSize: 100'
- line: '| iOSLaunchScreeniPadType: 0'
- line: '| iOSLaunchScreeniPadImage: {instanceID: 0}'
- line: '| iOSLaunchScreeniPadBackgroundColor:'
- line: '| serializedVersion: 2'
- line: '| rgba: 0'
- line: '| iOSLaunchScreeniPadFillPct: 100'
- line: '| iOSLaunchScreeniPadSize: 100'
- line: '| iOSLaunchScreenCustomStoryboardPath: '
- line: '| iOSLaunchScreeniPadCustomStoryboardPath: '
- line: '| iOSDeviceRequirements: []'
- line: '| iOSURLSchemes: []'
- line: '| macOSURLSchemes: []'
- line: '| iOSBackgroundModes: 0'
- line: '| iOSMetalForceHardShadows: 0'
- line: '| metalEditorSupport: 1'
- line: '| metalAPIValidation: 1'
- line: '| metalCompileShaderBinary: 0'
- line: '| iOSRenderExtraFrameOnPause: 0'
- line: '| iosCopyPluginsCodeInsteadOfSymlink: 0'
- line: '| appleDeveloperTeamID: '
- line: '| iOSManualSigningProvisioningProfileID: '
- line: '| tvOSManualSigningProvisioningProfileID: '
- line: '| VisionOSManualSigningProvisioningProfileID: '
- line: '| iOSManualSigningProvisioningProfileType: 0'
- line: '| tvOSManualSigningProvisioningProfileType: 0'
- line: '| VisionOSManualSigningProvisioningProfileType: 0'
- line: '| appleEnableAutomaticSigning: 0'
- line: '| iOSRequireARKit: 0'
- line: '| iOSAutomaticallyDetectAndAddCapabilities: 1'
- line: '| appleEnableProMotion: 0'
- line: '| shaderPrecisionModel: 0'
- line: '| clonedFromGUID: c19f32bac17ee4170b3bf8a6a0333fb9'
- line: '| templatePackageId: com.unity.template.universal-2d@5.1.0'
- line: '| templateDefaultScene: Assets/Scenes/SampleScene.unity'
- line: '| useCustomMainManifest: 0'
- line: '| useCustomLauncherManifest: 0'
- line: '| useCustomMainGradleTemplate: 0'
- line: '| useCustomLauncherGradleManifest: 0'
- line: '| useCustomBaseGradleTemplate: 0'
- line: '| useCustomGradlePropertiesTemplate: 0'
- line: '| useCustomGradleSettingsTemplate: 0'
- line: '| useCustomProguardFile: 0'
- line: '| AndroidTargetArchitectures: 2'
- line: '| AndroidSplashScreenScale: 0'
- line: '| androidSplashScreen: {instanceID: 0}'
- line: '| AndroidKeystoreName: '
- line: '| AndroidKeyaliasName: '
- line: '| AndroidEnableArmv9SecurityFeatures: 0'
- line: '| AndroidEnableArm64MTE: 0'
- line: '| AndroidBuildApkPerCpuArchitecture: 0'
- line: '| AndroidTVCompatibility: 0'
- line: '| AndroidIsGame: 1'
- line: '| androidAppCategory: 3'
- line: '| useAndroidAppCategory: 1'
- line: '| androidAppCategoryOther: '
- line: '| AndroidEnableTango: 0'
- line: '| androidEnableBanner: 1'
- line: '| androidUseLowAccuracyLocation: 0'
- line: '| androidUseCustomKeystore: 0'
- line: '| m_AndroidBanners:'
- line: '| - width: 320'
- line: '| height: 180'
- line: '| banner: {instanceID: 0}'
- line: '| androidGamepadSupportLevel: 0'
- line: '| AndroidMinifyRelease: 0'
- line: '| AndroidMinifyDebug: 0'
- line: '| AndroidValidateAppBundleSize: 1'
- line: '| AndroidAppBundleSizeToValidate: 150'
- line: '| AndroidReportGooglePlayAppDependencies: 1'
- line: '| androidSymbolsSizeThreshold: 800'
- line: '| m_BuildTargetIcons: []'
- line: '| m_BuildTargetPlatformIcons:'
- line: '| - m_BuildTarget: Android'
- line: '| m_Icons:'
- line: '| - m_Textures: []'
- line: '| m_Width: 432'
- line: '| m_Height: 432'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 324'
- line: '| m_Height: 324'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 216'
- line: '| m_Height: 216'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 162'
- line: '| m_Height: 162'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 108'
- line: '| m_Height: 108'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 81'
- line: '| m_Height: 81'
- line: '| m_Kind: 2'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 192'
- line: '| m_Height: 192'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 144'
- line: '| m_Height: 144'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 96'
- line: '| m_Height: 96'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 72'
- line: '| m_Height: 72'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 48'
- line: '| m_Height: 48'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 36'
- line: '| m_Height: 36'
- line: '| m_Kind: 1'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 192'
- line: '| m_Height: 192'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 144'
- line: '| m_Height: 144'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 96'
- line: '| m_Height: 96'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 72'
- line: '| m_Height: 72'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 48'
- line: '| m_Height: 48'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| - m_Textures: []'
- line: '| m_Width: 36'
- line: '| m_Height: 36'
- line: '| m_Kind: 0'
- line: '| m_SubKind: '
- line: '| m_BuildTargetBatching: []'
- line: '| m_BuildTargetShaderSettings: []'
- line: '| m_BuildTargetGraphicsJobs: []'
- line: '| m_BuildTargetGraphicsJobMode: []'
- line: '| m_BuildTargetGraphicsAPIs: []'
- line: '| m_BuildTargetVRSettings: []'
- line: '| m_DefaultShaderChunkSizeInMB: 16'
- line: '| m_DefaultShaderChunkCount: 0'
- line: '| openGLRequireES31: 0'
- line: '| openGLRequireES31AEP: 0'
- line: '| openGLRequireES32: 0'
- line: '| m_TemplateCustomTags: {}'
- line: '| mobileMTRendering:'
- line: '| Android: 1'
- line: '| iPhone: 1'
- line: '| tvOS: 1'
- line: '| m_BuildTargetGroupLightmapEncodingQuality: []'
- line: '| m_BuildTargetGroupHDRCubemapEncodingQuality: []'
- line: '| m_BuildTargetGroupLightmapSettings: []'
- line: '| m_BuildTargetGroupLoadStoreDebugModeSettings: []'
- line: '| m_BuildTargetNormalMapEncoding: []'
- line: '| m_BuildTargetDefaultTextureCompressionFormat:'
- line: '| - serializedVersion: 3'
- line: '| m_BuildTarget: Android'
- line: '| m_Formats: 01000000'
- line: '| playModeTestRunnerEnabled: 0'
- line: '| runPlayModeTestAsEditModeTest: 0'
- line: '| actionOnDotNetUnhandledException: 1'
- line: '| editorGfxJobOverride: 1'
- line: '| enableInternalProfiler: 0'
- line: '| logObjCUncaughtExceptions: 1'
- line: '| enableCrashReportAPI: 0'
- line: '| cameraUsageDescription: '
- line: '| locationUsageDescription: '
- line: '| microphoneUsageDescription: '
- line: '| bluetoothUsageDescription: '
- line: '| macOSTargetOSVersion: 11.0'
- line: '| switchNMETAOverride: '
- line: '| switchNetLibKey: '
- line: '| switchSocketMemoryPoolSize: 6144'
- line: '| switchSocketAllocatorPoolSize: 128'
- line: '| switchSocketConcurrencyLimit: 14'
- line: '| switchScreenResolutionBehavior: 2'
- line: '| switchUseCPUProfiler: 0'
- line: '| switchEnableFileSystemTrace: 0'
- line: '| switchLTOSetting: 0'
- line: '| switchApplicationID: 0x01004b9000490000'
- line: '| switchNSODependencies: '
- line: '| switchCompilerFlags: '
- line: '| switchTitleNames_0: '
- line: '| switchTitleNames_1: '
- line: '| switchTitleNames_2: '
- line: '| switchTitleNames_3: '
- line: '| switchTitleNames_4: '
- line: '| switchTitleNames_5: '
- line: '| switchTitleNames_6: '
- line: '| switchTitleNames_7: '
- line: '| switchTitleNames_8: '
- line: '| switchTitleNames_9: '
- line: '| switchTitleNames_10: '
- line: '| switchTitleNames_11: '
- line: '| switchTitleNames_12: '
- line: '| switchTitleNames_13: '
- line: '| switchTitleNames_14: '
- line: '| switchTitleNames_15: '
- line: '| switchPublisherNames_0: '
- line: '| switchPublisherNames_1: '
- line: '| switchPublisherNames_2: '
- line: '| switchPublisherNames_3: '
- line: '| switchPublisherNames_4: '
- line: '| switchPublisherNames_5: '
- line: '| switchPublisherNames_6: '
- line: '| switchPublisherNames_7: '
- line: '| switchPublisherNames_8: '
- line: '| switchPublisherNames_9: '
- line: '| switchPublisherNames_10: '
- line: '| switchPublisherNames_11: '
- line: '| switchPublisherNames_12: '
- line: '| switchPublisherNames_13: '
- line: '| switchPublisherNames_14: '
- line: '| switchPublisherNames_15: '
- line: '| switchIcons_0: {instanceID: 0}'
- line: '| switchIcons_1: {instanceID: 0}'
- line: '| switchIcons_2: {instanceID: 0}'
- line: '| switchIcons_3: {instanceID: 0}'
- line: '| switchIcons_4: {instanceID: 0}'
- line: '| switchIcons_5: {instanceID: 0}'
- line: '| switchIcons_6: {instanceID: 0}'
- line: '| switchIcons_7: {instanceID: 0}'
- line: '| switchIcons_8: {instanceID: 0}'
- line: '| switchIcons_9: {instanceID: 0}'
- line: '| switchIcons_10: {instanceID: 0}'
- line: '| switchIcons_11: {instanceID: 0}'
- line: '| switchIcons_12: {instanceID: 0}'
- line: '| switchIcons_13: {instanceID: 0}'
- line: '| switchIcons_14: {instanceID: 0}'
- line: '| switchIcons_15: {instanceID: 0}'
- line: '| switchSmallIcons_0: {instanceID: 0}'
- line: '| switchSmallIcons_1: {instanceID: 0}'
- line: '| switchSmallIcons_2: {instanceID: 0}'
- line: '| switchSmallIcons_3: {instanceID: 0}'
- line: '| switchSmallIcons_4: {instanceID: 0}'
- line: '| switchSmallIcons_5: {instanceID: 0}'
- line: '| switchSmallIcons_6: {instanceID: 0}'
- line: '| switchSmallIcons_7: {instanceID: 0}'
- line: '| switchSmallIcons_8: {instanceID: 0}'
- line: '| switchSmallIcons_9: {instanceID: 0}'
- line: '| switchSmallIcons_10: {instanceID: 0}'
- line: '| switchSmallIcons_11: {instanceID: 0}'
- line: '| switchSmallIcons_12: {instanceID: 0}'
- line: '| switchSmallIcons_13: {instanceID: 0}'
- line: '| switchSmallIcons_14: {instanceID: 0}'
- line: '| switchSmallIcons_15: {instanceID: 0}'
- line: '| switchManualHTML: '
- line: '| switchAccessibleURLs: '
- line: '| switchLegalInformation: '
- line: '| switchMainThreadStackSize: 1048576'
- line: '| switchPresenceGroupId: '
- line: '| switchLogoHandling: 0'
- line: '| switchReleaseVersion: 0'
- line: '| switchDisplayVersion: 1.0.0'
- line: '| switchStartupUserAccount: 0'
- line: '| switchSupportedLanguagesMask: 0'
- line: '| switchLogoType: 0'
- line: '| switchApplicationErrorCodeCategory: '
- line: '| switchUserAccountSaveDataSize: 0'
- line: '| switchUserAccountSaveDataJournalSize: 0'
- line: '| switchApplicationAttribute: 0'
- line: '| switchCardSpecSize: -1'
- line: '| switchCardSpecClock: -1'
- line: '| switchRatingsMask: 0'
- line: '| switchRatingsInt_0: 0'
- line: '| switchRatingsInt_1: 0'
- line: '| switchRatingsInt_2: 0'
- line: '| switchRatingsInt_3: 0'
- line: '| switchRatingsInt_4: 0'
- line: '| switchRatingsInt_5: 0'
- line: '| switchRatingsInt_6: 0'
- line: '| switchRatingsInt_7: 0'
- line: '| switchRatingsInt_8: 0'
- line: '| switchRatingsInt_9: 0'
- line: '| switchRatingsInt_10: 0'
- line: '| switchRatingsInt_11: 0'
- line: '| switchRatingsInt_12: 0'
- line: '| switchLocalCommunicationIds_0: '
- line: '| switchLocalCommunicationIds_1: '
- line: '| switchLocalCommunicationIds_2: '
- line: '| switchLocalCommunicationIds_3: '
- line: '| switchLocalCommunicationIds_4: '
- line: '| switchLocalCommunicationIds_5: '
- line: '| switchLocalCommunicationIds_6: '
- line: '| switchLocalCommunicationIds_7: '
- line: '| switchParentalControl: 0'
- line: '| switchAllowsScreenshot: 1'
- line: '| switchAllowsVideoCapturing: 1'
- line: '| switchAllowsRuntimeAddOnContentInstall: 0'
- line: '| switchDataLossConfirmation: 0'
- line: '| switchUserAccountLockEnabled: 0'
- line: '| switchSystemResourceMemory: 16777216'
- line: '| switchSupportedNpadStyles: 22'
- line: '| switchNativeFsCacheSize: 32'
- line: '| switchIsHoldTypeHorizontal: 0'
- line: '| switchSupportedNpadCount: 8'
- line: '| switchEnableTouchScreen: 1'
- line: '| switchSocketConfigEnabled: 0'
- line: '| switchTcpInitialSendBufferSize: 32'
- line: '| switchTcpInitialReceiveBufferSize: 64'
- line: '| switchTcpAutoSendBufferSizeMax: 256'
- line: '| switchTcpAutoReceiveBufferSizeMax: 256'
- line: '| switchUdpSendBufferSize: 9'
- line: '| switchUdpReceiveBufferSize: 42'
- line: '| switchSocketBufferEfficiency: 4'
- line: '| switchSocketInitializeEnabled: 1'
- line: '| switchNetworkInterfaceManagerInitializeEnabled: 1'
- line: '| switchDisableHTCSPlayerConnection: 0'
- line: '| switchUseNewStyleFilepaths: 0'
- line: '| switchUseLegacyFmodPriorities: 0'
- line: '| switchUseMicroSleepForYield: 1'
- line: '| switchEnableRamDiskSupport: 0'
- line: '| switchMicroSleepForYieldTime: 25'
- line: '| switchRamDiskSpaceSize: 12'
- line: '| switchUpgradedPlayerSettingsToNMETA: 0'
- line: '| ps4NPAgeRating: 12'
- line: '| ps4NPTitleSecret: '
- line: '| ps4NPTrophyPackPath: '
- line: '| ps4ParentalLevel: 11'
- line: '| ps4ContentID: ED1633-NPXX51362_00-0000000000000000'
- line: '| ps4Category: 0'
- line: '| ps4MasterVersion: 01.00'
- line: '| ps4AppVersion: 01.00'
- line: '| ps4AppType: 0'
- line: '| ps4ParamSfxPath: '
- line: '| ps4VideoOutPixelFormat: 0'
- line: '| ps4VideoOutInitialWidth: 1920'
- line: '| ps4VideoOutBaseModeInitialWidth: 1920'
- line: '| ps4VideoOutReprojectionRate: 60'
- line: '| ps4PronunciationXMLPath: '
- line: '| ps4PronunciationSIGPath: '
- line: '| ps4BackgroundImagePath: '
- line: '| ps4StartupImagePath: '
- line: '| ps4StartupImagesFolder: '
- line: '| ps4IconImagesFolder: '
- line: '| ps4SaveDataImagePath: '
- line: '| ps4SdkOverride: '
- line: '| ps4BGMPath: '
- line: '| ps4ShareFilePath: '
- line: '| ps4ShareOverlayImagePath: '
- line: '| ps4PrivacyGuardImagePath: '
- line: '| ps4ExtraSceSysFile: '
- line: '| ps4NPtitleDatPath: '
- line: '| ps4RemotePlayKeyAssignment: -1'
- line: '| ps4RemotePlayKeyMappingDir: '
- line: '| ps4PlayTogetherPlayerCount: 0'
- line: '| ps4EnterButtonAssignment: 2'
- line: '| ps4ApplicationParam1: 0'
- line: '| ps4ApplicationParam2: 0'
- line: '| ps4ApplicationParam3: 0'
- line: '| ps4ApplicationParam4: 0'
- line: '| ps4DownloadDataSize: 0'
- line: '| ps4GarlicHeapSize: 2048'
- line: '| ps4ProGarlicHeapSize: 2560'
- line: '| playerPrefsMaxSize: 32768'
- line: '| ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ'
- line: '| ps4pnSessions: 1'
- line: '| ps4pnPresence: 1'
- line: '| ps4pnFriends: 1'
- line: '| ps4pnGameCustomData: 1'
- line: '| playerPrefsSupport: 0'
- line: '| enableApplicationExit: 0'
- line: '| resetTempFolder: 1'
- line: '| restrictedAudioUsageRights: 0'
- line: '| ps4UseResolutionFallback: 0'
- line: '| ps4ReprojectionSupport: 0'
- line: '| ps4UseAudio3dBackend: 0'
- line: '| ps4UseLowGarlicFragmentationMode: 1'
- line: '| ps4SocialScreenEnabled: 0'
- line: '| ps4ScriptOptimizationLevel: 2'
- line: '| ps4Audio3dVirtualSpeakerCount: 14'
- line: '| ps4attribCpuUsage: 0'
- line: '| ps4PatchPkgPath: '
- line: '| ps4PatchLatestPkgPath: '
- line: '| ps4PatchChangeinfoPath: '
- line: '| ps4PatchDayOne: 0'
- line: '| ps4attribUserManagement: 0'
- line: '| ps4attribMoveSupport: 0'
- line: '| ps4attrib3DSupport: 0'
- line: '| ps4attribShareSupport: 0'
- line: '| ps4attribExclusiveVR: 0'
- line: '| ps4disableAutoHideSplash: 0'
- line: '| ps4videoRecordingFeaturesUsed: 0'
- line: '| ps4contentSearchFeaturesUsed: 0'
- line: '| ps4CompatibilityPS5: 0'
- line: '| ps4AllowPS5Detection: 0'
- line: '| ps4GPU800MHz: 1'
- line: '| ps4attribEyeToEyeDistanceSettingVR: 0'
- line: '| ps4IncludedModules: []'
- line: '| ps4attribVROutputEnabled: 0'
- line: '| monoEnv: '
- line: '| splashScreenBackgroundSourceLandscape: {instanceID: 0}'
- line: '| splashScreenBackgroundSourcePortrait: {instanceID: 0}'
- line: '| blurSplashScreenBackground: 1'
- line: '| spritePackerPolicy: '
- line: '| webGLMemorySize: 32'
- line: '| webGLExceptionSupport: 1'
- line: '| webGLNameFilesAsHashes: 0'
- line: '| webGLShowDiagnostics: 0'
- line: '| webGLDataCaching: 1'
- line: '| webGLDebugSymbols: 0'
- line: '| webGLEmscriptenArgs: '
- line: '| webGLModulesDirectory: '
- line: '| webGLTemplate: APPLICATION:Default'
- line: '| webGLAnalyzeBuildSize: 0'
- line: '| webGLUseEmbeddedResources: 0'
- line: '| webGLCompressionFormat: 0'
- line: '| webGLWasmArithmeticExceptions: 0'
- line: '| webGLLinkerTarget: 1'
- line: '| webGLThreadsSupport: 0'
- line: '| webGLDecompressionFallback: 0'
- line: '| webGLInitialMemorySize: 32'
- line: '| webGLMaximumMemorySize: 2048'
- line: '| webGLMemoryGrowthMode: 2'
- line: '| webGLMemoryLinearGrowthStep: 16'
- line: '| webGLMemoryGeometricGrowthStep: 0.2'
- line: '| webGLMemoryGeometricGrowthCap: 96'
- line: '| webGLEnableWebGPU: 0'
- line: '| webGLPowerPreference: 2'
- line: '| webGLWebAssemblyTable: 0'
- line: '| webGLWebAssemblyBigInt: 0'
- line: '| webGLCloseOnQuit: 0'
- line: '| webWasm2023: 0'
- line: '| scriptingDefineSymbols:'
- line: '| Android: MIRROR;MIRROR_89_OR_NEWER;MIRROR_90_OR_NEWER;MIRROR_93_OR_NEWER;MIRROR_96_OR_NEWER;EDGEGAP_PLUGIN_SERVERS;DOTWEEN'
- line: '| EmbeddedLinux: DOTWEEN'
- line: '| GameCoreScarlett: DOTWEEN'
- line: '| GameCoreXboxOne: DOTWEEN'
- line: '| Kepler: DOTWEEN'
- line: '| LinuxHeadlessSimulation: DOTWEEN'
- line: '| Nintendo Switch: DOTWEEN'
- line: '| Nintendo Switch 2: DOTWEEN'
- line: '| PS4: DOTWEEN'
- line: '| PS5: DOTWEEN'
- line: '| QNX: DOTWEEN'
- line: '| Standalone: DOTWEEN'
- line: '| VisionOS: DOTWEEN'
- line: '| WebGL: DOTWEEN'
- line: '| Windows Store Apps: DOTWEEN'
- line: '| XboxOne: DOTWEEN'
- line: '| iPhone: DOTWEEN'
- line: '| tvOS: DOTWEEN'
- line: '| additionalCompilerArguments: {}'
- line: '| platformArchitecture: {}'
- line: '| scriptingBackend:'
- line: '| Android: 1'
- line: '| il2cppCompilerConfiguration: {}'
- line: '| il2cppCodeGeneration: {}'
- line: '| il2cppStacktraceInformation: {}'
- line: '| managedStrippingLevel: {}'
- line: '| incrementalIl2cppBuild: {}'
- line: '| suppressCommonWarnings: 1'
- line: '| allowUnsafeCode: 0'
- line: '| useDeterministicCompilation: 1'
- line: '| additionalIl2CppArgs: '
- line: '| scriptingRuntimeVersion: 1'
- line: '| gcIncremental: 1'
- line: '| gcWBarrierValidation: 0'
- line: '| apiCompatibilityLevelPerPlatform: {}'
- line: '| editorAssembliesCompatibilityLevel: 1'
- line: '| m_RenderingPath: 1'
- line: '| m_MobileRenderingPath: 1'
- line: '| metroPackageName: WalkInvest_Soccer'
- line: '| metroPackageVersion: '
- line: '| metroCertificatePath: '
- line: '| metroCertificatePassword: '
- line: '| metroCertificateSubject: '
- line: '| metroCertificateIssuer: '
- line: '| metroCertificateNotAfter: 0000000000000000'
- line: '| metroApplicationDescription: WalkInvest_Soccer'
- line: '| wsaImages: {}'
- line: '| metroTileShortName: '
- line: '| metroTileShowName: 0'
- line: '| metroMediumTileShowName: 0'
- line: '| metroLargeTileShowName: 0'
- line: '| metroWideTileShowName: 0'
- line: '| metroSupportStreamingInstall: 0'
- line: '| metroLastRequiredScene: 0'
- line: '| metroDefaultTileSize: 1'
- line: '| metroTileForegroundText: 2'
- line: '| metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628,
a: 0}'
- line: '| metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902,
b: 0.21568628, a: 1}'
- line: '| metroSplashScreenUseBackgroundColor: 0'
- line: '| syncCapabilities: 0'
- line: '| platformCapabilities: {}'
- line: '| metroTargetDeviceFamilies: {}'
- line: '| metroFTAName: '
- line: '| metroFTAFileTypes: []'
- line: '| metroProtocolName: '
- line: '| vcxProjDefaultLanguage: '
- line: '| XboxOneProductId: '
- line: '| XboxOneUpdateKey: '
- line: '| XboxOneSandboxId: '
- line: '| XboxOneContentId: '
- line: '| XboxOneTitleId: '
- line: '| XboxOneSCId: '
- line: '| XboxOneGameOsOverridePath: '
- line: '| XboxOnePackagingOverridePath: '
- line: '| XboxOneAppManifestOverridePath: '
- line: '| XboxOneVersion: 1.0.0.0'
- line: '| XboxOnePackageEncryption: 0'
- line: '| XboxOnePackageUpdateGranularity: 2'
- line: '| XboxOneDescription: '
- line: '| XboxOneLanguage:'
- line: '| - enus'
- line: '| XboxOneCapability: []'
- line: '| XboxOneGameRating: {}'
- line: '| XboxOneIsContentPackage: 0'
- line: '| XboxOneEnhancedXboxCompatibilityMode: 0'
- line: '| XboxOneEnableGPUVariability: 1'
- line: '| XboxOneSockets: {}'
- line: '| XboxOneSplashScreen: {instanceID: 0}'
- line: '| XboxOneAllowedProductIds: []'
- line: '| XboxOnePersistentLocalStorageSize: 0'
- line: '| XboxOneXTitleMemory: 8'
- line: '| XboxOneOverrideIdentityName: '
- line: '| XboxOneOverrideIdentityPublisher: '
- line: '| vrEditorSettings: {}'
- line: '| cloudServicesEnabled: {}'
- line: '| luminIcon:'
- line: '| m_Name: '
- line: '| m_ModelFolderPath: '
- line: '| m_PortalFolderPath: '
- line: '| luminCert:'
- line: '| m_CertPath: '
- line: '| m_SignPackage: 1'
- line: '| luminIsChannelApp: 0'
- line: '| luminVersion:'
- line: '| m_VersionCode: 1'
- line: '| m_VersionName: '
- line: '| hmiPlayerDataPath: '
- line: '| hmiForceSRGBBlit: 1'
- line: '| embeddedLinuxEnableGamepadInput: 0'
- line: '| hmiCpuConfiguration: '
- line: '| hmiLogStartupTiming: 0'
- line: '| qnxGraphicConfPath: '
- line: '| apiCompatibilityLevel: 6'
- line: '| captureStartupLogs: {}'
- line: '| activeInputHandler: 2'
- line: '| windowsGamepadBackendHint: 0'
- line: '| cloudProjectId: 267a39bf-cb72-4f17-bb8e-775bffe1a6a1'
- line: '| framebufferDepthMemorylessMode: 0'
- line: '| qualitySettingsNames: []'
- line: '| projectName: WalkInvest_Soccer'
- line: '| organizationId: sewmina7'
- line: '| cloudEnabled: 0'
- line: '| legacyClampBlendShapeWeights: 0'
- line: '| hmiLoadingImage: {instanceID: 0}'
- line: '| platformRequiresReadableAssets: 0'
- line: '| virtualTexturingSupportEnabled: 0'
- line: '| insecureHttpOption: 2'
- line: '| androidVulkanDenyFilterList: []'
- line: '| androidVulkanAllowFilterList: []'
- line: '| '
m_Settings: []
references:
version: 2
RefIds:
@@ -717,6 +717,186 @@ MonoBehaviour:
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.745117
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 15
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 16
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -4.745117
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 17
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 29
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 30
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.1914062
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 36
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -3.1914062
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 68
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 72
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 82
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 85
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -1.5537109
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 88
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 58
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: -0.7558594
m_YAdvance: 0
m_SecondAdjustmentRecord:
m_GlyphIndex: 92
m_GlyphValueRecord:
m_XPlacement: 0
m_YPlacement: 0
m_XAdvance: 0
m_YAdvance: 0
m_FeatureLookupFlags: 0
- m_FirstAdjustmentRecord:
m_GlyphIndex: 85
m_GlyphValueRecord:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: edcd5ed551868bc4084a6b802acfffef
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ae3b0b531f3b3b14eaa1cd3d02b15756
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 532bcbd7fabd63844ac75765ae25dcb9
TextureImporter:
internalIDToNameTable:
- first:
213: 7609527126711406816
second: player 2_icon_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: player 2_icon_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 87
height: 88
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 0e01550da987a9960800000000000000
internalID: 7609527126711406816
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
player 2_icon_0: 7609527126711406816
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 5b969ed0d82676d4890df6c74fd6f3c4
TextureImporter:
internalIDToNameTable:
- first:
213: 8390053243822926539
second: player1 team name_frame_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: player1 team name_frame_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 295
height: 65
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: bcaedac09f47f6470800000000000000
internalID: 8390053243822926539
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
player1 team name_frame_0: 8390053243822926539
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: f3154365711ce2e488d005de85abbe10
TextureImporter:
internalIDToNameTable:
- first:
213: 8307197410019240183
second: player2 team name_frame_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: player2 team name_frame_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 295
height: 65
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7f8ed3fe708194370800000000000000
internalID: 8307197410019240183
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
player2 team name_frame_0: 8307197410019240183
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 6d456d40d9924194c9553d5e160fc351
TextureImporter:
internalIDToNameTable:
- first:
213: -3258964617450948449
second: stadium name_frame_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: stadium name_frame_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 290
height: 69
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f98f44972f4d5c2d0800000000000000
internalID: -3258964617450948449
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
stadium name_frame_0: -3258964617450948449
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: ea85a3a401874a748b53d362fcdc6f60
TextureImporter:
internalIDToNameTable:
- first:
213: 4568715786991894220
second: v.s_frame_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: v.s_frame_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 316
height: 75
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ccefe5b5dc6576f30800000000000000
internalID: 4568715786991894220
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
v.s_frame_0: 4568715786991894220
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dde14b0e4dcc1e645b17e143db86942f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

File diff suppressed because it is too large Load Diff
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 750ac215d519ece4bb146d9c5b70d514
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 238caea50d9004540a96d6a35a99b930
TextureImporter:
internalIDToNameTable:
- first:
213: -860982307649374793
second: football U2I_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: football U2I_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 844
height: 1733
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7b5b9a2272d2d04f0800000000000000
internalID: -860982307649374793
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
football U2I_0: -860982307649374793
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 067312b65eb2d0846a4c0b46d6112411
TextureImporter:
internalIDToNameTable:
- first:
213: 3534067876738931130
second: "football UI end game v\xE0 popup_0"
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: "football UI end game v\xE0 popup_0"
rect:
serializedVersion: 2
x: 0
y: 0
width: 844
height: 1733
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ab9942572088b0130800000000000000
internalID: 3534067876738931130
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
"football UI end game v\xE0 popup_0": 3534067876738931130
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 3e3d8c3f19fd3b7468dcc1c1a00dcaff
TextureImporter:
internalIDToNameTable:
- first:
213: -1885918196281407274
second: football UI_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: football UI_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 844
height: 1733
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 6d8833b746fd3d5e0800000000000000
internalID: -1885918196281407274
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
football UI_0: -1885918196281407274
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 17faf62b5d3cf3442a0e52d8ee941621
TextureImporter:
internalIDToNameTable:
- first:
213: 3023223028460364605
second: football UI3_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: football UI3_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 844
height: 1733
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d332920a355a4f920800000000000000
internalID: 3023223028460364605
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
football UI3_0: 3023223028460364605
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 8ab788897c8405d4cb3c220a4d817613
TextureImporter:
internalIDToNameTable:
- first:
213: -6265399864465545710
second: football UI4_0
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: football UI4_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 844
height: 1733
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 21620cec404dc09a0800000000000000
internalID: -6265399864465545710
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
football UI4_0: -6265399864465545710
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More