Commit c32eb974 authored by Yousef Sameh's avatar Yousef Sameh

MCQ merge fix

parent 13d81c32
......@@ -66,10 +66,8 @@ public class SessionListener : Singleton<SessionListener>
private void OnUserChanged(User user)
{
if (SceneManager.GetActiveScene().name != "MainMenu")
{
LoggedIn.Invoke();
}
UserService.Instance.OnUserChange -= OnUserChanged;
LoggedIn.Invoke();
}
private async UniTask<bool> UserFileFoundAndLoaded()
......
......@@ -59,6 +59,8 @@ public class UserService : Singleton<UserService>
};
await supabase.From<User>().Insert(user);
CurrentUser = user;
OnUserChange?.Invoke(CurrentUser);
return new UserResult(user);
}
catch (Exception ex)
......
......@@ -57,7 +57,7 @@ public class LeaderboardController : MonoBehaviour
private void ApplyTopThree(int index, LeaderboardPlayerModel player)
{
var root = leaderboardDocument.rootVisualElement;
var root = leaderboardDocument.rootVisualElement.Q<VisualElement>("Leaderboard");
Label name;
Label xp;
......
......@@ -6,19 +6,14 @@ public class ProfileController : MonoBehaviour
[SerializeField] private UIDocument profileDocument;
private Label name;
private Label rank;
private Label xp;
private CustomProgressBar xpProgressBar;
private Button logoutButton;
void Awake()
{
var root = profileDocument.rootVisualElement.Q("Profile");
var root = profileDocument.rootVisualElement.Q("Settings");
name = root.Q<Label>("Username");
rank = root.Q<Label>("Rank");
xp = root.Q<Label>("Xp");
xpProgressBar = root.Q<CustomProgressBar>("ProgressBar");
logoutButton = root.Q<Button>("LogoutButton");
logoutButton.clicked += () => SupabaseAuthentication.Instance.LogOut();
UserService.Instance.OnUserChange += OnUserChange;
OnUserChange(UserService.Instance.CurrentUser);
......@@ -27,9 +22,5 @@ public class ProfileController : MonoBehaviour
private void OnUserChange(User user)
{
name.text = user.Username;
rank.text = AppUtils.RankToArabic(user.Rank);
xp.text = user.Points.ToString();
xpProgressBar.Value = user.Points / 5000f;
}
}
......@@ -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="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: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/ALArcade/Hakwaty%20Font/TS%20Hakwaty%20Bold.otf?fileID=12800000&amp;guid=3fd066470b6b5214a844c6c22bfaa0a4&amp;type=3#TS Hakwaty Bold&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-left;">
<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:VisualElement>
......
......@@ -13,8 +13,7 @@
</ui:Button>
</ui:VisualElement>
</ui:VisualElement>
<ui:Label text="عبد الرحمن" name="FirstName" class="text-bold-black" style="color: rgb(255, 255, 255);"/>
<ui:Label text="abdo@gmail.com" name="FirstXp" class="text-light" style="color: rgba(153, 153, 153, 0.7); padding-top: 10px;"/>
<ui:Label text="عبد الرحمن" name="Username" class="text-bold-black" style="color: rgb(255, 255, 255);"/>
</ui:VisualElement>
</ui:VisualElement>
<ui:VisualElement name="Contant" class="padding" style="flex-grow: 1;">
......
......@@ -634,10 +634,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
text: "\u062A\u062D\u0645\u064A\u0644..."
text: "\u062C\u0627\u0631\u064A \u0627\u0644\u062A\u062D\u0645\u064A\u0644..."
fontStack: {fileID: 11400000, guid: 657d8db1dabff4325ae70686887b629b, type: 2}
appearance: {fileID: 11400000, guid: 3a559cf5d653f05ea807e1be5655df92, type: 2}
fontSize: 100
fontSize: 75
baseDirection: 2
wordWrap: 1
horizontalAlignment: 1
......
......@@ -119,6 +119,50 @@ NavMeshSettings:
debug:
m_Flags: 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
GameObject:
m_ObjectHideFlags: 0
......@@ -151,6 +195,7 @@ Transform:
- {fileID: 918718236}
- {fileID: 1841206267}
- {fileID: 803660555}
- {fileID: 1154832527}
m_Father: {fileID: 2035341440}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &659928730
......@@ -276,6 +321,51 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::MainmenuAnimation
mainMenu: {fileID: 1455761156}
--- !u!1 &1154832526
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1154832527}
- component: {fileID: 1154832528}
m_Layer: 0
m_Name: Profile Controller
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1154832527
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1154832526}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -6.307274, y: 366.3949, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 652396694}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1154832528
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1154832526}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc2b3d6a8d39f3230aef9e126ee2b1ea, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ProfileController
profileDocument: {fileID: 1455761156}
--- !u!1 &1163643458
GameObject:
m_ObjectHideFlags: 0
......@@ -603,7 +693,7 @@ GameObject:
- component: {fileID: 1841206267}
- component: {fileID: 1841206266}
m_Layer: 0
m_Name: MainMenuController
m_Name: Mainmenu Controller
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -678,3 +768,4 @@ SceneRoots:
m_Roots:
- {fileID: 2035341440}
- {fileID: 1709733325}
- {fileID: 69988541}
This diff is collapsed.
fileFormatVersion: 2
guid: a4581ccba94d64445bfb85db49711926
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 70e093a0ef85a3e418cc77c732bc9e48
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -368,7 +368,6 @@ namespace com.al_arcade.cs
{
var audio = SSAudioManager.Instance;
audio.PlayVictory();
StartCoroutine(DelayedAction(0.7f, () => audio.PlayCheer())); // shared helper
SSParticleManager.Instance?.PlayScreenConfetti();
bot?.PlayVictoryDance();
......@@ -379,6 +378,8 @@ namespace com.al_arcade.cs
protected override IEnumerator NoChallengeVictorySequence()
{
StartCoroutine(DelayedAction(0.7f, () => SSAudioManager.Instance.PlayCheer())); // shared helper
yield return new WaitForSeconds(1f);
uiManager?.ShowResults(_score, _correctCount, _wrongClicks, _questions.Length, _streak);
......
......@@ -104,5 +104,6 @@ public class ChallengeCanvas : MonoBehaviour
{
SceneManager.LoadScene("MainMenu");
AnimateOut();
challengeManager.EndChallenge();
}
}
\ No newline at end of file
......@@ -132,4 +132,9 @@ public class ChallengeManager : MonoBehaviour
await ChallengeService.Instance.AddChallenge(true, timeSaved, startTime, DateTime.UtcNow);
}
public void EndChallenge()
{
Destroy(gameObject, 5);
}
}
\ No newline at end of file
......@@ -603,7 +603,6 @@ MonoBehaviour:
gameSceneNames:
- cs
- tf
- oldmcq
transitionSettings: {fileID: 11400000, guid: 057babd6f13132c449650d99e3c4e99c, type: 2}
winningPoints: 100
timeSavedBonusMultiplier: 2
......
......@@ -50,7 +50,7 @@ public class McqCompetitor : MonoBehaviour
{
if (manager == null) print("Null manager");
_manager = manager;
manager.onAnswerGiven.AddListener(ChangeZLevel);
manager.onAnswerGiven?.AddListener(ChangeZLevel);
manager.onGameOver.AddListener(Stop);
}
......
......@@ -62,7 +62,7 @@ namespace com.al_arcade.mcq
base.Awake();
_mainCamera = Camera.main;
onAnswerGiven.AddListener(CameraFeedback);
onAnswerGiven?.AddListener(CameraFeedback);
}
// ─── BaseGameManager implementation ──────────────────────────────────
......
......@@ -58,8 +58,8 @@ namespace com.al_arcade.mcq
{
if (manager == null) print("Null manager");
_manager = manager;
manager.onAnswerGiven.AddListener(PlayAnimation);
manager.onGameOver.AddListener(Stop);
manager.onAnswerGiven?.AddListener(PlayAnimation);
manager.onGameOver?.AddListener(Stop);
}
private void PlayAnimation(bool correct)
......
......@@ -37,8 +37,8 @@ namespace com.al_arcade.shared
// ─── Shared UnityEvents ──────────────────────────────────────────────
[Header("Base Events")]
public UnityEvent onGameStart;
public UnityEvent<bool> onAnswerGiven;
public UnityEvent onGameStart = new();
public UnityEvent<bool> onAnswerGiven = new();
// ─────────────────────────────────────────────────────────────────────
// Abstract API – every subclass must implement these
......
This diff is collapsed.
fileFormatVersion: 2
guid: 03b90b40492b121419ff3e2b51d6ea5a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -15,34 +15,34 @@ EditorUserSettings:
value: 2550581500
flags: 0
RecentlyUsedSceneGuid-0:
value: 5305515503010a0e0f580977147208444e151a78787b726775711931bbe1613e
value: 07540056530459025956087011710b444116197f2d712769297d1866e6e5353b
flags: 0
RecentlyUsedSceneGuid-1:
value: 5701055506000a030f5c542744260844404f4d73797975367c2c1e6ab7e2653d
value: 52080c51560d5f03580b5e7242700c4446164f7d2e7f77612c281f32e0b8603d
flags: 0
RecentlyUsedSceneGuid-2:
value: 07540056530459025956087011710b444116197f2d712769297d1866e6e5353b
value: 0003525055055d020e0b0a7216755d444215417e787d27362e2f4866b2e1323e
flags: 0
RecentlyUsedSceneGuid-3:
value: 060203560401505a595d0a7345200d44404e1b7e2d707e617b7f4d63e7b6606b
value: 0752035101010f0c54595b2046760e44134e4e7a7f7d71677c2c4836b7b4633e
flags: 0
RecentlyUsedSceneGuid-4:
value: 52080c51560d5f03580b5e7242700c4446164f7d2e7f77612c281f32e0b8603d
value: 5304575f5c0c51035d5a5e771271594417154e7c2d7b70647b7b4c35bbe1646d
flags: 0
RecentlyUsedSceneGuid-5:
value: 515251560603590259570f76147a5d4447154b282e7e25667e714830b6e36d6d
value: 5302565f55575d0b59575e2041710e44474e1e2c7f2d743278781965e7e16139
flags: 0
RecentlyUsedSceneGuid-6:
value: 575755530005085a5556097346745b4417164b2e292a73347a2b486be7e6306a
value: 540151565c06080b0808547711705a44474f1b297b7f25677e7b1f30bbe56060
flags: 0
RecentlyUsedSceneGuid-7:
value: 0003525055055d020e0b0a7216755d444215417e787d27362e2f4866b2e1323e
value: 060203560401505a595d0a7345200d44404e1b7e2d707e617b7f4d63e7b6606b
flags: 0
RecentlyUsedSceneGuid-8:
value: 0752035101010f0c54595b2046760e44134e4e7a7f7d71677c2c4836b7b4633e
value: 515251560603590259570f76147a5d4447154b282e7e25667e714830b6e36d6d
flags: 0
RecentlyUsedSceneGuid-9:
value: 5304575f5c0c51035d5a5e771271594417154e7c2d7b70647b7b4c35bbe1646d
value: 575755530005085a5556097346745b4417164b2e292a73347a2b486be7e6306a
flags: 0
UnityEditor.ShaderGraph.Blackboard:
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