Added Sounds and improved steps

dev-ali-supabase
Ali Sharoz 2 weeks ago
parent f5413dce9e
commit 10451767f9

@ -120,7 +120,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 5795159706083873510}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 7689233589619613832}
m_TargetAssemblyTypeName: EmailOpenPanel, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!1 &433226024839028212
GameObject:
m_ObjectHideFlags: 0
@ -2503,6 +2515,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 7689233589619613832}
m_TargetAssemblyTypeName: EmailOpenPanel, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!1 &8086755141138022702
GameObject:
m_ObjectHideFlags: 0
@ -2636,10 +2660,10 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
- m_Target: {fileID: 7689233589619613832}
m_TargetAssemblyTypeName: EmailOpenPanel, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
@ -2768,7 +2792,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 4698368970841939204}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 7689233589619613832}
m_TargetAssemblyTypeName: EmailOpenPanel, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!1 &8305608605525960108
GameObject:
m_ObjectHideFlags: 0
@ -3328,7 +3364,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 2280081580298180249}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 7689233589619613832}
m_TargetAssemblyTypeName: EmailOpenPanel, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!1 &8692409038100497048
GameObject:
m_ObjectHideFlags: 0

@ -923,6 +923,7 @@ MonoBehaviour:
swayAmplitude: 0.02
transitionSpeed: 5
movementScript: {fileID: 1809986913}
footstepsClip: {fileID: 8300000, guid: f5ced8a9a3146694989ded64cbd751fc, type: 3}
--- !u!1001 &16599093
PrefabInstance:
m_ObjectHideFlags: 0
@ -1160,6 +1161,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &18539502
MonoBehaviour:
m_ObjectHideFlags: 0
@ -8053,6 +8066,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &109379979
MonoBehaviour:
m_ObjectHideFlags: 0
@ -17870,6 +17895,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &236729269
MonoBehaviour:
m_ObjectHideFlags: 0
@ -20221,6 +20258,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!4 &264911937 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4279650551743048, guid: ebc766158960dbb41af7dd66e022f015, type: 3}
@ -28294,6 +28343,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &373827011
MonoBehaviour:
m_ObjectHideFlags: 0
@ -34520,6 +34581,59 @@ Transform:
m_CorrespondingSourceObject: {fileID: 4170872224999596, guid: 63a656a2a2d1a2342bed22ca185e5c28, type: 3}
m_PrefabInstance: {fileID: 458124781}
m_PrefabAsset: {fileID: 0}
--- !u!1 &459458785
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 459458787}
- component: {fileID: 459458786}
m_Layer: 0
m_Name: SoundManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &459458786
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 459458785}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 988108d9ee3a2f747846fa7c9e95cf87, type: 3}
m_Name:
m_EditorClassIdentifier:
inboxDing: {fileID: 8300000, guid: 02a8e34be6271a24fa4dedfa305d3145, type: 3}
officeFootsteps: {fileID: 8300000, guid: f5ced8a9a3146694989ded64cbd751fc, type: 3}
officeAmbience: {fileID: 0}
buttonClick: {fileID: 8300000, guid: e1bd1f477160cb947b4f2dd840d995f3, type: 3}
phishingAlert: {fileID: 8300000, guid: 0bcd598d36bc3bb4a89381b4097cbab2, type: 3}
hackedAlert: {fileID: 8300000, guid: 5ac5a4b7b13662c4fbf4d8b173af6d0f, type: 3}
typewriterSubtitle: {fileID: 0}
correctAction: {fileID: 8300000, guid: 89b62acf255990a40b6382107d2dae4b, type: 3}
audioSource: {fileID: 0}
--- !u!4 &459458787
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 459458785}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.167, y: 1.4644, z: -0.02700001}
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!4 &459922675 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4462408031516290, guid: 29aa987241a223347bf0b645c85fd2b2, type: 3}
@ -35638,6 +35752,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &481303969
MonoBehaviour:
m_ObjectHideFlags: 0
@ -71528,6 +71654,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &950349107
MonoBehaviour:
m_ObjectHideFlags: 0
@ -83545,6 +83683,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &1131396884
MonoBehaviour:
m_ObjectHideFlags: 0
@ -85382,6 +85532,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &1156166648
MonoBehaviour:
m_ObjectHideFlags: 0
@ -86040,7 +86202,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1165035726
RectTransform:
m_ObjectHideFlags: 0
@ -86153,6 +86315,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &1165035728
MonoBehaviour:
m_ObjectHideFlags: 0
@ -92420,6 +92594,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &1240692696
MonoBehaviour:
m_ObjectHideFlags: 0
@ -106083,6 +106269,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &1443737820
MonoBehaviour:
m_ObjectHideFlags: 0
@ -128383,6 +128581,134 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 98a28351f5b81af449b072eaf6a656f9, type: 3}
--- !u!1 &1752641677
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1752641679}
- component: {fileID: 1752641678}
m_Layer: 0
m_Name: OfficeAmbience
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &1752641678
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1752641677}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: fd67557d9d69fe54296b31207b805511, type: 3}
m_PlayOnAwake: 1
m_Volume: 0.497
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!4 &1752641679
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1752641677}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.167, y: 1.4644, z: -0.02700001}
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!1001 &1752861799
PrefabInstance:
m_ObjectHideFlags: 0
@ -129987,6 +130313,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!1001 &1773994106
PrefabInstance:
m_ObjectHideFlags: 0
@ -131974,6 +132312,7 @@ MonoBehaviour:
cameraSitTarget: {fileID: 390376884}
moveSpeed: 2
rotationSpeed: 5
NewEmailObj: {fileID: 1165035725}
--- !u!4 &1810403119 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4279650551743048, guid: ebc766158960dbb41af7dd66e022f015, type: 3}
@ -146930,6 +147269,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &2043462172
MonoBehaviour:
m_ObjectHideFlags: 0
@ -147934,6 +148285,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 459458786}
m_TargetAssemblyTypeName: SoundManager, Assembly-CSharp
m_MethodName: PlayButtonClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
--- !u!114 &2053632137
MonoBehaviour:
m_ObjectHideFlags: 0
@ -160443,3 +160806,5 @@ SceneRoots:
- {fileID: 1568526664}
- {fileID: 2143540275}
- {fileID: 292487263}
- {fileID: 459458787}
- {fileID: 1752641679}

@ -56,6 +56,8 @@ public class BodyLinkHandler : MonoBehaviour, IPointerClickHandler, IPointerExit
bool isOptimal = !email.isPhishing;
SupabaseEventLogger.Instance?.LogDecisionEvent(isOptimal);
//SoundManager.Instance.PlayPhishingAlert();
SoundManager.Instance.PlayHacked();
SceneOutcomeManager.Instance?.Clicked(email);
}

@ -11,7 +11,28 @@ public class CameraHeadBobbing : MonoBehaviour
private Vector3 initialLocalPos;
private float timer;
public AudioClip footstepsClip;
private AudioSource audioSource;
void Awake()
{
audioSource = gameObject.AddComponent<AudioSource>();
audioSource.clip = footstepsClip;
audioSource.loop = true;
audioSource.playOnAwake = false;
}
void OnEnable()
{
if (footstepsClip != null && !audioSource.isPlaying)
audioSource.Play();
}
void OnDisable()
{
if (audioSource.isPlaying)
audioSource.Stop();
}
void Start()
{
initialLocalPos = transform.localPosition;

@ -27,6 +27,7 @@ public class CharacterMovement : MonoBehaviour
private bool cameraTransitionStarted = false;
private Quaternion targetSitRotation;
bool isStarted = false;
public GameObject NewEmailObj;
void Start()
{
if (waypoints == null || waypoints.Length == 0)
@ -56,6 +57,7 @@ public class CharacterMovement : MonoBehaviour
isStarted = true;
SupabaseEventLogger.Instance?.StartSession();
InstructionManager.Instance?.ShowScreenInstruction("mission_intro");
}
void Update()
{
@ -128,7 +130,8 @@ public class CharacterMovement : MonoBehaviour
transform.rotation = targetSitRotation;
animator.applyRootMotion = true;
PlayAnimation("SitDown");
NewEmailObj.SetActive(true);
SoundManager.Instance.PlayInboxDing();
// Disable camera bobbing
if (cameraHeadBobbing != null)
cameraHeadBobbing.enabled = false;
@ -160,6 +163,7 @@ public class CharacterMovement : MonoBehaviour
// Move and rotate camera to final cinematic zoom position
mainCamera.GetComponent<LookAtConstraint>().constraintActive = false;
SoundManager.Instance.audioSource.Stop();
mainCamera.DOMove(cameraSitTarget.position, 1f);
mainCamera.DORotate(cameraSitTarget.eulerAngles, 1f)
.OnComplete(() =>

@ -31,6 +31,11 @@ public class EmailOpenPanel : MonoBehaviour
public TextMeshProUGUI infoSubject;
public Button closeInfoButton;
public void PlayButtonClick()
{
SoundManager.Instance.PlayButtonClick();
}
public void Setup(EmailData data, string initial, Sprite iconSprite)
{
emailData = data;
@ -118,9 +123,13 @@ public class EmailOpenPanel : MonoBehaviour
SupabaseEventLogger.Instance.LogScoreEvent(score);
if (isCorrect)
{
SoundManager.Instance?.PlayCorrectAction();
InstructionManager.Instance?.ShowScreenInstruction("correct_choice", 3f);
}
else
{
SoundManager.Instance?.PlayPhishingAlert();
}
switch (action)
{
case "report":
@ -132,7 +141,7 @@ public class EmailOpenPanel : MonoBehaviour
}
SupabaseEventLogger.Instance?.CompleteSessionAndSubmitResult(
userId: "user123", // replace with real user ID if available
userId: SystemInfo.deviceUniqueIdentifier, // replace with real user ID if available
passed: isCorrect,
optimal: isCorrect ? 1 : 0,
suboptimal: isCorrect ? 0 : 1,

@ -59,6 +59,7 @@ public class EmailUIController : MonoBehaviour
public void OnClick()
{
SoundManager.Instance.PlayButtonClick();
GameObject panel = Instantiate(Resources.Load<GameObject>("EmailOpenPanel"), transform.root);
WorldTimelineManager.Instance.OpenedEmailPanel = panel;
EmailOpenPanel controller = panel.GetComponent<EmailOpenPanel>();
@ -66,6 +67,7 @@ public class EmailUIController : MonoBehaviour
string englishLog = $"Opened email from '{data.senderName}' with subject '{data.subject}'";
string arabicLog = $"تم فتح البريد من '{data.senderName}' بعنوان '{data.subjectAr}'";
UserActionLogger.Instance?.Log(englishLog, arabicLog);
//UserActionLogger.Instance?.Log($"Opened email from '{data.senderName}' with subject '{data.subject}'");

Binary file not shown.

@ -0,0 +1,49 @@
using UnityEngine;
public class SoundManager : MonoBehaviour
{
public static SoundManager Instance;
[Header("Audio Clips")]
public AudioClip inboxDing;
public AudioClip officeFootsteps;
public AudioClip officeAmbience;
public AudioClip buttonClick;
public AudioClip phishingAlert;
public AudioClip hackedAlert;
public AudioClip typewriterSubtitle;
public AudioClip correctAction;
public AudioSource audioSource;
void Awake()
{
if (Instance == null)
{
Instance = this;
//DontDestroyOnLoad(gameObject);
audioSource = GetComponent<AudioSource>();
if (audioSource == null)
audioSource = gameObject.AddComponent<AudioSource>();
}
else
{
Destroy(gameObject);
}
}
public void PlayInboxDing() => audioSource.PlayOneShot(inboxDing);
public void PlayOfficeFootsteps() => audioSource.PlayOneShot(officeFootsteps);
public void PlayOfficeAmbience() => audioSource.PlayOneShot(officeAmbience);
public void PlayButtonClick() => audioSource.PlayOneShot(buttonClick);
public void PlayPhishingAlert() => audioSource.PlayOneShot(phishingAlert);
public void PlayTypewriterSubtitle() => audioSource.PlayOneShot(typewriterSubtitle);
public void PlayCorrectAction() => audioSource.PlayOneShot(correctAction);
public void PlayHacked() => audioSource.PlayOneShot(hackedAlert);
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 988108d9ee3a2f747846fa7c9e95cf87
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,5 +1,6 @@
fileFormatVersion: 2
guid: bde532f7bcac08f459962af7046c06b8
guid: ca5422ac7a979cc4fbfabb09dc2a9b4c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:

Binary file not shown.

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: e1bd1f477160cb947b4f2dd840d995f3
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 89b62acf255990a40b6382107d2dae4b
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: f5ced8a9a3146694989ded64cbd751fc
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 5ac5a4b7b13662c4fbf4d8b173af6d0f
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 02a8e34be6271a24fa4dedfa305d3145
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: fd67557d9d69fe54296b31207b805511
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 0bcd598d36bc3bb4a89381b4097cbab2
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save