Commit 5fe56aa2 authored by Yousef Sameh's avatar Yousef Sameh

Authentication fix

parents e81089ff 48dce81c
...@@ -4,41 +4,54 @@ using OneOf; ...@@ -4,41 +4,54 @@ using OneOf;
using Supabase.Gotrue.Exceptions; using Supabase.Gotrue.Exceptions;
using UnityEngine; using UnityEngine;
public class SupabaseAuthentication : MonoBehaviour public class SupabaseAuthentication
{ {
private SupabaseManager supabaseManager; private static SupabaseAuthentication _instance;
public static SupabaseAuthentication Instance => _instance ??= new SupabaseAuthentication();
public static SupabaseAuthentication Instance { private set; get; } public bool IsLoading { get; private set; }
public bool IsLoading { private set; get; } private SupabaseAuthentication() { }
void Awake()
{
Instance = this;
supabaseManager = SupabaseManager.Instance;
}
public async UniTask<OneOf<Success, string>> EnsureSession() public async UniTask<OneOf<Success, string>> EnsureSession()
{ {
try try
{ {
IsLoading = true; IsLoading = true;
supabaseManager.Supabase()!.Auth.LoadSession();
if (supabaseManager.Supabase()!.Auth.CurrentUser == null) var client = SupabaseManager.Instance.Supabase();
if (client == null)
return "Supabase not initialized";
client.Auth.LoadSession();
if (client.Auth.CurrentUser != null)
{ {
await supabaseManager.Supabase()!.Auth.SignInAnonymously(); try
{
await client.Auth.RefreshSession();
return new Success();
}
catch
{
// Refresh failed — fall through to anonymous
}
} }
return new Success(); var session = await client.Auth.SignInAnonymously();
return session?.User != null
? new Success()
: "Anonymous sign in failed";
} }
catch (GotrueException gotrueexception) catch (GotrueException ex)
{ {
return gotrueexception.Message; Debug.LogError($"[Auth] {ex.Message}");
return ex.Message;
} }
catch (Exception e) catch (Exception ex)
{ {
return e.Message; Debug.LogError($"[Auth] {ex.Message}");
return ex.Message;
} }
finally finally
{ {
...@@ -46,85 +59,31 @@ public class SupabaseAuthentication : MonoBehaviour ...@@ -46,85 +59,31 @@ public class SupabaseAuthentication : MonoBehaviour
} }
} }
public async UniTask<OneOf<Success, string>> SignInAnonymously() public async UniTask<OneOf<Success, string>> LogIn(string email, string password)
{ {
try try
{ {
IsLoading = true; IsLoading = true;
await supabaseManager.Supabase()!.Auth.SignInAnonymously();
return new Success();
}
catch (GotrueException gotrueexception)
{
return gotrueexception.Message;
}
catch (Exception e)
{
return e.Message;
}
finally
{
IsLoading = false;
}
}
public async UniTask<OneOf<Success, string>> LogIn(string username, string password) var client = SupabaseManager.Instance.Supabase();
{ if (client == null)
try return "Supabase not initialized";
{
IsLoading = true; await client.Auth.SignIn(email, password);
await supabaseManager.Supabase()!.Auth.SignIn(username, password);
return new Success(); return new Success();
} }
catch (GotrueException gotrueexception) catch (GotrueException ex)
{ {
return gotrueexception.Message; return ex.Message;
} }
catch (Exception e) catch (Exception ex)
{ {
return e.Message; return ex.Message;
} }
finally finally
{ {
IsLoading = false; IsLoading = false;
} }
}
// public async UniTask<OneOf<Success, string>> SignUp(string email, string password, string displayName, string fullName)
// {
// try
// {
// IsLoading = true;
// await supabaseManager.Supabase()!.Auth.SignUp(email, password);
// var userProfile = await UserService.Instance.CreateUserProfile(displayName, fullName, email);
// userProfile.Switch((_) => { }, (error) =>
// {
// Debug.LogError(error);
// });
// return new Success();
// }
// catch (GotrueException gotrueexception)
// {
// IsLoading = false;
// return gotrueexception.Message;
// }
// catch (Exception e)
// {
// return e.Message;
// }
// finally
// {
// IsLoading = false;
// }
// }
// UI button
public void LogOutButton()
{
LogOut();
} }
public async UniTask<OneOf<Success, string>> LogOut() public async UniTask<OneOf<Success, string>> LogOut()
...@@ -132,22 +91,26 @@ public class SupabaseAuthentication : MonoBehaviour ...@@ -132,22 +91,26 @@ public class SupabaseAuthentication : MonoBehaviour
try try
{ {
IsLoading = true; IsLoading = true;
await supabaseManager.Supabase()!.Auth.SignOut();
var client = SupabaseManager.Instance.Supabase();
if (client == null)
return "Supabase not initialized";
await client.Auth.SignOut();
UserService.Instance.ClearUser();
return new Success(); return new Success();
} }
catch (GotrueException gotrueexception) catch (GotrueException ex)
{ {
return gotrueexception.Message; return ex.Message;
} }
catch (Exception e) catch (Exception ex)
{ {
return e.Message; return ex.Message;
} }
finally finally
{ {
IsLoading = false; IsLoading = false;
} }
} }
}
} \ No newline at end of file
using System;
using Cysharp.Threading.Tasks;
using Supabase.Gotrue;
using Supabase.Gotrue.Interfaces;
using UnityEngine;
using UnityEngine.SceneManagement;
public class AppRouter : MonoBehaviour
{
private static AppRouter _instance;
public static AppRouter Instance => _instance;
[Header("Splash UI (Boot Scene Only)")]
[SerializeField] private GameObject splashScreen;
[SerializeField] private GameObject errorPanel;
private bool _booted;
private void Awake()
{
if (_instance != null)
{
Destroy(gameObject);
return;
}
_instance = this;
DontDestroyOnLoad(gameObject);
}
private async void Start()
{
if (splashScreen != null) splashScreen.SetActive(true);
if (errorPanel != null) errorPanel.SetActive(false);
await Boot();
}
private async UniTask Boot()
{
// 1. Init Supabase
bool ready = await SupabaseManager.Instance.Initialize();
if (!ready)
{
ShowError("Failed to connect to server");
return;
}
// 2. Listen for unexpected sign-outs
SupabaseManager.Instance.AddAuthStateListener(OnAuthStateChanged);
// 3. Ensure session
var authResult = await SupabaseAuthentication.Instance.EnsureSession();
if (authResult.IsT1)
{
GoToLogin();
return;
}
// 4. Try load profile
var profileResult = await UserService.Instance.GetCurrentUser();
profileResult.Switch(
success => GoToHome(),
error => GoToLogin()
);
_booted = true;
}
// ─── Auth State Listener (Safety Net Only) ───────────────────────
private void OnAuthStateChanged(IGotrueClient<Supabase.Gotrue.User, Supabase.Gotrue.Session> sender, Constants.AuthState newState)
{
switch (newState)
{
case Constants.AuthState.SignedOut:
// Only react if WE didn't trigger the sign-out
if (!SupabaseAuthentication.Instance.IsLoading)
{
Debug.LogWarning("[Auth] Unexpected sign-out detected");
UserService.Instance.ClearUser();
GoToLogin();
}
break;
case Constants.AuthState.TokenRefreshed:
Debug.Log("[Auth] Token refreshed");
break;
}
}
// ─── Navigation ──────────────────────────────────────────────────
public async static void GoToLogin()
{
if (SceneManager.GetActiveScene().name != "Login")
await SceneManager.LoadSceneAsync("Login");
HideSplash();
}
public async static void GoToHome()
{
if (SceneManager.GetActiveScene().name != "MainMenu")
await SceneManager.LoadSceneAsync("MainMenu");
HideSplash();
}
public static async void Logout()
{
await SupabaseAuthentication.Instance.LogOut();
GoToLogin();
}
// ─── Helpers ─────────────────────────────────────────────────────
private static void HideSplash()
{
if (_instance == null) return;
if (_instance.splashScreen != null)
_instance.splashScreen.SetActive(false);
}
private void ShowError(string message)
{
if (splashScreen != null) splashScreen.SetActive(false);
if (errorPanel != null) errorPanel.SetActive(true);
Debug.LogError($"[Boot] {message}");
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 4f2682cf8a6c26b4bb2d0ce6b08c6ec9
\ No newline at end of file
using System;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using Supabase.Gotrue; using Supabase.Gotrue;
using Supabase.Gotrue.Interfaces; using Supabase.Gotrue.Interfaces;
using UnityEngine; using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
public class SessionListener : Singleton<SessionListener> public class SessionListener : Singleton<SessionListener>
{ {
[SerializeField] private SupabaseManager SupabaseManager; [SerializeField] private SupabaseManager SupabaseManager;
[SerializeField] private Transform splash; [SerializeField] private Transform splash;
[SerializeField] private LoginPageAnimation LoginPageAnimation;
[SerializeField] private UnityEvent LoggedIn; // public async UniTask HandleSession()
[SerializeField] private UnityEvent LoggedOut; // {
[SerializeField] private UnityEvent NewUser; // var session = await SupabaseAuthentication.Instance.EnsureSession();
public async UniTask HandleSession() // session.Switch(async s =>
{ // {
var session = await SupabaseAuthentication.Instance.EnsureSession(); // var foundUser = await UserFileFoundAndLoaded();
session.Switch(async s => // if (foundUser)
{ // {
var foundUser = await UserFileFoundAndLoaded(); // SceneManager.LoadScene("MainMenu");
// }
if (foundUser) // else
{ // {
LoggedIn.Invoke(); // UserService.Instance.OnUserChange += OnUserChanged;
} // splash.gameObject.SetActive(false);
else // }
{ // },
UserService.Instance.OnUserChange += OnUserChanged; // (error) =>
splash.gameObject.SetActive(false); // {
NewUser.Invoke(); // Debug.LogError(error);
} // });
}, // }
(error) =>
{
Debug.LogError(error);
});
}
public void UnityAuthListener(IGotrueClient<Supabase.Gotrue.User, Session> sender, Constants.AuthState newState) public void UnityAuthListener(IGotrueClient<Supabase.Gotrue.User, Session> sender, Constants.AuthState newState)
...@@ -45,12 +41,13 @@ public class SessionListener : Singleton<SessionListener> ...@@ -45,12 +41,13 @@ public class SessionListener : Singleton<SessionListener>
switch (newState) switch (newState)
{ {
case Constants.AuthState.SignedIn: case Constants.AuthState.SignedIn:
Debug.Log("Signed In");
// OnAuthUserChanged(true);
break; break;
case Constants.AuthState.SignedOut: case Constants.AuthState.SignedOut:
if (SceneManager.GetActiveScene().name != "Login")
{ Debug.Log("Signed Out");
LoggedOut.Invoke(); // OnAuthUserChanged(false);
}
break; break;
case Constants.AuthState.UserUpdated: case Constants.AuthState.UserUpdated:
break; break;
...@@ -68,15 +65,46 @@ public class SessionListener : Singleton<SessionListener> ...@@ -68,15 +65,46 @@ public class SessionListener : Singleton<SessionListener>
} }
} }
private void OnUserChanged(User user) // private void OnUserChanged(User user)
{ // {
UserService.Instance.OnUserChange -= OnUserChanged; // UserService.Instance.OnUserChange -= OnUserChanged;
LoggedIn.Invoke(); // SceneManager.LoadScene("MainMenu");
} // }
private async UniTask<bool> UserFileFoundAndLoaded() // private async UniTask OnAuthUserChanged(bool isLoggedIn)
{ // {
var userOrError = await UserService.Instance.LoadCurrentUser(); // if (isLoggedIn)
return userOrError.IsT0; // {
} // var userFound = await UserFileFoundAndLoaded();
// if (userFound)
// {
// SceneManager.LoadScene("MainMenu");
// }
// else
// {
// UserService.Instance.OnUserChange += OnUserChanged;
// splash.gameObject.SetActive(false);
// LoginPageAnimation.ShowLogin();
// }
// }
// else
// {
// if (SceneManager.GetActiveScene().name != "Login")
// {
// print("User signed out, loading login scene");
// SceneManager.LoadScene("Login");
// return;
// }
// await SupabaseAuthentication.Instance.EnsureSession();
// }
// }
// private async UniTask<bool> UserFileFoundAndLoaded()
// {
// // var userOrError = await UserService.Instance.LoadCurrentUser();
// // return userOrError.IsT0;
// }
} }
...@@ -5,107 +5,102 @@ using Supabase.Gotrue; ...@@ -5,107 +5,102 @@ using Supabase.Gotrue;
using UnityEngine; using UnityEngine;
using Client = Supabase.Client; using Client = Supabase.Client;
public class SupabaseManager : Singleton<SupabaseManager> public class SupabaseManager
{ {
[SerializeField] private SessionListener SessionListener; private static SupabaseManager _instance;
public static SupabaseManager Instance => _instance ??= new SupabaseManager();
// Public in case other components are interested in network status
private readonly NetworkStatus _networkStatus = new(); private readonly NetworkStatus _networkStatus = new();
private Client _client;
private bool _initialized;
// Internals public Client Supabase() => _client;
private Client? _client; public bool IsInitialized => _initialized;
public bool IsOnline => _client?.Auth.Online ?? false;
public Client? Supabase() => _client; private SupabaseManager()
private async void Start()
{ {
SupabaseOptions options = new(); Application.quitting += Shutdown;
// We set an option to refresh the token automatically using a background thread. }
options.AutoRefreshToken = true;
// We start setting up the client here
Client client = new(SupabaseSettings.SupabaseURL, SupabaseSettings.SupabaseAnonKey, options);
// The first thing we do is attach the debug listener
client.Auth.AddDebugListener(DebugListener!);
// Next we set up the network status listener and tell it to turn the client online/offline
_networkStatus.Client = (Supabase.Gotrue.Client)client.Auth;
// Next we set up the session persistence - without this the client will forget the session
// each time the app is restarted
client.Auth.SetPersistence(new UnitySession());
_client = client;
// This will be called whenever the session changes
client.Auth.AddStateChangedListener(SessionListener.UnityAuthListener);
SessionListener.HandleSession().Forget();
// Fetch the session from the persistence layer
// If there is a valid/unexpired session available this counts as a user log in
// and will send an event to the UnityAuthListener above.
// client.Auth.LoadSession();
// await SupabaseAuthentication.Instance.EnsureSession();
// Allow unconfirmed user sessions. If you turn this on you will have to complete the
// email verification flow before you can use the session.
client.Auth.Options.AllowUnconfirmedUserSessions = true;
public async UniTask<bool> Initialize()
{
if (_initialized) return true;
// We check the network status to see if we are online or offline using a request to fetch
// the server settings from our project. Here's how we build that URL.
string url = $"{SupabaseSettings.SupabaseURL}/auth/v1/settings?apikey={SupabaseSettings.SupabaseAnonKey}";
try try
{ {
// This will get the current network status var options = new SupabaseOptions
client.Auth.Online = await _networkStatus.StartAsync(url); {
} AutoRefreshToken = true
catch (NotSupportedException) };
{
// Some platforms don't support network status checks, so we just assume we are online var client = new Client(
client.Auth.Online = true; SupabaseSettings.SupabaseURL,
SupabaseSettings.SupabaseAnonKey,
options
);
client.Auth.AddDebugListener((msg, e) =>
{
Debug.Log($"[Supabase] {msg}");
if (e != null) Debug.LogException(e);
});
_networkStatus.Client = (Supabase.Gotrue.Client)client.Auth;
client.Auth.SetPersistence(new UnitySession());
client.Auth.Options.AllowUnconfirmedUserSessions = true;
string url = $"{SupabaseSettings.SupabaseURL}/auth/v1/settings?apikey={SupabaseSettings.SupabaseAnonKey}";
try
{
client.Auth.Online = await _networkStatus.StartAsync(url);
}
catch (NotSupportedException)
{
client.Auth.Online = true;
}
catch (Exception e)
{
Debug.LogWarning($"Network check failed: {e.Message}");
client.Auth.Online = false;
}
if (client.Auth.Online)
{
await client.InitializeAsync();
var config = await client.Auth.Settings();
Debug.Log($"[Supabase] Auto-confirm: {config?.MailerAutoConfirm}");
}
_client = client;
_initialized = true;
Debug.Log("[Supabase] ✓ Initialized");
return true;
} }
catch (Exception e) catch (Exception e)
{ {
// Something else went wrong, so we assume we are offline Debug.LogError($"[Supabase] ✗ Init failed: {e.Message}");
Debug.Log(e.Message, gameObject); return false;
Debug.LogException(e, gameObject);
client.Auth.Online = false;
}
if (client.Auth.Online)
{
// Now we start up the client, which will in turn start up the background thread.
// This will attempt to refresh the session token, which in turn may send a second
// user login event to the UnityAuthListener.
await client.InitializeAsync();
// Here we fetch the server settings and log them to the console
Settings serverConfiguration = (await client.Auth.Settings())!;
Debug.Log($"Auto-confirm emails on this server: {serverConfiguration.MailerAutoConfirm}");
} }
} }
private void DebugListener(string message, Exception e) public void AddAuthStateListener(Supabase.Gotrue.Interfaces.IGotrueClient<Supabase.Gotrue.User, Session>.AuthEventHandler authEventHandler)
{ {
Debug.Log(message, gameObject); _client?.Auth.AddStateChangedListener(authEventHandler);
// ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
if (e != null)
Debug.LogException(e, gameObject);
} }
// This is called when Unity shuts down. You want to be sure to include this so that the public void RemoveAuthStateListener(Supabase.Gotrue.Interfaces.IGotrueClient<Supabase.Gotrue.User, Session>.AuthEventHandler authEventHandler)
// background thread is terminated cleanly. Keep in mind that if you are running the app
// in the Unity Editor, if you don't call this method you will leak the background thread!
private void OnApplicationQuit()
{ {
if (_client != null) _client?.Auth.RemoveStateChangedListener(authEventHandler);
{ }
_client?.Auth.Shutdown();
_client = null; private void Shutdown()
} {
_client?.Auth.Shutdown();
_client = null;
_initialized = false;
Application.quitting -= Shutdown;
} }
} }
\ No newline at end of file
using System;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using OneOf; using OneOf;
using Supabase.Realtime;
using Supabase.Realtime.PostgresChanges;
using System;
using UnityEngine; using UnityEngine;
public class UserService : Singleton<UserService> public class UserService
{ {
private Supabase.Client supabase => SupabaseManager.Instance.Supabase(); private static UserService _instance;
public static UserService Instance => _instance ??= new UserService();
public User? CurrentUser { private set; get; }
public Action<User> OnUserChange;
private RealtimeChannel _userChannel;
public async UniTask<OneOf<UserResult, ErrorResult>> LoadCurrentUser()
{
var userOrFail = await GetCurrentUser();
userOrFail.Switch(async (user) =>
{
CurrentUser = user.User;
OnUserChange?.Invoke(CurrentUser);
await SubscribeToCurrentUserChanges();
}, (error) =>
{
Debug.LogError(error.Message);
});
return userOrFail;
}
protected async override void Awake()
{
base.Awake();
}
public async UniTask<OneOf<UserResult, ErrorResult>> CreateUserProfile( public User CurrentUser { get; private set; }
string username, public bool HasProfile => CurrentUser != null;
string grade, public event Action<User> OnUserChanged;
string school,
string sex,
string age
)
{
try
{
var user = new User
{
Username = username,
Grade = grade,
School = school,
Sex = sex,
Age = age,
Rank = "normal",
Points = 0,
CreatedAt = DateTime.UtcNow,
UpdatedAt = DateTime.UtcNow
};
await supabase.From<User>().Insert(user); private UserService() { }
CurrentUser = user;
OnUserChange?.Invoke(CurrentUser);
return new UserResult(user);
}
catch (Exception ex)
{
return new ErrorResult(ex.Message);
}
}
public async UniTask<OneOf<UserResult, ErrorResult>> GetCurrentUser() public async UniTask<OneOf<UserResult, ErrorResult>> GetCurrentUser()
{ {
try try
{ {
if (supabase == null) var client = SupabaseManager.Instance.Supabase();
return new ErrorResult("Supabase is null"); var authUser = client?.Auth.CurrentUser;
var authUser = supabase.Auth.CurrentUser;
if (authUser == null) if (authUser == null)
return new ErrorResult("Not authenticated"); return new ErrorResult("Not authenticated");
var user = await supabase var response = await client
.From<User>() .From<User>()
.Where(x => x.Id == authUser.Id) .Where(x => x.Id == authUser.Id)
.Single(); .Get();
if (user == null) if (response?.Models == null || response.Models.Count == 0)
return new ErrorResult("User not found"); return new ErrorResult("Profile not found");
return new UserResult(user); CurrentUser = response.Models[0];
OnUserChanged?.Invoke(CurrentUser);
return new UserResult(CurrentUser);
} }
catch (Exception ex) catch (Exception ex)
{ {
return new ErrorResult(ex.Message + ex.StackTrace); Debug.LogError($"[UserService] GetCurrentUser failed: {ex.Message}");
return new ErrorResult(ex.Message);
} }
} }
public async UniTask<OneOf<UserResult, ErrorResult>> GetUserById(string userId) public async UniTask<OneOf<UserResult, ErrorResult>> CreateProfile(
string username,
string school = null,
string grade = null,
string sex = null,
string age = null)
{ {
try try
{ {
var user = await supabase var client = SupabaseManager.Instance.Supabase();
.From<User>() if (client?.Auth.CurrentUser == null)
.Where(x => x.Id == userId) return new ErrorResult("Not authenticated");
.Single();
if (user == null)
return new ErrorResult("User not found");
return new UserResult(user);
}
catch (Exception ex)
{
return new ErrorResult(ex.StackTrace);
}
}
public async UniTask SubscribeToCurrentUserChanges()
{
var userId = supabase.Auth.CurrentUser?.Id;
if (string.IsNullOrWhiteSpace(userId))
{
Debug.LogError("User ID is null or empty. Cannot subscribe to user changes.");
return;
}
if (_userChannel != null)
{
_userChannel.Unsubscribe();
_userChannel = null;
}
await supabase.Realtime.ConnectAsync();
_userChannel = supabase.Realtime.Channel($"user_{userId}");
_userChannel.Register(new PostgresChangesOptions(schema: "public", table: "users", eventType: PostgresChangesOptions.ListenType.All, filter: $"id=eq.{userId}"));
_userChannel.AddPostgresChangeHandler( var user = new User
PostgresChangesOptions.ListenType.All,
(_, change) =>
{ {
var updatedUser = change.Model<User>(); Username = username,
if (updatedUser == null) School = school,
return; Grade = grade,
Sex = sex,
CurrentUser = updatedUser; Age = age,
OnUserChange?.Invoke(CurrentUser); Rank = "normal",
}); Points = 0,
CreatedAt = DateTime.UtcNow,
UpdatedAt = DateTime.UtcNow
};
await _userChannel.Subscribe(); await client.From<User>().Insert(user);
}
private async void OnDestroy() // Re-fetch to get server-set fields (id, timestamps)
{ var fetchResult = await GetCurrentUser();
if (_userChannel != null) return fetchResult;
}
catch (Exception ex)
{ {
_userChannel.Unsubscribe(); Debug.LogError($"[UserService] CreateProfile failed: {ex.Message}");
_userChannel = null; return new ErrorResult(ex.Message);
} }
} }
public async UniTask<OneOf<UserResult, ErrorResult>> UpdateDisplayName(string newDisplayName) public async UniTask<OneOf<UserResult, ErrorResult>> UpdateProfile(
string username = null,
string school = null,
string grade = null,
string sex = null,
string age = null)
{ {
try try
{ {
var authUser = supabase.Auth.CurrentUser; var client = SupabaseManager.Instance.Supabase();
var authUser = client?.Auth.CurrentUser;
if (authUser == null) if (authUser == null)
return new ErrorResult("Not authenticated"); return new ErrorResult("Not authenticated");
await supabase var update = new User();
if (username != null) update.Username = username;
if (school != null) update.School = school;
if (grade != null) update.Grade = grade;
if (sex != null) update.Sex = sex;
if (age != null) update.Age = age;
await client
.From<User>() .From<User>()
.Where(x => x.Id == authUser.Id.ToString()) .Where(x => x.Id == authUser.Id)
.Update(new User { Username = newDisplayName }); .Update(update);
// Re-fetch
return await GetCurrentUser(); return await GetCurrentUser();
} }
catch (Exception ex) catch (Exception ex)
{ {
Debug.LogError($"[UserService] UpdateProfile failed: {ex.Message}");
return new ErrorResult(ex.Message); return new ErrorResult(ex.Message);
} }
} }
public void ClearUser()
public async UniTask<OneOf<UserResult, ErrorResult>> DeleteCurrentUser()
{ {
try CurrentUser = null;
{ OnUserChanged?.Invoke(null);
var authUser = supabase.Auth.CurrentUser;
if (authUser == null)
return new ErrorResult("Not authenticated");
await supabase
.From<User>()
.Where(x => x.Id == authUser.Id.ToString())
.Delete();
return new UserResult(null);
}
catch (Exception ex)
{
return new ErrorResult(ex.Message);
}
} }
} }
\ No newline at end of file
...@@ -38,7 +38,7 @@ public class HomeController : MonoBehaviour ...@@ -38,7 +38,7 @@ public class HomeController : MonoBehaviour
xpRankEnd = root.Q<Label>("XPRankEnd"); xpRankEnd = root.Q<Label>("XPRankEnd");
nextRankProgressBar = root.Q<CustomProgressBar>("NextRankProgressBar"); nextRankProgressBar = root.Q<CustomProgressBar>("NextRankProgressBar");
UserService.Instance.OnUserChange += OnUserChange; UserService.Instance.OnUserChanged += OnUserChange;
OnUserChange(UserService.Instance.CurrentUser); OnUserChange(UserService.Instance.CurrentUser);
challengeButton = root.Q<Button>("Challenge"); challengeButton = root.Q<Button>("Challenge");
......
...@@ -37,11 +37,17 @@ public class LoginController : MonoBehaviour ...@@ -37,11 +37,17 @@ public class LoginController : MonoBehaviour
public async void RegisterAnon() public async void RegisterAnon()
{ {
print(username.text + grade.value + school.value + sex.value + age.text); var auth = await SupabaseAuthentication.Instance.EnsureSession();
var signUp = await UserService.Instance.CreateUserProfile(username.text, grade.value, school.value, sex.value, age.text); if (auth.IsT1)
{
Debug.LogError($"Authentication failed");
return;
}
var signUp = await UserService.Instance.CreateProfile(username.text, grade.value, school.value, sex.value, age.text);
signUp.Switch(user => signUp.Switch(user =>
{ {
Debug.Log("User created successfully"); AppRouter.GoToHome();
}, error => }, error =>
{ {
Debug.LogError($"Failed to create user: {error.Message}"); Debug.LogError($"Failed to create user: {error.Message}");
......
...@@ -13,9 +13,9 @@ public class ProfileController : MonoBehaviour ...@@ -13,9 +13,9 @@ public class ProfileController : MonoBehaviour
var root = profileDocument.rootVisualElement.Q("Settings"); var root = profileDocument.rootVisualElement.Q("Settings");
name = root.Q<Label>("Username"); name = root.Q<Label>("Username");
logoutButton = root.Q<Button>("LogoutButton"); logoutButton = root.Q<Button>("LogoutButton");
logoutButton.clicked += () => SupabaseAuthentication.Instance.LogOut(); logoutButton.clicked += () => AppRouter.Logout();
UserService.Instance.OnUserChange += OnUserChange; UserService.Instance.OnUserChanged += OnUserChange;
OnUserChange(UserService.Instance.CurrentUser); OnUserChange(UserService.Instance.CurrentUser);
} }
......
...@@ -10,8 +10,8 @@ public class SceneSwitcherHelpers : MonoBehaviour ...@@ -10,8 +10,8 @@ public class SceneSwitcherHelpers : MonoBehaviour
public async void LoadMainMenuAsync() public async void LoadMainMenuAsync()
{ {
await UserService.Instance.LoadCurrentUser(); // await UserService.Instance.LoadCurrentUser();
SceneManager.LoadScene("MainMenu"); // SceneManager.LoadScene("MainMenu");
} }
public void LoadLogin() public void LoadLogin()
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<ui:Label text="👤" name="TextFieldLabel" language-direction="RTL" class="emoji" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 40px; -unity-text-align: middle-right; margin-left: 5px;"/> <ui:Label text="👤" name="TextFieldLabel" language-direction="RTL" class="emoji" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 40px; -unity-text-align: middle-right; margin-left: 5px;"/>
<ui:Label text="اسم المستخدم" name="TextFieldLabel" language-direction="RTL" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 35px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/> <ui:Label text="اسم المستخدم" name="TextFieldLabel" language-direction="RTL" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 35px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/>
</ui:VisualElement> </ui:VisualElement>
<ui:TextField label="" placeholder-text="" name="Username" value="" language-direction="RTL" class="textField" style="flex-direction: row-reverse; color: rgb(0, 0, 0); -unity-font-definition: url(&quot;project://database/Assets/UI%20Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss?fileID=2230732570650464555&amp;guid=901fb73b2529c134f9cf372789759383&amp;type=3#NotInter-Regular&quot;); -unity-text-align: upper-left;"> <ui:TextField label="" placeholder-text="" name="Username" value="" language-direction="RTL" class="textField" style="flex-direction: row-reverse; color: rgb(0, 0, 0); -unity-font-definition: url(&quot;project://database/Assets/UI%20Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss?fileID=2230732570650464555&amp;guid=901fb73b2529c134f9cf372789759383&amp;type=3#NotInter-Regular&quot;); -unity-text-align: upper-right; -unity-text-generator: advanced; justify-content: space-between;">
<ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/> <ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/>
</ui:TextField> </ui:TextField>
</ui:VisualElement> </ui:VisualElement>
......
This diff is collapsed.
fileFormatVersion: 2
guid: 89a5ca01ddc649a498cda8dc02cf28e3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
...@@ -119,50 +119,6 @@ NavMeshSettings: ...@@ -119,50 +119,6 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1 &69988539
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 69988541}
- component: {fileID: 69988540}
m_Layer: 0
m_Name: '[Singleton] UserService'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &69988540
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 69988539}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ef6d4039bfd054597970b347c242a7a1, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UserService
--- !u!4 &69988541
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 69988539}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &652396693 --- !u!1 &652396693
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -768,4 +724,3 @@ SceneRoots: ...@@ -768,4 +724,3 @@ SceneRoots:
m_Roots: m_Roots:
- {fileID: 2035341440} - {fileID: 2035341440}
- {fileID: 1709733325} - {fileID: 1709733325}
- {fileID: 69988541}
...@@ -12,10 +12,11 @@ public class LoginPageAnimation : MonoBehaviour ...@@ -12,10 +12,11 @@ public class LoginPageAnimation : MonoBehaviour
Application.targetFrameRate = 60; Application.targetFrameRate = 60;
ContantPanel = loginPage.rootVisualElement.Q<VisualElement>("ContantPanel"); ContantPanel = loginPage.rootVisualElement.Q<VisualElement>("ContantPanel");
}
public void ShowLogin() ContantPanel.schedule.Execute(() =>
{ {
ContantPanel.style.translate = new StyleTranslate(new Translate(0, 0)); ContantPanel.style.translate = new StyleTranslate(new Translate(0, 0));
}).StartingIn(200);
} }
} }
...@@ -1842,9 +1842,9 @@ MonoBehaviour: ...@@ -1842,9 +1842,9 @@ MonoBehaviour:
m_UiScaleMode: 1 m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100 m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1 m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080} m_ReferenceResolution: {x: 1080, y: 2400}
m_ScreenMatchMode: 0 m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0 m_MatchWidthOrHeight: 0.5
m_PhysicalUnit: 3 m_PhysicalUnit: 3
m_FallbackScreenDPI: 96 m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96 m_DefaultSpriteDPI: 96
......
...@@ -130,7 +130,7 @@ MonoBehaviour: ...@@ -130,7 +130,7 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::com.al_arcade.mcq.McqQuestionDisplay m_EditorClassIdentifier: Assembly-CSharp::com.al_arcade.mcq.McqQuestionDisplay
floatHeight: 8 floatHeight: 8
followSpeed: 5 followSpeed: 5
forwardOffset: 5 forwardOffset: 14
_questionText: {fileID: 1752089400664981402} _questionText: {fileID: 1752089400664981402}
_questionTextShadow: {fileID: 5540184795202640518} _questionTextShadow: {fileID: 5540184795202640518}
_sourceText: {fileID: 6948226220845613902} _sourceText: {fileID: 6948226220845613902}
......
...@@ -701,7 +701,7 @@ MonoBehaviour: ...@@ -701,7 +701,7 @@ MonoBehaviour:
competitorPrefab: {fileID: 1751382728646269656, guid: d9891b839842aaa47b82de83a501bb13, type: 3} competitorPrefab: {fileID: 1751382728646269656, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
gatePrefab: {fileID: 3359827651679123104, guid: 42117f56d26465849a8d9625da3bb1ca, type: 3} gatePrefab: {fileID: 3359827651679123104, guid: 42117f56d26465849a8d9625da3bb1ca, type: 3}
questionDisplayPrefab: {fileID: 5658176873693731764, guid: 68bdbb203201e184ab4984036d94d106, type: 3} questionDisplayPrefab: {fileID: 5658176873693731764, guid: 68bdbb203201e184ab4984036d94d106, type: 3}
questionDisplayOffset: {x: 0, y: 8, z: 10} questionDisplayOffset: {x: 0, y: 8, z: 22}
canvasPrefab: {fileID: 4511166262564350541, guid: 822b24d146997b94a83a69760d543528, type: 3} canvasPrefab: {fileID: 4511166262564350541, guid: 822b24d146997b94a83a69760d543528, type: 3}
sfxCorrect: {fileID: 0} sfxCorrect: {fileID: 0}
sfxWrong: {fileID: 0} sfxWrong: {fileID: 0}
......
...@@ -421,7 +421,7 @@ namespace com.al_arcade.mcq ...@@ -421,7 +421,7 @@ namespace com.al_arcade.mcq
private void CameraFeedback(bool correct) private void CameraFeedback(bool correct)
{ {
_mainCamera.DOFieldOfView(correct ? 70f : 60f, 0.2f).SetEase(Ease.OutQuad); _mainCamera.DOFieldOfView(correct ? 100f : 80f, 0.2f).SetEase(Ease.OutQuad);
} }
// ─── End Sequences ─────────────────────────────────────────────────── // ─── End Sequences ───────────────────────────────────────────────────
......
fileFormatVersion: 2 fileFormatVersion: 2
guid: 38645482f82302843938b3d9b2b8e345 guid: 38645482f82302843938b3d9b2b8e345
TextureImporter: TextureImporter:
fileIDToRecycleName: {} internalIDToNameTable: []
externalObjects: {} externalObjects: {}
serializedVersion: 7 serializedVersion: 13
mipmaps: mipmaps:
mipMapMode: 0 mipMapMode: 0
enableMipMap: 1 enableMipMap: 1
sRGBTexture: 1 sRGBTexture: 1
linearTexture: 0 linearTexture: 0
fadeOut: 0 fadeOut: 0
borderMipMap: 0 borderMipMap: 0
mipMapsPreserveCoverage: 0 mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5 alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1 mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3 mipMapFadeDistanceEnd: 3
bumpmap: bumpmap:
convertToNormalMap: 0 convertToNormalMap: 0
externalNormalMap: 0 externalNormalMap: 0
heightScale: 0.25 heightScale: 0.25
normalMapFilter: 0 normalMapFilter: 0
isReadable: 0 flipGreenChannel: 0
streamingMipmaps: 1 isReadable: 0
streamingMipmapsPriority: 0 streamingMipmaps: 1
grayScaleToAlpha: 0 streamingMipmapsPriority: 0
generateCubemap: 6 vTOnly: 0
cubemapConvolution: 0 ignoreMipmapLimit: 0
seamlessCubemap: 0 grayScaleToAlpha: 0
textureFormat: 1 generateCubemap: 6
maxTextureSize: 2048 cubemapConvolution: 0
textureSettings: seamlessCubemap: 0
serializedVersion: 2 textureFormat: 1
filterMode: 1 maxTextureSize: 2048
aniso: 3 textureSettings:
mipBias: 0 serializedVersion: 2
wrapU: 1 filterMode: 1
wrapV: 1 aniso: 3
wrapW: 1 mipBias: 0
nPOTScale: 1 wrapU: 1
lightmap: 0 wrapV: 1
compressionQuality: 50 wrapW: 1
spriteMode: 0 nPOTScale: 1
spriteExtrude: 1 lightmap: 0
spriteMeshType: 1 compressionQuality: 50
alignment: 0 spriteMode: 0
spritePivot: {x: 0.5, y: 0.5} spriteExtrude: 1
spritePixelsToUnits: 100 spriteMeshType: 1
spriteBorder: {x: 0, y: 0, z: 0, w: 0} alignment: 0
spriteGenerateFallbackPhysicsShape: 1 spritePivot: {x: 0.5, y: 0.5}
alphaUsage: 0 spritePixelsToUnits: 100
alphaIsTransparency: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteTessellationDetail: -1 spriteGenerateFallbackPhysicsShape: 1
textureType: 6 alphaUsage: 0
textureShape: 1 alphaIsTransparency: 0
singleChannelComponent: 0 spriteTessellationDetail: -1
maxTextureSizeSet: 0 textureType: 6
compressionQualitySet: 0 textureShape: 1
textureFormatSet: 0 singleChannelComponent: 0
platformSettings: flipbookRows: 1
- serializedVersion: 2 flipbookColumns: 1
buildTarget: DefaultTexturePlatform maxTextureSizeSet: 0
maxTextureSize: 2048 compressionQualitySet: 0
resizeAlgorithm: 0 textureFormatSet: 0
textureFormat: -1 ignorePngGamma: 0
textureCompression: 1 applyGammaDecoding: 0
compressionQuality: 50 swizzle: 50462976
crunchedCompression: 0 cookieLightType: 0
allowsAlphaSplitting: 0 platformSettings:
overridden: 0 - serializedVersion: 4
androidETC2FallbackOverride: 0 buildTarget: DefaultTexturePlatform
spriteSheet: maxTextureSize: 2048
serializedVersion: 2 resizeAlgorithm: 0
sprites: [] textureFormat: -1
outline: [] textureCompression: 2
physicsShape: [] compressionQuality: 50
bones: [] crunchedCompression: 0
spriteID: allowsAlphaSplitting: 0
vertices: [] overridden: 0
indices: ignorePlatformSupport: 0
edges: [] androidETC2FallbackOverride: 0
weights: [] forceMaximumCompressionQuality_BC6H_BC7: 0
spritePackingTag: - serializedVersion: 4
pSDRemoveMatte: 0 buildTarget: Standalone
pSDShowRemoveMatteOption: 0 maxTextureSize: 2048
userData: resizeAlgorithm: 0
assetBundleName: textureFormat: -1
assetBundleVariant: textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 5c2abfa81b784154abbfcfd22f2e73a1 guid: 5c2abfa81b784154abbfcfd22f2e73a1
TextureImporter: TextureImporter:
fileIDToRecycleName: {} internalIDToNameTable: []
externalObjects: {} externalObjects: {}
serializedVersion: 7 serializedVersion: 13
mipmaps: mipmaps:
mipMapMode: 0 mipMapMode: 0
enableMipMap: 1 enableMipMap: 1
sRGBTexture: 1 sRGBTexture: 1
linearTexture: 0 linearTexture: 0
fadeOut: 0 fadeOut: 0
borderMipMap: 0 borderMipMap: 0
mipMapsPreserveCoverage: 0 mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5 alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1 mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3 mipMapFadeDistanceEnd: 3
bumpmap: bumpmap:
convertToNormalMap: 0 convertToNormalMap: 0
externalNormalMap: 0 externalNormalMap: 0
heightScale: 0.25 heightScale: 0.25
normalMapFilter: 0 normalMapFilter: 0
isReadable: 0 flipGreenChannel: 0
streamingMipmaps: 1 isReadable: 0
streamingMipmapsPriority: 0 streamingMipmaps: 1
grayScaleToAlpha: 0 streamingMipmapsPriority: 0
generateCubemap: 6 vTOnly: 0
cubemapConvolution: 0 ignoreMipmapLimit: 0
seamlessCubemap: 0 grayScaleToAlpha: 0
textureFormat: 1 generateCubemap: 6
maxTextureSize: 2048 cubemapConvolution: 0
textureSettings: seamlessCubemap: 0
serializedVersion: 2 textureFormat: 1
filterMode: 1 maxTextureSize: 2048
aniso: 3 textureSettings:
mipBias: 0 serializedVersion: 2
wrapU: 1 filterMode: 1
wrapV: 1 aniso: 3
wrapW: 1 mipBias: 0
nPOTScale: 1 wrapU: 1
lightmap: 0 wrapV: 1
compressionQuality: 50 wrapW: 1
spriteMode: 0 nPOTScale: 1
spriteExtrude: 1 lightmap: 0
spriteMeshType: 1 compressionQuality: 50
alignment: 0 spriteMode: 0
spritePivot: {x: 0.5, y: 0.5} spriteExtrude: 1
spritePixelsToUnits: 100 spriteMeshType: 1
spriteBorder: {x: 0, y: 0, z: 0, w: 0} alignment: 0
spriteGenerateFallbackPhysicsShape: 1 spritePivot: {x: 0.5, y: 0.5}
alphaUsage: 0 spritePixelsToUnits: 100
alphaIsTransparency: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteTessellationDetail: -1 spriteGenerateFallbackPhysicsShape: 1
textureType: 6 alphaUsage: 0
textureShape: 1 alphaIsTransparency: 0
singleChannelComponent: 0 spriteTessellationDetail: -1
maxTextureSizeSet: 0 textureType: 6
compressionQualitySet: 0 textureShape: 1
textureFormatSet: 0 singleChannelComponent: 0
platformSettings: flipbookRows: 1
- serializedVersion: 2 flipbookColumns: 1
buildTarget: DefaultTexturePlatform maxTextureSizeSet: 0
maxTextureSize: 2048 compressionQualitySet: 0
resizeAlgorithm: 0 textureFormatSet: 0
textureFormat: -1 ignorePngGamma: 0
textureCompression: 1 applyGammaDecoding: 0
compressionQuality: 50 swizzle: 50462976
crunchedCompression: 0 cookieLightType: 0
allowsAlphaSplitting: 0 platformSettings:
overridden: 0 - serializedVersion: 4
androidETC2FallbackOverride: 0 buildTarget: DefaultTexturePlatform
spriteSheet: maxTextureSize: 2048
serializedVersion: 2 resizeAlgorithm: 0
sprites: [] textureFormat: -1
outline: [] textureCompression: 2
physicsShape: [] compressionQuality: 50
bones: [] crunchedCompression: 0
spriteID: allowsAlphaSplitting: 0
vertices: [] overridden: 0
indices: ignorePlatformSupport: 0
edges: [] androidETC2FallbackOverride: 0
weights: [] forceMaximumCompressionQuality_BC6H_BC7: 0
spritePackingTag: - serializedVersion: 4
pSDRemoveMatte: 0 buildTarget: Standalone
pSDShowRemoveMatteOption: 0 maxTextureSize: 2048
userData: resizeAlgorithm: 0
assetBundleName: textureFormat: -1
assetBundleVariant: textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 14d99eba68deb5c419739be53229234f guid: 14d99eba68deb5c419739be53229234f
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 1a72c321dc0ef67408cdc146ea283607 guid: 1a72c321dc0ef67408cdc146ea283607
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 5c1be5c0a92e945418a09e0b4b56cd15 guid: 5c1be5c0a92e945418a09e0b4b56cd15
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: f319d2d4df093224684b4dae47534bb6 guid: f319d2d4df093224684b4dae47534bb6
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8bff01e3b001df7459b7334c615fc50d guid: 8bff01e3b001df7459b7334c615fc50d
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: f22b5645f939fc14eb097b1189fb2c8f guid: f22b5645f939fc14eb097b1189fb2c8f
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4c246300583a15b4690337afb12daf70 guid: 4c246300583a15b4690337afb12daf70
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 5debba57b5b312647adf406fd49d2d1d guid: 5debba57b5b312647adf406fd49d2d1d
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 218bb83e223fd5946a08a96e879ca127 guid: 218bb83e223fd5946a08a96e879ca127
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: d076206b94113aa4cafb7a64d3bad847 guid: d076206b94113aa4cafb7a64d3bad847
TextureImporter: TextureImporter:
fileIDToRecycleName: internalIDToNameTable:
8900000: generatedCubemap - first:
externalObjects: {} 89: 8900000
serializedVersion: 7 second: generatedCubemap
mipmaps: externalObjects: {}
mipMapMode: 0 serializedVersion: 13
enableMipMap: 1 mipmaps:
sRGBTexture: 1 mipMapMode: 0
linearTexture: 0 enableMipMap: 1
fadeOut: 0 sRGBTexture: 1
borderMipMap: 0 linearTexture: 0
mipMapsPreserveCoverage: 0 fadeOut: 0
alphaTestReferenceValue: 0.5 borderMipMap: 0
mipMapFadeDistanceStart: 1 mipMapsPreserveCoverage: 0
mipMapFadeDistanceEnd: 3 alphaTestReferenceValue: 0.5
bumpmap: mipMapFadeDistanceStart: 1
convertToNormalMap: 0 mipMapFadeDistanceEnd: 3
externalNormalMap: 0 bumpmap:
heightScale: 0.25 convertToNormalMap: 0
normalMapFilter: 0 externalNormalMap: 0
isReadable: 0 heightScale: 0.25
streamingMipmaps: 0 normalMapFilter: 0
streamingMipmapsPriority: 0 flipGreenChannel: 0
grayScaleToAlpha: 0 isReadable: 0
generateCubemap: 6 streamingMipmaps: 0
cubemapConvolution: 1 streamingMipmapsPriority: 0
seamlessCubemap: 1 vTOnly: 0
textureFormat: 1 ignoreMipmapLimit: 0
maxTextureSize: 2048 grayScaleToAlpha: 0
textureSettings: generateCubemap: 6
serializedVersion: 2 cubemapConvolution: 1
filterMode: 2 seamlessCubemap: 1
aniso: 0 textureFormat: 1
mipBias: 0 maxTextureSize: 2048
wrapU: 1 textureSettings:
wrapV: 1 serializedVersion: 2
wrapW: 1 filterMode: 2
nPOTScale: 1 aniso: 0
lightmap: 0 mipBias: 0
compressionQuality: 50 wrapU: 1
spriteMode: 0 wrapV: 1
spriteExtrude: 1 wrapW: 1
spriteMeshType: 1 nPOTScale: 1
alignment: 0 lightmap: 0
spritePivot: {x: 0.5, y: 0.5} compressionQuality: 50
spritePixelsToUnits: 100 spriteMode: 0
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteExtrude: 1
spriteGenerateFallbackPhysicsShape: 1 spriteMeshType: 1
alphaUsage: 1 alignment: 0
alphaIsTransparency: 0 spritePivot: {x: 0.5, y: 0.5}
spriteTessellationDetail: -1 spritePixelsToUnits: 100
textureType: 0 spriteBorder: {x: 0, y: 0, z: 0, w: 0}
textureShape: 2 spriteGenerateFallbackPhysicsShape: 1
singleChannelComponent: 0 alphaUsage: 1
maxTextureSizeSet: 0 alphaIsTransparency: 0
compressionQualitySet: 0 spriteTessellationDetail: -1
textureFormatSet: 0 textureType: 0
platformSettings: textureShape: 2
- serializedVersion: 2 singleChannelComponent: 0
buildTarget: DefaultTexturePlatform flipbookRows: 1
maxTextureSize: 2048 flipbookColumns: 1
resizeAlgorithm: 0 maxTextureSizeSet: 0
textureFormat: -1 compressionQualitySet: 0
textureCompression: 1 textureFormatSet: 0
compressionQuality: 100 ignorePngGamma: 0
crunchedCompression: 0 applyGammaDecoding: 0
allowsAlphaSplitting: 0 swizzle: 50462976
overridden: 0 cookieLightType: 0
androidETC2FallbackOverride: 0 platformSettings:
spriteSheet: - serializedVersion: 4
serializedVersion: 2 buildTarget: DefaultTexturePlatform
sprites: [] maxTextureSize: 2048
outline: [] resizeAlgorithm: 0
physicsShape: [] textureFormat: -1
bones: [] textureCompression: 1
spriteID: compressionQuality: 100
vertices: [] crunchedCompression: 0
indices: allowsAlphaSplitting: 0
edges: [] overridden: 0
weights: [] ignorePlatformSupport: 0
spritePackingTag: androidETC2FallbackOverride: 0
pSDRemoveMatte: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
pSDShowRemoveMatteOption: 0 - serializedVersion: 4
userData: buildTarget: Standalone
assetBundleName: maxTextureSize: 2048
assetBundleVariant: resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
...@@ -5,6 +5,9 @@ EditorBuildSettings: ...@@ -5,6 +5,9 @@ EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: m_Scenes:
- enabled: 1
path: Assets/AppUI/NewAppUI/Scene/Boot.unity
guid: 89a5ca01ddc649a498cda8dc02cf28e3
- enabled: 1 - enabled: 1
path: Assets/AppUI/NewAppUI/Scene/Login.unity path: Assets/AppUI/NewAppUI/Scene/Login.unity
guid: 4fa5e0aa88e167d4aa3deb5d7b58efd2 guid: 4fa5e0aa88e167d4aa3deb5d7b58efd2
...@@ -15,7 +18,7 @@ EditorBuildSettings: ...@@ -15,7 +18,7 @@ EditorBuildSettings:
path: Assets/Scenes/TF/TF.unity path: Assets/Scenes/TF/TF.unity
guid: c2f60049cef0f6b44b9445afcf550aff guid: c2f60049cef0f6b44b9445afcf550aff
- enabled: 1 - enabled: 1
path: Assets/Scenes/MCQ/MCQ.unity path: Assets/Scenes/MCQ/Deprecated_MCQ.unity
guid: dc77d4f7977b6514e96035771e5e547f guid: dc77d4f7977b6514e96035771e5e547f
- enabled: 1 - enabled: 1
path: Assets/Scenes/CS/CS.unity path: Assets/Scenes/CS/CS.unity
......
...@@ -15,34 +15,34 @@ EditorUserSettings: ...@@ -15,34 +15,34 @@ EditorUserSettings:
value: 2550581500 value: 2550581500
flags: 0 flags: 0
RecentlyUsedSceneGuid-0: RecentlyUsedSceneGuid-0:
value: 07540056530459025956087011710b444116197f2d712769297d1866e6e5353b value: 52080c51560d5f03580b5e7242700c4446164f7d2e7f77612c281f32e0b8603d
flags: 0 flags: 0
RecentlyUsedSceneGuid-1: RecentlyUsedSceneGuid-1:
value: 52080c51560d5f03580b5e7242700c4446164f7d2e7f77612c281f32e0b8603d value: 0003525055055d020e0b0a7216755d444215417e787d27362e2f4866b2e1323e
flags: 0 flags: 0
RecentlyUsedSceneGuid-2: RecentlyUsedSceneGuid-2:
value: 0003525055055d020e0b0a7216755d444215417e787d27362e2f4866b2e1323e value: 0752035101010f0c54595b2046760e44134e4e7a7f7d71677c2c4836b7b4633e
flags: 0 flags: 0
RecentlyUsedSceneGuid-3: RecentlyUsedSceneGuid-3:
value: 0752035101010f0c54595b2046760e44134e4e7a7f7d71677c2c4836b7b4633e value: 5304575f5c0c51035d5a5e771271594417154e7c2d7b70647b7b4c35bbe1646d
flags: 0 flags: 0
RecentlyUsedSceneGuid-4: RecentlyUsedSceneGuid-4:
value: 5304575f5c0c51035d5a5e771271594417154e7c2d7b70647b7b4c35bbe1646d value: 5302565f55575d0b59575e2041710e44474e1e2c7f2d743278781965e7e16139
flags: 0 flags: 0
RecentlyUsedSceneGuid-5: RecentlyUsedSceneGuid-5:
value: 5302565f55575d0b59575e2041710e44474e1e2c7f2d743278781965e7e16139 value: 060203560401505a595d0a7345200d44404e1b7e2d707e617b7f4d63e7b6606b
flags: 0 flags: 0
RecentlyUsedSceneGuid-6: RecentlyUsedSceneGuid-6:
value: 540151565c06080b0808547711705a44474f1b297b7f25677e7b1f30bbe56060 value: 540151565c06080b0808547711705a44474f1b297b7f25677e7b1f30bbe56060
flags: 0 flags: 0
RecentlyUsedSceneGuid-7: RecentlyUsedSceneGuid-7:
value: 060203560401505a595d0a7345200d44404e1b7e2d707e617b7f4d63e7b6606b value: 575755530005085a5556097346745b4417164b2e292a73347a2b486be7e6306a
flags: 0 flags: 0
RecentlyUsedSceneGuid-8: RecentlyUsedSceneGuid-8:
value: 515251560603590259570f76147a5d4447154b282e7e25667e714830b6e36d6d value: 515251560603590259570f76147a5d4447154b282e7e25667e714830b6e36d6d
flags: 0 flags: 0
RecentlyUsedSceneGuid-9: RecentlyUsedSceneGuid-9:
value: 575755530005085a5556097346745b4417164b2e292a73347a2b486be7e6306a value: 5b0855530654590a090a0f74447a5e444f4f1b2e2d7022337d7b1e35b0b8316b
flags: 0 flags: 0
UnityEditor.ShaderGraph.Blackboard: UnityEditor.ShaderGraph.Blackboard:
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7 value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment