Commit 73de2004 authored by Abdulrahman Mohammed's avatar Abdulrahman Mohammed

Done With Exp 1

parent da3bae3a
......@@ -3,11 +3,23 @@ using System.Collections;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using DG.Tweening;
namespace AL_Arcade.DialogueSystem.Scripts
{
public class AIVoiceHandler : MonoBehaviour
{
[Header("Recording")]
[SerializeField] Image RecordingSprite;
[SerializeField] Vector3 Scale;
[SerializeField] float Duration;
[SerializeField] Ease ease;
[SerializeField] Sprite RecorordingIcon;
[SerializeField] Sprite SpeakIcon;
[SerializeField] Sprite DefultIcon;
[SerializeField] Color DefultColor;
[SerializeField] Transform SkipButton;
#region Singleton
private static AIVoiceHandler instance;
public static AIVoiceHandler Instance
......@@ -126,9 +138,12 @@ namespace AL_Arcade.DialogueSystem.Scripts
{
if (success)
{
RecordingSprite.sprite = SpeakIcon;
RecordingSprite.GetComponent<Animator>().SetTrigger("Speak");
SkipButton.gameObject.SetActive(true);
response = result;
Debug.Log("[AIVoiceHandler] API Success");
// Report AI response to GameContextBuilder
if (GameContextBuilder.Instance != null && result != null)
{
......@@ -178,7 +193,12 @@ namespace AL_Arcade.DialogueSystem.Scripts
using (UnityWebRequest request = UnityWebRequest.Post(API_URL, form))
{
request.timeout = REQUEST_TIMEOUT;
RecordingSprite.sprite = RecorordingIcon;
RecordingSprite.transform.parent.GetComponent<Image>().color = DefultColor;
RecordingSprite.GetComponent<Animator>().enabled = true;
RecordingSprite.GetComponent<Animator>().SetTrigger("Loading");
SkipButton.gameObject.SetActive(false);
// RecordingSprite.transform.DOScale(Scale, Duration).SetLoops(-1, LoopType.Yoyo).SetEase(ease);
Debug.Log("[AIVoiceHandler] Sending request to API");
yield return request.SendWebRequest();
......@@ -204,6 +224,9 @@ namespace AL_Arcade.DialogueSystem.Scripts
if (parsedResponse != null && parsedResponse.status == "success")
{
DOTween.Kill(RecordingSprite.transform);
RecordingSprite.sprite = DefultIcon;
callback?.Invoke(true, parsedResponse, null);
}
else
......@@ -422,5 +445,9 @@ namespace AL_Arcade.DialogueSystem.Scripts
public string audio_filepath;
}
#endregion
public void ResetColor()
{
RecordingSprite.transform.parent.GetComponent<Image>().color = DefultColor;
}
}
}
\ No newline at end of file
......@@ -249,17 +249,17 @@ namespace AL_Arcade.DialogueSystem.Scripts
UpdateReplyPanel(message);
}
private IEnumerator TypeText(TextMeshProUGUI textComponent, string fullText)
private IEnumerator TypeText(ArabicTextMeshProUGUI textComponent, string fullText)
{
isTyping = true;
canAdvance = false;
textComponent.text = "";
textComponent.arabicText = "";
ArabicTextMeshProUGUI arText;
arText = textComponent.gameObject.GetComponent<ArabicTextMeshProUGUI>() != null ? textComponent.gameObject.GetComponent<ArabicTextMeshProUGUI>() : null;
foreach (char c in fullText)
{
if (arText != null) arText.arabicText += c;
else textComponent.text += c;
else textComponent.arabicText += c;
yield return new WaitForSecondsRealtime(textSpeed);
}
......@@ -280,7 +280,7 @@ namespace AL_Arcade.DialogueSystem.Scripts
DialogueUI dialogueUI = currentDialogueUI.GetComponent<DialogueUI>();
if (dialogueUI != null && currentMessage != null)
{
dialogueUI.messageText.text = currentMessage.messageText;
dialogueUI.messageText.arabicText = currentMessage.messageText;
}
}
......
using UnityEngine;
using UnityEngine.UI;
namespace AL_Arcade.DialogueSystem.Scripts
{
/// <summary>
/// Simple component to add to any button to make it skip dialogue audio
/// </summary>
[RequireComponent(typeof(Button))]
public class DialogueSkipButton : MonoBehaviour
{
private Button button;
void Awake()
{
button = GetComponent<Button>();
button.onClick.AddListener(OnSkipClicked);
}
void OnDestroy()
{
if (button != null)
button.onClick.RemoveListener(OnSkipClicked);
}
private void OnSkipClicked()
{
if (DialogueManager.Instance != null)
{
if (DialogueManager.Instance.IsDialogueAudioPlaying())
{
DialogueManager.Instance.StopCurrentDialogueAudio();
}
else
{
DialogueManager.Instance.SkipCurrentDialogue(true);
}
}
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 70c3dd5801d696f489925c37bb6ad2f6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -12,8 +12,8 @@ namespace AL_Arcade.DialogueSystem.Scripts
public class DialogueUI : MonoBehaviour
{
[Header("UI Elements")] public Image characterSprite;
public TextMeshProUGUI characterName;
public TextMeshProUGUI messageText;
public ArabicTextMeshProUGUI characterName;
public ArabicTextMeshProUGUI messageText;
public void OnNextButtonClicked()
{
......
using System.Collections;
using AL_Arcade.DialogueSystem.Scripts;
using ALArcade.ArabicTMP;
using DG.Tweening;
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using TMPro;
using DG.Tweening;
using AL_Arcade.DialogueSystem.Scripts;
using ALArcade.ArabicTMP;
using UnityEngine.UI;
namespace AL_Arcade.DialogueSystem.Scripts
{
......@@ -36,6 +36,12 @@ namespace AL_Arcade.DialogueSystem.Scripts
[Header("Visual Feedback")]
[SerializeField] private Sprite recordingSprite;
[SerializeField] Vector3 Scale;
[SerializeField] float Duration;
[SerializeField] Ease ease;
[SerializeField] Color color;
[SerializeField] float Speed;
[Space]
[SerializeField] private Sprite idleSprite;
[SerializeField] private Image recordButtonImage;
......@@ -254,6 +260,7 @@ namespace AL_Arcade.DialogueSystem.Scripts
.OnComplete(() =>
{
isAITextPanelVisible = true;
Debug.Log("[InGameAIChatPanel] AITextPanel slide in complete");
});
}
......@@ -271,6 +278,9 @@ namespace AL_Arcade.DialogueSystem.Scripts
.OnComplete(() =>
{
isAITextPanelVisible = false;
recordButtonImage.GetComponent<Animator>().enabled = false;
recordButtonImage.sprite = idleSprite;
Debug.Log("[InGameAIChatPanel] AITextPanel slide out complete");
// After AI panel slides out, check if char area should also slide out
......@@ -328,6 +338,8 @@ namespace AL_Arcade.DialogueSystem.Scripts
// Update button visual
if (recordButtonImage != null && recordingSprite != null)
{
recordButtonImage.transform.DOScale(Scale, Duration).SetLoops(-1, LoopType.Yoyo).SetEase(ease);
recordButtonImage.transform.parent.GetComponent<Image>().color = color;
recordButtonImage.sprite = recordingSprite;
}
......@@ -591,6 +603,7 @@ namespace AL_Arcade.DialogueSystem.Scripts
private void OnAIProcessingComplete()
{
Debug.Log("[InGameAIChatPanel] AI processing complete");
isWaitingForAIResponse = false;
}
......
......@@ -135,8 +135,8 @@ Material:
- _XRMotionVectorsPass: 1
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 0, g: 1, b: 0.111112274, a: 0.22323233}
- _Color: {r: 0, g: 1, b: 0.11120277, a: 0.06290124}
- _BaseColor: {r: 0, g: 1, b: 0.10899062, a: 0.17384772}
- _Color: {r: 0, g: 1, b: 0.10899224, a: 0.21746951}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
fileFormatVersion: 2
guid: 6e42b2249c3e69e49ab8fbc391577861
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 691363b67122add45ae9b791171b9eca
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Dialogue
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 2880080256877523327}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1107 &2880080256877523327
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 4030266435475089301}
m_Position: {x: 200, y: 0, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 4030266435475089301}
--- !u!1102 &4030266435475089301
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Black_White_Modern_Simple_Playful_Feminine_Bold_Podcast_Logo_4
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 691363b67122add45ae9b791171b9eca, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
fileFormatVersion: 2
guid: a9304535bdf2dfb4d8154b79b03656b9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-3727113422686578184
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Loading
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 8516044125637215644}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-2561053297025124177
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Speak
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5699480527709035237}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &-407526173911201852
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 8516044125637215644}
m_Position: {x: 10, y: -30, z: 0}
- serializedVersion: 1
m_State: {fileID: 5699480527709035237}
m_Position: {x: 240, y: -30, z: 0}
- serializedVersion: 1
m_State: {fileID: 1659410613597976317}
m_Position: {x: 120, y: 170, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: -2561053297025124177}
- {fileID: -3727113422686578184}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 140, y: 50, z: 0}
m_EntryPosition: {x: 140, y: 110, z: 0}
m_ExitPosition: {x: 140, y: -100, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1659410613597976317}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: 'recording '
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Speak
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Loading
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -407526173911201852}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &1659410613597976317
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New State
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5699480527709035237
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Speak
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 691363b67122add45ae9b791171b9eca, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8516044125637215644
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Loading
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 6e42b2249c3e69e49ab8fbc391577861, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
fileFormatVersion: 2
guid: 49dddfddb24475d43a9c7bc3739f1c00
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 48927b31749bd0d42aa3e4fe3cae3d39
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-4646438203377222129
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 4567918627802885617}
m_Position: {x: 200, y: 0, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 4567918627802885617}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: recording
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -4646438203377222129}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &4567918627802885617
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: recording
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 48927b31749bd0d42aa3e4fe3cae3d39, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
fileFormatVersion: 2
guid: 459a2e213d6ab39498616c6279807e07
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:
......@@ -194,17 +194,17 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 0.57254905, b: 0, a: 1}
- _BaseColor: {r: 0.30980393, g: 0.30980393, b: 0.3019608, a: 1}
- _Color: {r: 1, g: 0.57254905, b: 0, a: 1}
- _ColorDim: {r: 1, g: 0.57254905, b: 0, a: 1}
- _ColorDim: {r: 0.30980393, g: 0.30980393, b: 0.3019608, a: 1}
- _ColorDimCurve: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorDimExtra: {r: 1, g: 0.57254905, b: 0, a: 1}
- _ColorDimExtra: {r: 0.30980393, g: 0.30980393, b: 0.3019608, a: 1}
- _ColorDimSteps: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorGradient: {r: 0.79129815, g: 0.2462014, b: 0.004391442, a: 1}
- _ColorGradient: {r: 0.07818743, g: 0.07818743, b: 0.07421358, a: 1}
- _DetailMapColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _FlatRimColor: {r: 1, g: 0.57254905, b: 0, a: 1}
- _FlatSpecularColor: {r: 1, g: 0.7136885, b: 0.33018857, a: 1}
- _FlatRimColor: {r: 0.15471691, g: 0.15471691, b: 0.15471691, a: 1}
- _FlatSpecularColor: {r: 0.07818743, g: 0.07818743, b: 0.07421358, a: 1}
- _LightmapDirection: {r: 0, g: 1, b: 0, a: 0}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
......
This diff is collapsed.
......@@ -6,6 +6,6 @@ EditorBuildSettings:
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/Scenes/1st/1st.unity
guid: c6848a27f12b5074292adf9ff0a51a98
path: Assets/Scenes/Test 2/test.unity
guid: ba1b1fa7ff3f0f44a9b34bc3a6302dc4
m_configObjects: {}
......@@ -103,9 +103,9 @@ PlayerSettings:
xboxEnableKinect: 0
xboxEnableKinectAutoTracking: 0
xboxEnableFitness: 0
visibleInBackground: 1
allowFullscreenSwitch: 1
fullscreenMode: 3
visibleInBackground: 0
allowFullscreenSwitch: 0
fullscreenMode: 1
xboxSpeechDB: 0
xboxEnableHeadOrientation: 0
xboxEnableGuest: 0
......
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