Commit 656b9b32 authored by Yousef Sameh's avatar Yousef Sameh

Merge remote-tracking branch 'origin/NewUIv2' into NewUI

# Conflicts:
#	My project/Assets/App/Infrastructure/Core/AppRouter.cs
#	My project/Assets/AppUI/NewAppUI/Login.uxml
#	My project/Assets/AppUI/NewAppUI/Scene/Boot.unity
#	My project/ProjectSettings/ProjectVersion.txt
parents 754a039e f7d8c037
......@@ -65,6 +65,56 @@ public class SupabaseAuthentication
}
}
public async UniTask<OneOf<Success, string>> ConvertGuestToEmail(string email, string password)
{
try
{
IsLoading = true;
var client = SupabaseManager.Instance.Supabase();
if (client == null) return "Supabase not initialized";
// 1. Verify we actually have a guest user logged in
if (client.Auth.CurrentUser == null)
return "No guest session found.";
// 2. Update the user with the new credentials
// This 'upgrades' the current anonymous user record
var attributes = new Supabase.Gotrue.UserAttributes
{
Email = email,
Password = password
};
var response = await client.Auth.Update(attributes);
if (response != null)
{
Debug.Log($"[Auth] Guest converted to email: {email}");
// Note: If 'Confirm Email' is ON in Supabase, the user
// might need to verify their email before the change is final.
return new Success();
}
return "Conversion failed: Unknown error";
}
catch (GotrueException ex)
{
Debug.LogError($"[Auth Convert] {ex.Message}");
return ex.Message;
}
catch (Exception ex)
{
Debug.LogError($"[Auth Convert] {ex.Message}");
return ex.Message;
}
finally
{
IsLoading = false;
}
}
public async UniTask<OneOf<Success, string>> LogIn(string email, string password)
{
try
......@@ -150,6 +200,49 @@ public class SupabaseAuthentication
}
}
public async UniTask<OneOf<Success, string>> SignUp(string email, string password, string username = "")
{
try
{
IsLoading = true;
var client = SupabaseManager.Instance.Supabase();
if (client == null)
return "Supabase not initialized";
// Optional: Include metadata like 'username' so it's available in auth.users
var options = new Supabase.Gotrue.SignUpOptions();
if (!string.IsNullOrEmpty(username))
{
options.Data = new Dictionary<string, object>
{
{ "username", username }
};
}
await client.Auth.SignUp(email.Trim(), password, options);
// Note: If 'Confirm Email' is ON in your Supabase dashboard,
// the user won't be able to sign in until they click the link.
return new Success();
}
catch (GotrueException ex)
{
Debug.LogError($"[Auth Signup] {ex.Message}");
return ex.Message;
}
catch (Exception ex)
{
Debug.LogError($"[Auth Signup] {ex.Message}");
return ex.Message;
}
finally
{
IsLoading = false;
}
}
public async UniTask<OneOf<Success, string>> DeleteAccount()
{
try
......
......@@ -160,7 +160,8 @@ public class UserService
int grade,
string sex,
int curriculum,
int term)
int term,
string email = null)
{
try
{
......@@ -179,6 +180,9 @@ public class UserService
Points = 0
};
if (email != null)
user.Email = email;
await client.From<User>().Insert(user);
return await GetCurrentUser();
}
......@@ -193,7 +197,9 @@ public class UserService
string username,
int grade,
int term,
int curriculum)
int curriculum,
string email = null
)
{
try
{
......@@ -204,6 +210,7 @@ public class UserService
var update = CurrentUser.Clone() as User;
if (username != null) update.Username = username;
if (email != null) update.Email = email;
update.Grade = grade;
update.Term = term;
update.Curriculum = curriculum;
......
......@@ -13,6 +13,9 @@ public class User : BaseModel, ICloneable
[Column("user_name")]
public string Username { get; set; }
[Column("email")]
public string Email { get; set; }
[Column("rank")]
public string Rank { get; set; }
......
......@@ -113,6 +113,16 @@ public class HomeController : MonoBehaviour
practiceButton.SetEnabled(enabled);
practiceButton.style.opacity = enabled ? 1f : 0.35f;
}
DisableChallengeIfAnon();
}
private void DisableChallengeIfAnon()
{
if (SupabaseManager.Instance.Supabase().Auth.CurrentUser.IsAnonymous)
{
challengeButton.style.opacity = 0.35f;
}
}
// private void OnNewActivityReceived(Activity activity)
......@@ -145,6 +155,12 @@ public class HomeController : MonoBehaviour
private void OnChallengeButtonClicked()
{
if (SupabaseManager.Instance.Supabase().Auth.CurrentUser.IsAnonymous)
{
ShowUIMessage.Instance.ShowMessage("سجل حساب أو سجل دخولك لتتمكن من الوصول إلى التحدي", true);
return;
}
if (IsNavigating) return;
IsNavigating = true;
......
......@@ -86,7 +86,7 @@ public class LeaderboardController : MonoBehaviour, IDisposable
{
var errorLabel = new Label($"Error loading leaderboard: {error}");
leaderboardScrollView.Add(errorLabel);
}
}
);
}
catch (OperationCanceledException)
......
......@@ -17,6 +17,8 @@ public class ProfileController : MonoBehaviour
private CustomSwitch musicSwitch;
private CustomSwitch sfxSwitch;
private Button sure;
void Start()
{
var root = profileDocument.rootVisualElement.Q("Settings");
......@@ -41,6 +43,10 @@ public class ProfileController : MonoBehaviour
musicSwitch.onValueChanged += (value) => SettingsCache.MusicEnabled = value;
sfxSwitch.onValueChanged += (value) => SettingsCache.SfxEnabled = value;
sure = root.Q<Button>("Sure");
sure.clicked += DeleteAccount;
UserService.Instance.OnUserChanged += OnUserChange;
OnUserChange(UserService.Instance.CurrentUser);
}
......@@ -79,10 +85,17 @@ public class ProfileController : MonoBehaviour
);
}
private async void DeleteAccount()
{
await SupabaseAuthentication.Instance.DeleteAccount();
}
private void OnDestroy()
{
UserService.Instance.OnUserChanged -= OnUserChange;
logoutButton.clicked -= AppRouter.Logout;
updateProfileButton.clicked -= UpdateProfile;
}
}
This diff is collapsed.
fileFormatVersion: 2
guid: 6b616f783aad2ab4a81fd452786f2041
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DotFloating
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0
serializedVersion: 6
m_Width: 1080
m_Height: 1920
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 94
m_ColorFormat: 8
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_UseDynamicScaleExplicit: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2
fileFormatVersion: 2
guid: 038b07559aa3b7c40aa0c6d6f3af26e6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
public class FPSDisplay : MonoBehaviour
{
float deltaTime = 0.0f;
private void Start()
{
DontDestroyOnLoad(gameObject);
}
void Update()
{
deltaTime += (Time.deltaTime - deltaTime) * 0.1f;
}
void OnGUI()
{
int w = Screen.width, h = Screen.height;
GUIStyle style = new GUIStyle();
Rect rect = new Rect(10, 10, w, h * 2 / 100);
style.alignment = TextAnchor.UpperLeft;
style.fontSize = h * 2 / 100;
style.normal.textColor = Color.green;
float msec = deltaTime * 1000.0f;
float fps = 1.0f / deltaTime;
string text = string.Format("{0:0.0} ms ({1:0.} FPS)", msec, fps);
GUI.Label(rect, text, style);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 15318eff4103b8c45bc1e43b387203c1
\ No newline at end of file
This diff is collapsed.
......@@ -149,6 +149,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 545920730}
- {fileID: 1311728068}
m_Father: {fileID: 1628372281}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &545920729
......@@ -394,7 +395,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!114 &1093642341
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -423,6 +424,51 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1311728067
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1311728068}
- component: {fileID: 1311728069}
m_Layer: 0
m_Name: _showUIMessage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1311728068
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1311728067}
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: 334107210}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1311728069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1311728067}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 42d332574029f664b90d64379d0bea9b, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ShowUIMessage
UIDocument: {fileID: 1971829438}
--- !u!1 &1536960804
GameObject:
m_ObjectHideFlags: 0
......
......@@ -73,6 +73,10 @@
padding-left: 0;
width: 100%;
overflow: visible;
justify-content: center;
align-self: center;
align-content: center;
align-items: center;
}
#Footer #unity-toggle-button-group__container {
......@@ -80,6 +84,9 @@
height: 100%;
width: 100%;
overflow: visible;
align-self: center;
justify-content: center;
align-content: center;
}
#Footer Button {
......@@ -102,6 +109,7 @@
transition-duration: 0.15s;
scale: 0.8 0.8 0.8;
filter: grayscale(1);
transition-timing-function: ease-out-back;
}
#Footer Button:selected {
......@@ -115,12 +123,12 @@
}
#Footer Button Label {
font-size: 50px;
font-size: 38px;
color: rgb(128, 128, 128);
}
#Footer Button #Icon {
font-size: 120px;
font-size: 75px;
-unity-font-definition: url("project://database/Assets/AppUI/NewAppUI/Segoe%20UI%20Emoji%20Regular.ttf?fileID=12800000&guid=e4a35873663d3d34ebd9c92e51dbbe46&type=3#Segoe UI Emoji Regular");
}
......@@ -131,7 +139,7 @@
padding-left: 75px;
}
#Body #Home #Contant #ButtonsParent Button {
#Home #ButtonsParent Button {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
......@@ -154,10 +162,11 @@
transition-duration: 0.05s;
}
#Body #Home #Contant #ButtonsParent Button:active {
#Home #ButtonsParent Button:active {
border-bottom-width: 5px;
translate: 0% 10px;
transition-duration: 0.1s;
transition-timing-function: ease;
}
#Body #Home #Rank #CustomProgressBar #Text {
......@@ -487,3 +496,43 @@
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
#Name #unity-text-input {
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 0;
border-left-width: 0;
}
#SelectGame #unity-content-and-vertical-scroll-container {
flex-grow: 0;
height: auto;
}
.loginPage-button-text {
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
background-color: rgba(17, 12, 12, 0);
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 0;
border-left-width: 0;
color: rgb(48, 48, 208);
-unity-font-definition: url("project://database/Assets/_project/Fonts/TS%20Hakwaty%20Bold.otf?fileID=12800000&guid=62191f6d90aeccb4d896e29b4844ceaf&type=3#TS Hakwaty Bold");
-unity-text-generator: advanced;
font-size: 50px;
}
.loginPage-button-text:active {
opacity: 0.75;
}
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UIElements;
......@@ -10,7 +9,6 @@ public class MainmenuAnimation : MonoBehaviour
ToggleButtonGroup _footerToggleButtonGroup;
VisualElement _bodyPanel;
VisualElement menuPanel;
void Start()
{
......@@ -23,7 +21,7 @@ public class MainmenuAnimation : MonoBehaviour
HandleADS();
//HandleNotifications();
HandleRemoveAccount();
}
List<VisualElement> ADS = new();
......@@ -198,44 +196,52 @@ public class MainmenuAnimation : MonoBehaviour
Application.OpenURL("https://sciencestreetlab.com/sciencestreet-challge-app-terms-services/");
};
Button deleteAccount = mainMenu.rootVisualElement.Q<Button>("DeleteAccountButton");
deleteAccount.clicked += () =>
{
Application.OpenURL("https://sciencestreetlab.com/sciencestreet-challenge-delete-account/");
};
}
#endregion
#region Notifications
private void HandleNotifications()
#region RemoveAccount
private void HandleRemoveAccount()
{
VisualElement notificationsPanel = mainMenu.rootVisualElement.Q<VisualElement>("NotificationsPanel");
VisualElement removeAccountPanel = mainMenu.rootVisualElement.Q<VisualElement>("RemoveAccountPanel");
Button openNotificationsButton = mainMenu.rootVisualElement.Q<Button>("OpenNotificationsButton");
Button closeNotificationsButton = mainMenu.rootVisualElement.Q<Button>("CloseNotificationsButton");
Button openRemoveAccountPanel = mainMenu.rootVisualElement.Q<Button>("OpenRemoveAccountPanel");
Button closeRemoveAccountPanel = mainMenu.rootVisualElement.Q<Button>("CloseRemoveAccountPanel");
openNotificationsButton.clicked += () =>
openRemoveAccountPanel.clicked += () =>
{
notificationsPanel.style.display = DisplayStyle.Flex;
notificationsPanel.experimental.animation.Start(0, 1, 200, (v, t) =>
removeAccountPanel.style.display = DisplayStyle.Flex;
removeAccountPanel.experimental.animation.Start(0, 1, 200, (v, t) =>
{
notificationsPanel.style.opacity = t;
removeAccountPanel.style.opacity = t;
});
};
closeNotificationsButton.clicked += () =>
closeRemoveAccountPanel.clicked += () =>
{
notificationsPanel.experimental.animation.Start(1, 0, 200, (v, t) =>
removeAccountPanel.experimental.animation.Start(1, 0, 200, (v, t) =>
{
notificationsPanel.style.opacity = t;
removeAccountPanel.style.opacity = t;
}).OnCompleted(() =>
{
notificationsPanel.style.display = DisplayStyle.None;
removeAccountPanel.style.display = DisplayStyle.None;
});
};
Button removeAccount = removeAccountPanel.Q<Button>("Sure");
removeAccount.clicked += () => Remove(closeRemoveAccountPanel, removeAccount);
}
#endregion
private void Remove(Button closeRemoveAccountPanel, Button removeAccount)
{
closeRemoveAccountPanel.SetEnabled(false);
removeAccount.SetEnabled(false);
removeAccount.text = "جاري...";
}
}
using System;
using UnityEngine;
using UnityEngine.UIElements;
public class ShowUIMessage : MonoBehaviour
{
public static ShowUIMessage Instance { get; private set; }
[SerializeField] UIDocument UIDocument;
VisualElement messagePanel;
Label messageLabel;
Button closeMessagePanelButton;
VisualElement backToHomeParent;
Button backToHomeButton;
private void Awake()
{
if (Instance == null)
{
Instance = this;
}
else
{
Destroy(this);
}
}
void Start()
{
messagePanel = UIDocument.rootVisualElement.Q<VisualElement>("MessagePanel");
messageLabel = messagePanel.Q<Label>("MessageLabel");
closeMessagePanelButton = messagePanel.Q<Button>("CloseMessagePanelButton");
backToHomeParent = messagePanel.Q<VisualElement>("BackToHome");
backToHomeButton = messagePanel.Q<Button>("BackToHomeButton");
closeMessagePanelButton.clicked += () =>
{
messagePanel.experimental.animation.Start(1, 0, 200, (v, t) =>
{
messagePanel.style.opacity = t;
}).OnCompleted(() =>
{
messagePanel.style.display = DisplayStyle.None;
});
};
}
public void ShowMessage(string message, bool ShowBackButton = false)
{
messagePanel.style.display = DisplayStyle.Flex;
messagePanel.experimental.animation.Start(0, 1, 200, (v, t) =>
{
messagePanel.style.opacity = t;
});
messageLabel.text = message;
backToHomeParent.style.display = ShowBackButton ? DisplayStyle.Flex : DisplayStyle.None;
backToHomeButton.clicked += () =>
{
AppRouter.GoToLogin();
};
}
private void BackToHome()
{
Debug.Log("Back To Home");
}
}
fileFormatVersion: 2
guid: 42d332574029f664b90d64379d0bea9b
\ No newline at end of file
fileFormatVersion: 2
guid: 309605c5324eb484d986b6b1292a0c92
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: de38527fb1e833e4db8c97fbbaa4ff6d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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
- serializedVersion: 4
buildTarget: WebGL
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: WindowsStoreApps
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: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: f997f736bacd98c4aacd8d3750bb5c38
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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
- serializedVersion: 4
buildTarget: WebGL
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: WindowsStoreApps
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: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d12c9b1a138254946b5d69f86af530d0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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
- serializedVersion: 4
buildTarget: WebGL
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: WindowsStoreApps
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: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 660a767e8b2178c4390e7aab91a500ec
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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
- serializedVersion: 4
buildTarget: WebGL
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: WindowsStoreApps
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: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4360171925705036856
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_sprite 2
m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _ALPHATEST_ON
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 47edf6b2073a99a4d90fe2957b263012, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _ColorMode: 0
- _Cull: 2
- _Cutoff: 0.343
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DistortionBlend: 0.5
- _DistortionEnabled: 0
- _DistortionStrength: 1
- _DistortionStrengthScaled: 0
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionEnabled: 0
- _EnvironmentReflections: 1
- _FlipbookMode: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _LightingEnabled: 0
- _Metallic: 0
- _Mode: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SoftParticlesFarFadeDistance: 1
- _SoftParticlesNearFadeDistance: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 0.8069525, g: 0.8307701, b: 0.9646866, a: 1}
- _ColorAddSubDiff: {r: 1, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
fileFormatVersion: 2
guid: 8d3be7b74902ce24aa88220e750fe81d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
......@@ -152,3 +152,4 @@ Material:
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="project://database/Assets/AppUI/UIToolkit/USS/Style.uss?fileID=7433441132597879392&amp;guid=f90ac983f14f5f043a3437b2c294db62&amp;type=3#Style"/>
<ui:Button text="" name="Player" class="menu-button" style="margin-top: 40px;">
<ui:Button text="" name="Player" class="menu-button" style="margin-top: 40px; margin-right: 75px; margin-left: 75px;">
<ui:VisualElement name="Padding" class="padding" style="flex-grow: 1; flex-direction: row-reverse; align-items: center; background-color: rgb(255, 255, 255); padding-top: 25px; padding-bottom: 25px; border-top-left-radius: 30px; border-top-right-radius: 30px; border-bottom-right-radius: 30px; border-bottom-left-radius: 30px; border-top-width: 0; border-right-width: 0; border-bottom-width: 10px; border-left-width: 0; border-left-color: rgba(0, 0, 0, 0.25); border-right-color: rgba(0, 0, 0, 0.25); border-top-color: rgba(0, 0, 0, 0.25); border-bottom-color: rgba(0, 0, 0, 0.25);">
<ui:Label text="1" name="IndexLabel" class="base-text-bold" style="color: rgb(158, 158, 158); font-size: 34px; margin-left: 5px; width: 60px;"/>
<ui:VisualElement name="PlayerImage" style="flex-grow: 0; height: 125px; width: 125px; background-image: url(&quot;project://database/Assets/GUI%20PRO%20Kit%20-%20Simple%20Casual/Sprite/Demo/Demo_Character/UserPicture_01_Sample.png?fileID=2800000&amp;guid=358c17b4dd4c0461f8bcaf75f245f54e&amp;type=3#UserPicture_01_Sample&quot;); -unity-background-scale-mode: scale-to-fit; margin-left: 35px; background-color: rgb(209, 209, 209); border-top-left-radius: 50%; border-top-right-radius: 50%; border-bottom-right-radius: 50%; border-bottom-left-radius: 50%;"/>
......
......@@ -111,6 +111,7 @@ namespace com.al_arcade.mcq
private void Start()
{
Application.targetFrameRate = 60;
Instance = this;
if (arabicFont != null) SSFontManager.Font = arabicFont;
StartCoroutine(BuildEverything());
......
......@@ -12,6 +12,9 @@
background-color: rgba(0.4156863, 0.372549, 0.9607844, 1);
border-bottom-right-radius: 25px;
border-bottom-left-radius: 25px;
width: 400px;
translate: -15% 0;
}
.unity-base-dropdown .unity-base-dropdown__container-outer{
border-top-width: 0;
......
This diff is collapsed.
fileFormatVersion: 2
guid: 65029139cbac23040893e56d77097fcf
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -116,7 +116,6 @@ PlayerSettings:
xboxEnableGuest: 0
xboxEnablePIXSampling: 0
metalFramebufferOnly: 0
metalUseMetalDisplayLink: 0
xboxOneResolution: 0
xboxOneSResolution: 0
xboxOneXResolution: 3
......
<<<<<<< HEAD
m_EditorVersion: 6000.3.12f1
m_EditorVersionWithRevision: 6000.3.12f1 (fca03ac9b0d5)
=======
m_EditorVersion: 6000.3.8f1
m_EditorVersionWithRevision: 6000.3.8f1 (1c7db571dde0)
>>>>>>> origin/NewUIv2
......@@ -2,13 +2,13 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
serializedVersion: 3
tags: []
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- VFX
- Water
- UI
-
......@@ -50,27 +50,3 @@ TagManager:
- Light Layer 5
- Light Layer 6
- Light Layer 7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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