diff --git a/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga
new file mode 100644
index 00000000..394127ff
Binary files /dev/null and b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga differ
diff --git a/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta
new file mode 100644
index 00000000..d6fd9a2c
--- /dev/null
+++ b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta
@@ -0,0 +1,84 @@
+fileFormatVersion: 2
+guid: 6fd132ea4bdd3ec4298a583f001ed5ab
+timeCreated: 1513127630
+licenseType: Store
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 4
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 0
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ - buildTarget: Standalone
+ maxTextureSize: 2048
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ - buildTarget: Android
+ maxTextureSize: 2048
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml
index a3cf07a7..7e473fe6 100644
--- a/Assets/Plugins/Android/AndroidManifest.xml
+++ b/Assets/Plugins/Android/AndroidManifest.xml
@@ -11,4 +11,5 @@
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/AppInfo.java b/Assets/Plugins/Android/AppInfo.java
index e19c8f26..83b248a2 100644
--- a/Assets/Plugins/Android/AppInfo.java
+++ b/Assets/Plugins/Android/AppInfo.java
@@ -2,17 +2,25 @@
import com.unity3d.player.UnityPlayerActivity;
import android.app.Activity;
+import android.app.AppOpsManager;
+import android.app.usage.UsageStats;
+import android.app.usage.UsageStatsManager;
+import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageInfo;
import android.content.pm.FeatureInfo;
import android.content.pm.ApplicationInfo;
+import android.provider.Settings;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.util.Calendar;
+import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import android.os.Bundle;
@@ -22,23 +30,30 @@
import java.util.List;
import java.util.LinkedList;
+class AppInfoInternal {
+ public ApplicationInfo app;
+ public long lastTimeUsed;
+}
+
public class AppInfo extends UnityPlayerActivity {
private static final String TAG = "AppInfo";
- private List installedApps;
+ private List installedApps;
@Override
protected void onStart() {
super.onStart();
- installedApps = new LinkedList();
+ installedApps = new LinkedList();
for(ApplicationInfo app : this.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA)) {
if((app.flags & (ApplicationInfo.FLAG_UPDATED_SYSTEM_APP | ApplicationInfo.FLAG_SYSTEM)) > 0) {
// Skip system app
continue;
}
- installedApps.add(app);
+ AppInfoInternal appInfoInternal = new AppInfoInternal();
+ appInfoInternal.app = app;
+ installedApps.add(appInfoInternal);
}
}
@@ -47,11 +62,16 @@ public int getSize() {
}
public String getPackageName(int i) {
- return this.installedApps.get(i).packageName;
+ return this.installedApps.get(i).app.packageName;
}
public String getAppName(int i) {
- return (String)this.getPackageManager().getApplicationLabel(installedApps.get(i));
+ return (String)this.getPackageManager().getApplicationLabel(installedApps.get(i).app);
+ }
+
+ public long getLastTimeUsed(int i)
+ {
+ return this.installedApps.get(i).lastTimeUsed;
}
public boolean isQuestApp(int i) {
@@ -73,7 +93,7 @@ public boolean isQuestApp(int i) {
public boolean is2DApp(int i)
{
- ApplicationInfo app = this.installedApps.get(i);
+ ApplicationInfo app = this.installedApps.get(i).app;
if (null == app.metaData)
{
return true;
@@ -88,7 +108,7 @@ public boolean is2DApp(int i)
}
public byte[] getIcon(int i) {
- BitmapDrawable icon = (BitmapDrawable)this.getPackageManager().getApplicationIcon(installedApps.get(i));
+ BitmapDrawable icon = (BitmapDrawable)this.getPackageManager().getApplicationIcon(installedApps.get(i).app);
Bitmap bmp = icon.getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream);
@@ -96,6 +116,41 @@ public byte[] getIcon(int i) {
return byteArray;
}
+ public boolean hasUsageStatsPermissions() {
+ AppOpsManager appOps = (AppOpsManager) this.getSystemService(Context.APP_OPS_SERVICE);
+ final int mode = appOps.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, android.os.Process.myUid(), this.getPackageName());
+ boolean granted = mode == AppOpsManager.MODE_DEFAULT ?
+ (this.checkCallingOrSelfPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) == PackageManager.PERMISSION_GRANTED)
+ : (mode == AppOpsManager.MODE_ALLOWED);
+ return granted;
+ }
+
+ public void grantUsageStatsPermission() {
+ startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS));
+ }
+
+ public void processLastTimeUsed(int numDaysLookback) {
+ if (!hasUsageStatsPermissions()) {
+ Log.i(TAG, "PorcessLastTimeUsed: No permissions, so skipping");
+ }
+
+ UsageStatsManager usageStatsManager = (UsageStatsManager) this.getSystemService(Context.USAGE_STATS_SERVICE);
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DAY_OF_MONTH, -1 * numDaysLookback);
+ long start = calendar.getTimeInMillis();
+ long end = System.currentTimeMillis();
+ Map stats = usageStatsManager.queryAndAggregateUsageStats(start, end);
+
+ for (int i = 0; i < this.installedApps.size(); i++) {
+ if (stats.containsKey(getPackageName(i))) {
+ AppInfoInternal app = this.installedApps.get(i);
+ app.lastTimeUsed = stats.get(getPackageName(i)).getLastTimeStamp();
+ Log.v(TAG, "Package " + getPackageName(i) + " last time stamp = " + app.lastTimeUsed);
+ this.installedApps.set(i, app);
+ }
+ }
+ }
+
public static void unzip(String zipFileName, String targetPath) {
File outDir = new File(targetPath);
diff --git a/Assets/Scenes/QuestAppLauncher.unity b/Assets/Scenes/QuestAppLauncher.unity
index e1a948e9..32e3ddc8 100644
--- a/Assets/Scenes/QuestAppLauncher.unity
+++ b/Assets/Scenes/QuestAppLauncher.unity
@@ -1413,7 +1413,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 3}
propertyPath: m_RootOrder
- value: 2
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f,
type: 3}
@@ -1453,6 +1453,163 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 174121771}
m_PrefabAsset: {fileID: 0}
+--- !u!1 &177729748
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 177729749}
+ - component: {fileID: 177729751}
+ - component: {fileID: 177729750}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &177729749
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177729748}
+ 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_Children: []
+ m_Father: {fileID: 240885095}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 300, y: -75}
+ m_SizeDelta: {x: 600, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &177729750
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177729748}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_text: Sort By
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 86
+ m_fontSizeBase: 86
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 513
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: -1
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 177729750}
+ characterCount: 7
+ spriteCount: 0
+ spaceCount: 1
+ wordCount: 2
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &177729751
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177729748}
+ m_CullTransparentMesh: 0
--- !u!1 &210908719
GameObject:
m_ObjectHideFlags: 0
@@ -1489,6 +1646,84 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &240885094
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 240885095}
+ - component: {fileID: 240885096}
+ - component: {fileID: 240885097}
+ m_Layer: 5
+ m_Name: Sort_Setting
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &240885095
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240885094}
+ 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_Children:
+ - {fileID: 177729749}
+ - {fileID: 1092056641}
+ - {fileID: 1829862260}
+ m_Father: {fileID: 883330324}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 150, y: -775}
+ m_SizeDelta: {x: 100, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &240885096
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240885094}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+--- !u!114 &240885097
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240885094}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_AllowSwitchOff: 0
--- !u!1 &247836998
GameObject:
m_ObjectHideFlags: 0
@@ -1760,11 +1995,11 @@ RectTransform:
- {fileID: 987583755}
- {fileID: 87081339}
m_Father: {fileID: 883330324}
- m_RootOrder: 2
+ m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 500, y: -775}
+ m_AnchoredPosition: {x: 500, y: -1025}
m_SizeDelta: {x: 800, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &302656574
@@ -2042,7 +2277,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1457050908}
- m_RootOrder: 1
+ m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &340813590
Animator:
@@ -2541,6 +2776,39 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 75}
m_SizeDelta: {x: 0, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &407379521
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 407379522}
+ m_Layer: 0
+ m_Name: OculusGoController
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &407379522
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 407379521}
+ 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_Children:
+ - {fileID: 1225119221}
+ - {fileID: 696398113}
+ - {fileID: 1226067460}
+ m_Father: {fileID: 174121772}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &424758894
GameObject:
m_ObjectHideFlags: 0
@@ -2736,7 +3004,7 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &455930354
+--- !u!1 &455413003
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -2744,39 +3012,115 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 455930355}
- - component: {fileID: 455930358}
- - component: {fileID: 455930357}
- - component: {fileID: 455930356}
+ - component: {fileID: 455413004}
+ - component: {fileID: 455413006}
+ - component: {fileID: 455413005}
m_Layer: 5
- m_Name: Off
+ m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &455930355
+--- !u!224 &455413004
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 455930354}
+ m_GameObject: {fileID: 455413003}
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_Children:
- - {fileID: 470013056}
- - {fileID: 1107460992}
- m_Father: {fileID: 1133097218}
- m_RootOrder: 1
+ - {fileID: 1629902000}
+ m_Father: {fileID: 1480305969}
+ m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 850, y: -75}
- m_SizeDelta: {x: 500, y: 150}
+ m_AnchoredPosition: {x: 100, y: -75}
+ m_SizeDelta: {x: 200, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &455930356
+--- !u!114 &455413005
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455413003}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.24313727, g: 0.427451, b: 0.6627451, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &455413006
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455413003}
+ m_CullTransparentMesh: 0
+--- !u!1 &455930354
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 455930355}
+ - component: {fileID: 455930358}
+ - component: {fileID: 455930357}
+ - component: {fileID: 455930356}
+ m_Layer: 5
+ m_Name: Off
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &455930355
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455930354}
+ 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_Children:
+ - {fileID: 470013056}
+ - {fileID: 1107460992}
+ m_Father: {fileID: 1133097218}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 850, y: -75}
+ m_SizeDelta: {x: 500, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &455930356
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -3270,11 +3614,11 @@ RectTransform:
- {fileID: 1106898771}
- {fileID: 129491542}
m_Father: {fileID: 883330324}
- m_RootOrder: 5
+ m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 150, y: -1500}
+ m_AnchoredPosition: {x: 150, y: -1750}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &572537056
@@ -3526,11 +3870,11 @@ RectTransform:
- {fileID: 4342933}
- {fileID: 2063273159}
m_Father: {fileID: 883330324}
- m_RootOrder: 4
+ m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 500, y: -1275}
+ m_AnchoredPosition: {x: 500, y: -1525}
m_SizeDelta: {x: 800, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &585330017
@@ -3822,7 +4166,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 174121772}
- m_RootOrder: 0
+ m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &647218112
Animator:
@@ -4071,6 +4415,127 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 684313056}
m_CullTransparentMesh: 0
+--- !u!1 &696398112
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 696398113}
+ - component: {fileID: 696398114}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &696398113
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 696398112}
+ m_LocalRotation: {x: 0.46193978, y: 0.33141357, z: -0.19134171, w: 0.8001032}
+ m_LocalPosition: {x: 2, y: 2, z: 4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 407379522}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 60, y: 45, z: 0}
+--- !u!108 &696398114
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 696398112}
+ m_Enabled: 1
+ serializedVersion: 9
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!1 &696687901
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 696687902}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &696687902
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 696687901}
+ m_LocalRotation: {x: -0.030843573, y: -0.7064338, z: 0.030843573, w: 0.7064338}
+ m_LocalPosition: {x: 0, y: 0.75, z: 4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1644749161}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: -90.00001, z: 5}
--- !u!1 &715250739
GameObject:
m_ObjectHideFlags: 0
@@ -4953,6 +5418,7 @@ RectTransform:
m_Children:
- {fileID: 1133097218}
- {fileID: 2027300713}
+ - {fileID: 240885095}
- {fileID: 302656573}
- {fileID: 949458750}
- {fileID: 585330016}
@@ -5060,6 +5526,9 @@ MonoBehaviour:
tabsCustomTop: {fileID: 247837002}
tabsCustomLeft: {fileID: 1462980089}
tabsCustomRight: {fileID: 1158989063}
+ sortAZ: {fileID: 1092056644}
+ sortMostRecent: {fileID: 1480305972}
+ usageStatsPermText: {fileID: 907885703}
--- !u!65 &883330329
BoxCollider:
m_ObjectHideFlags: 0
@@ -5230,7 +5699,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 907338447}
m_CullTransparentMesh: 0
---- !u!1 &949458749
+--- !u!1 &907885703
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -5238,94 +5707,251 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 949458750}
- - component: {fileID: 949458751}
+ - component: {fileID: 907885704}
+ - component: {fileID: 907885706}
+ - component: {fileID: 907885705}
m_Layer: 5
- m_Name: GridSize
+ m_Name: UsageStats_Permission_Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &949458750
+--- !u!224 &907885704
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 949458749}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_GameObject: {fileID: 907885703}
+ 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_Children:
- - {fileID: 715250740}
- - {fileID: 1170891611}
- - {fileID: 1398590894}
- - {fileID: 604462432}
- m_Father: {fileID: 883330324}
- m_RootOrder: 3
+ m_Children: []
+ m_Father: {fileID: 1829862260}
+ m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 500, y: -1025}
- m_SizeDelta: {x: 800, y: 150}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &949458751
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 949458749}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Padding:
- m_Left: 0
- m_Right: 0
- m_Top: 0
- m_Bottom: 0
- m_ChildAlignment: 3
- m_Spacing: 75
- m_ChildForceExpandWidth: 1
- m_ChildForceExpandHeight: 1
- m_ChildControlWidth: 0
- m_ChildControlHeight: 0
- m_ChildScaleWidth: 0
- m_ChildScaleHeight: 0
---- !u!1 &985952871
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 985952874}
- - component: {fileID: 985952873}
- - component: {fileID: 985952872}
- m_Layer: 0
- m_Name: EventSystem
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &985952872
+--- !u!114 &907885705
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 985952871}
+ m_GameObject: {fileID: 907885703}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
- trackingSpace: {fileID: 881994610}
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_text: Requires UsageStats permissions. Select to set.
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 40
+ m_fontSizeBase: 40
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 257
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: 0
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 3.513392, y: 0, z: -1298.6443, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 907885705}
+ characterCount: 47
+ spriteCount: 0
+ spaceCount: 5
+ wordCount: 6
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &907885706
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 907885703}
+ m_CullTransparentMesh: 0
+--- !u!1 &949458749
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 949458750}
+ - component: {fileID: 949458751}
+ m_Layer: 5
+ m_Name: GridSize
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &949458750
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 949458749}
+ 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_Children:
+ - {fileID: 715250740}
+ - {fileID: 1170891611}
+ - {fileID: 1398590894}
+ - {fileID: 604462432}
+ m_Father: {fileID: 883330324}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 500, y: -1275}
+ m_SizeDelta: {x: 800, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &949458751
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 949458749}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 3
+ m_Spacing: 75
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+--- !u!1 &985952871
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 985952874}
+ - component: {fileID: 985952873}
+ - component: {fileID: 985952872}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &985952872
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 985952871}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ trackingSpace: {fileID: 881994610}
joyPadClickButton: 8192
performSphereCastForGazepointer: 0
matchNormalOnPhysicsColliders: 0
@@ -5363,15 +5989,248 @@ Transform:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 985952871}
- 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_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 6
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &987583754
+ m_GameObject: {fileID: 985952871}
+ 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_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &987583754
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 987583755}
+ - component: {fileID: 987583757}
+ - component: {fileID: 987583756}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &987583755
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 987583754}
+ 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_Children:
+ - {fileID: 2047630436}
+ m_Father: {fileID: 302656573}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 100, y: -75}
+ m_SizeDelta: {x: 200, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &987583756
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 987583754}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.24313727, g: 0.427451, b: 0.6627451, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &987583757
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 987583754}
+ m_CullTransparentMesh: 0
+--- !u!1 &1004538039
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1004538040}
+ - component: {fileID: 1004538042}
+ - component: {fileID: 1004538041}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1004538040
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1004538039}
+ 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_Children: []
+ m_Father: {fileID: 1092056641}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 375, y: -75}
+ m_SizeDelta: {x: 250, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1004538041
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1004538039}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_text: A - Z
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 86
+ m_fontSizeBase: 86
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 513
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: -1
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 1004538041}
+ characterCount: 5
+ spriteCount: 0
+ spaceCount: 2
+ wordCount: 3
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1004538042
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1004538039}
+ m_CullTransparentMesh: 0
+--- !u!1 &1026875225
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -5379,73 +6238,154 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 987583755}
- - component: {fileID: 987583757}
- - component: {fileID: 987583756}
+ - component: {fileID: 1026875226}
+ - component: {fileID: 1026875228}
+ - component: {fileID: 1026875227}
m_Layer: 5
- m_Name: Background
+ m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &987583755
+--- !u!224 &1026875226
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 987583754}
+ m_GameObject: {fileID: 1026875225}
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_Children:
- - {fileID: 2047630436}
- m_Father: {fileID: 302656573}
- m_RootOrder: 0
+ m_Children: []
+ m_Father: {fileID: 1480305969}
+ m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 100, y: -75}
- m_SizeDelta: {x: 200, y: 150}
+ m_AnchoredPosition: {x: 475, y: -75}
+ m_SizeDelta: {x: 450, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &987583756
+--- !u!114 &1026875227
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 987583754}
+ m_GameObject: {fileID: 1026875225}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.24313727, g: 0.427451, b: 0.6627451, a: 1}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
- m_Type: 1
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &987583757
+ m_text: Most Recent
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 86
+ m_fontSizeBase: 86
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 513
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: -1
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 1026875227}
+ characterCount: 11
+ spriteCount: 0
+ spaceCount: 1
+ wordCount: 2
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1026875228
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 987583754}
+ m_GameObject: {fileID: 1026875225}
m_CullTransparentMesh: 0
--- !u!1 &1051081550
GameObject:
@@ -5853,20 +6793,147 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1090603839}
- 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_Children:
- - {fileID: 2081835836}
- m_Father: {fileID: 1804537874}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: -20, y: -20}
- m_Pivot: {x: 0.5, y: 0.5}
+ m_GameObject: {fileID: 1090603839}
+ 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_Children:
+ - {fileID: 2081835836}
+ m_Father: {fileID: 1804537874}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: -20, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1092056640
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1092056641}
+ - component: {fileID: 1092056644}
+ - component: {fileID: 1092056643}
+ - component: {fileID: 1092056642}
+ m_Layer: 5
+ m_Name: Alphabetically_Toggle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1092056641
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092056640}
+ 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_Children:
+ - {fileID: 1181631556}
+ - {fileID: 1004538040}
+ m_Father: {fileID: 240885095}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 850, y: -75}
+ m_SizeDelta: {x: 500, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1092056642
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092056640}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 50
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+--- !u!65 &1092056643
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092056640}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 500, y: 150, z: 0.05}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1092056644
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092056640}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1181631557}
+ toggleTransition: 1
+ graphic: {fileID: 2017584416}
+ m_Group: {fileID: 240885097}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 1
--- !u!1 &1096116666
GameObject:
m_ObjectHideFlags: 0
@@ -6302,7 +7369,7 @@ RectTransform:
m_GameObject: {fileID: 1113839878}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 7.3}
- m_LocalScale: {x: 0.0024, y: 0.003, z: 1}
+ m_LocalScale: {x: 0.0025, y: 0.0028, z: 1}
m_Children:
- {fileID: 1950750522}
- {fileID: 1213035640}
@@ -6311,7 +7378,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
- m_AnchoredPosition: {x: 0, y: 3}
+ m_AnchoredPosition: {x: 0, y: 2.4}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1113839881
@@ -7306,6 +8373,82 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1175856089}
m_CullTransparentMesh: 0
+--- !u!1 &1181631555
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1181631556}
+ - component: {fileID: 1181631558}
+ - component: {fileID: 1181631557}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1181631556
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1181631555}
+ 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_Children:
+ - {fileID: 2017584415}
+ m_Father: {fileID: 1092056641}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 100, y: -75}
+ m_SizeDelta: {x: 200, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1181631557
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1181631555}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.24313727, g: 0.427451, b: 0.6627451, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1181631558
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1181631555}
+ m_CullTransparentMesh: 0
--- !u!4 &1192133537 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a,
@@ -7553,6 +8696,115 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1215736345}
m_CullTransparentMesh: 0
+--- !u!1 &1225119220
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1225119221}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1225119221
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1225119220}
+ m_LocalRotation: {x: -0.030843573, y: -0.7064338, z: 0.030843573, w: 0.7064338}
+ m_LocalPosition: {x: 0, y: 0.75, z: 4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 407379522}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: -90.00001, z: 5}
+--- !u!1 &1226067459
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1226067460}
+ - component: {fileID: 1226067462}
+ - component: {fileID: 1226067461}
+ m_Layer: 0
+ m_Name: Mesh
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1226067460
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1226067459}
+ 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_Children: []
+ m_Father: {fileID: 407379522}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1226067461
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1226067459}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1226067462
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1226067459}
+ m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3}
--- !u!1 &1251844110
GameObject:
m_ObjectHideFlags: 0
@@ -9448,8 +10700,226 @@ CanvasRenderer:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1471555291}
- m_CullTransparentMesh: 0
+ m_GameObject: {fileID: 1471555291}
+ m_CullTransparentMesh: 0
+--- !u!1 &1480305968
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1480305969}
+ - component: {fileID: 1480305972}
+ - component: {fileID: 1480305971}
+ - component: {fileID: 1480305970}
+ m_Layer: 5
+ m_Name: MostRecent_Toggle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1480305969
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1480305968}
+ 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_Children:
+ - {fileID: 455413004}
+ - {fileID: 1026875226}
+ m_Father: {fileID: 1829862260}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1480305970
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1480305968}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 3
+ m_Spacing: 50
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+--- !u!65 &1480305971
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1480305968}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 600, y: 150, z: 0.05}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1480305972
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1480305968}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 455413005}
+ toggleTransition: 1
+ graphic: {fileID: 1629902001}
+ m_Group: {fileID: 240885097}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!1 &1524814165
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1524814166}
+ - component: {fileID: 1524814167}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1524814166
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524814165}
+ m_LocalRotation: {x: 0.46193978, y: 0.33141357, z: -0.19134171, w: 0.8001032}
+ m_LocalPosition: {x: 2, y: 2, z: 4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1644749161}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 60, y: 45, z: 0}
+--- !u!108 &1524814167
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524814165}
+ m_Enabled: 1
+ serializedVersion: 9
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
--- !u!1 &1550751410
GameObject:
m_ObjectHideFlags: 0
@@ -10078,22 +11548,142 @@ MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1608941300}
+ m_GameObject: {fileID: 1608941300}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1608941304
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1608941300}
+ m_CullTransparentMesh: 0
+--- !u!114 &1608941305
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1608941300}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 390013d26c40ccd4ab21b46bd10bf9dc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ prefabChild: {fileID: 8840711930865071119, guid: ddc317ff29baa074582e48d133ea0fcc,
+ type: 3}
+ content: {fileID: 858538435}
+ PrevButton: {fileID: 1550751414}
+ NextButton: {fileID: 514308062}
+ isHorizontal: 1
+--- !u!65 &1608941306
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1608941300}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 2802, y: 150, z: 0.05}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1608941307
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1608941300}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9f2a3df6684af7245a2512d708d72e62, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ content: {fileID: 858538435}
+ trackingSpace: {fileID: 881994610}
+--- !u!1 &1629901999
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1629902000}
+ - component: {fileID: 1629902002}
+ - component: {fileID: 1629902001}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1629902000
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1629901999}
+ 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_Children: []
+ m_Father: {fileID: 455413004}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 150, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1629902001
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1629901999}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
- m_Type: 1
+ m_Sprite: {fileID: 21300000, guid: 01674f533e98ba544a7bb592e2f52669, type: 3}
+ m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
@@ -10102,59 +11692,14 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
---- !u!222 &1608941304
+--- !u!222 &1629902002
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1608941300}
+ m_GameObject: {fileID: 1629901999}
m_CullTransparentMesh: 0
---- !u!114 &1608941305
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1608941300}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 390013d26c40ccd4ab21b46bd10bf9dc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- prefabChild: {fileID: 8840711930865071119, guid: ddc317ff29baa074582e48d133ea0fcc,
- type: 3}
- content: {fileID: 858538435}
- PrevButton: {fileID: 1550751414}
- NextButton: {fileID: 514308062}
- isHorizontal: 1
---- !u!65 &1608941306
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1608941300}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Size: {x: 2802, y: 150, z: 0.05}
- m_Center: {x: 0, y: 0, z: 0}
---- !u!114 &1608941307
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1608941300}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 9f2a3df6684af7245a2512d708d72e62, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- content: {fileID: 858538435}
- trackingSpace: {fileID: 881994610}
--- !u!1 &1644097589
GameObject:
m_ObjectHideFlags: 0
@@ -10312,6 +11857,39 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1644097589}
m_CullTransparentMesh: 0
+--- !u!1 &1644749160
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1644749161}
+ m_Layer: 0
+ m_Name: OculusGoController
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &1644749161
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1644749160}
+ 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_Children:
+ - {fileID: 696687902}
+ - {fileID: 1524814166}
+ - {fileID: 1803191904}
+ m_Father: {fileID: 1457050908}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1659874981
GameObject:
m_ObjectHideFlags: 0
@@ -10772,6 +12350,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1802709557}
m_CullTransparentMesh: 0
+--- !u!1 &1803191903
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1803191904}
+ - component: {fileID: 1803191906}
+ - component: {fileID: 1803191905}
+ m_Layer: 0
+ m_Name: Mesh
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1803191904
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1803191903}
+ 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_Children: []
+ m_Father: {fileID: 1644749161}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1803191905
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1803191903}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1803191906
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1803191903}
+ m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3}
--- !u!1 &1804537873
GameObject:
m_ObjectHideFlags: 0
@@ -10937,7 +12594,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
propertyPath: m_LocalPosition.y
- value: 1.44
+ value: 1.75
objectReference: {fileID: 0}
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
propertyPath: m_LocalPosition.z
@@ -10972,6 +12629,10 @@ PrefabInstance:
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
+ propertyPath: _trackingOriginType
+ value: 1
+ objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 114473266101150724, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
@@ -11260,6 +12921,43 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1823234009}
m_CullTransparentMesh: 0
+--- !u!1 &1829862259
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1829862260}
+ m_Layer: 5
+ m_Name: MostRecent
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1829862260
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1829862259}
+ 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_Children:
+ - {fileID: 1480305969}
+ - {fileID: 907885704}
+ m_Father: {fileID: 240885095}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1400, y: -75}
+ m_SizeDelta: {x: 600, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1839702706
GameObject:
m_ObjectHideFlags: 0
@@ -11587,7 +13285,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1457050908}
- m_RootOrder: 0
+ m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &1875820934
Animator:
@@ -11971,8 +13669,7 @@ LineRenderer:
m_RayTracingMode: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 3fac3b9744290eb4c89b0e4ffd5fe085, type: 2}
+ m_Materials: []
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -12478,6 +14175,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2009369171}
m_CullTransparentMesh: 0
+--- !u!1 &2017584414
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2017584415}
+ - component: {fileID: 2017584417}
+ - component: {fileID: 2017584416}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2017584415
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2017584414}
+ 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_Children: []
+ m_Father: {fileID: 1181631556}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 150, y: 150}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2017584416
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2017584414}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 01674f533e98ba544a7bb592e2f52669, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &2017584417
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2017584414}
+ m_CullTransparentMesh: 0
--- !u!1 &2025011530
GameObject:
m_ObjectHideFlags: 0
@@ -12509,7 +14281,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 174121772}
- m_RootOrder: 1
+ m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &2025011532
Animator:
@@ -13119,6 +14891,11 @@ PrefabInstance:
propertyPath: m_modelOculusTouchRiftRightController
value:
objectReference: {fileID: 0}
+ - target: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf,
+ type: 3}
+ propertyPath: m_modelOculusGoController
+ value:
+ objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 3}
--- !u!1 &2057963232
diff --git a/Assets/Scripts/AppProcessor.cs b/Assets/Scripts/AppProcessor.cs
index 19948b11..dddf27cb 100644
--- a/Assets/Scripts/AppProcessor.cs
+++ b/Assets/Scripts/AppProcessor.cs
@@ -23,6 +23,7 @@ public class ProcessedApp
public string Tab1Name;
public string Tab2Name;
public string IconPath;
+ public long LastTimeUsed;
}
public class AppProcessor
@@ -60,6 +61,9 @@ class JsonAppNamesEntry
public const string Tab_2D = "2D";
public const string Tab_All = "All";
+ // LastUsage lookback days
+ const int LastUsedLookbackDays = 30;
+
public static readonly string[] Auto_Tabs = { Tab_Quest, Tab_Go, Tab_2D };
public static Dictionary ProcessApps(Config config)
@@ -79,6 +83,14 @@ public static Dictionary ProcessApps(Config config)
int numApps = currentActivity.Call("getSize");
Debug.Log("# installed apps: " + numApps);
+ var processedLastTimeUsed = false;
+ if (config.sortMode.Equals(Config.Sort_MostRecent, StringComparison.OrdinalIgnoreCase))
+ {
+ // Process last time used for each app
+ currentActivity.Call("processLastTimeUsed", LastUsedLookbackDays);
+ processedLastTimeUsed = true;
+ }
+
// Add current package name to excludedPackageNames to filter it out
excludedPackageNames.Add(currentActivity.Call("getPackageName"));
@@ -102,6 +114,7 @@ public static Dictionary ProcessApps(Config config)
{
var packageName = currentActivity.Call("getPackageName", i);
var appName = currentActivity.Call("getAppName", i);
+ var lastTimeUsed = processedLastTimeUsed ? currentActivity.Call("getLastTimeUsed", i) : 0;
if (excludedPackageNames.Contains(packageName))
{
@@ -132,7 +145,8 @@ public static Dictionary ProcessApps(Config config)
tabName = Tab_Go;
}
- apps.Add(packageName, new ProcessedApp { PackageName = packageName, Index = i, AutoTabName = tabName, AppName = appName });
+ apps.Add(packageName, new ProcessedApp { PackageName = packageName, Index = i,
+ AutoTabName = tabName, AppName = appName, LastTimeUsed = lastTimeUsed });
Debug.LogFormat("[{0}] package: {1}, name: {2}, auto tab: {3}", i, packageName, appName, tabName);
}
@@ -239,6 +253,7 @@ private static void ProcessAppNameOverrideJsonFile(Dictionary> DownloadAssetsMetadata(
{
// Get asset info from repos
var assetsInfo = new Dictionary(StringComparer.OrdinalIgnoreCase);
- var reposLoaded = new HashSet();
+
+ // Get the set of repo URIs (removing any duplicates)
+ var configRepos = new HashSet();
foreach (var item in config.downloadRepos)
{
if (null == item.type || !string.Equals(item.type, Config.DownloadRepo_Type_GitHub, StringComparison.OrdinalIgnoreCase))
@@ -188,11 +193,17 @@ private async Task> DownloadAssetsMetadata(
continue;
}
+ configRepos.Add(item.repoUri);
+ }
+
+ var reposLoaded = new HashSet();
+ foreach (var repoUri in configRepos)
+ {
// Get assets from the GitHub repo
- var repoLoaded = await GetAssetsInfoFromGithubRepoAsync(item.repoUri, assetsInfo, downloadProgress);
+ var repoLoaded = await GetAssetsInfoFromGithubRepoAsync(repoUri, assetsInfo, downloadProgress);
if (repoLoaded)
{
- reposLoaded.Add(item.repoUri);
+ reposLoaded.Add(repoUri);
}
}
@@ -368,6 +379,7 @@ private async Task DownloadAssetFromGitHubRepoAsync(string name, AssetInfo
IDownloadProgress downloadProgress)
{
var filePath = Path.Combine(GetOrCreateDownloadPath(), name);
+ var tempFilePath = filePath + TempDownloadFileExtention;
Debug.LogFormat("Downloading asset {0} from {1}", filePath, assetInfo.Url);
try
@@ -380,7 +392,7 @@ private async Task DownloadAssetFromGitHubRepoAsync(string name, AssetInfo
{
downloadProgress.OnDownloadStart(name);
}
- var downloadHandler = new DownloadHandlerFileWithProgress(filePath, downloadProgress.OnDownloadProgress);
+ var downloadHandler = new DownloadHandlerFileWithProgress(tempFilePath, downloadProgress.OnDownloadProgress);
downloadHandler.removeFileOnAbort = true;
req.downloadHandler = downloadHandler;
await req.SendWebRequest();
@@ -394,9 +406,24 @@ private async Task DownloadAssetFromGitHubRepoAsync(string name, AssetInfo
downloadProgress.OnError(string.Format("Error updating: {0} ({1})",
req.error, assetInfo.Url));
}
+
+ if (File.Exists(tempFilePath))
+ {
+ File.Delete(tempFilePath);
+ }
+
return false;
}
+ // Rename temp file to desination file to ensure that we are not downloading
+ // an error body message into the destination file.
+ if (File.Exists(filePath))
+ {
+ File.Delete(filePath);
+ }
+
+ File.Move(tempFilePath, filePath);
+
if (null != downloadProgress)
{
downloadProgress.OnDownloadFinish();
diff --git a/Assets/Scripts/Config.cs b/Assets/Scripts/Config.cs
index 93f6349c..08298cb5 100644
--- a/Assets/Scripts/Config.cs
+++ b/Assets/Scripts/Config.cs
@@ -20,6 +20,10 @@ public class Config
public const string Category_Left = "left";
public const string Category_Right = "right";
+ // Sort settings
+ public const string Sort_AZ = "az";
+ public const string Sort_MostRecent = "mostRecent";
+
// Download repos
public const string DownloadRepo_Type_GitHub = "github";
public const string DownloadRepo_Default = @"tverona1/QuestAppLauncher_Assets/releases/latest";
@@ -47,6 +51,9 @@ public class DownloadRepo
// Grid size, specified as cols x rows
public GridSize gridSize = new GridSize();
+ // Sort mode
+ public string sortMode = Sort_AZ;
+
// Whether to show 2D apps
public bool show2D = false;
@@ -60,10 +67,18 @@ public class DownloadRepo
public bool autoUpdate = false;
// Github download repos
- public List downloadRepos = new List()
+ public List downloadRepos = new List();
+
+ public Config(bool initDefaults = false)
{
- new DownloadRepo { repoUri = DownloadRepo_Default, type = DownloadRepo_Type_GitHub }
- };
+ if (initDefaults)
+ {
+ // We must initialize any default collection values here. Otherwise, if we initialize them inline,
+ // we'll keep adding duplicate values whenever we persist via JSON.NET (since it invokes the default contructor as part
+ // of deserialization, which again adds the default value).
+ this.downloadRepos.Add(new DownloadRepo { repoUri = DownloadRepo_Default, type = DownloadRepo_Type_GitHub });
+ }
+ }
}
///
@@ -102,7 +117,7 @@ static public Config LoadConfig()
}
// Return default config
- return new Config();
+ return new Config(true);
}
///
diff --git a/Assets/Scripts/GridPopulation.cs b/Assets/Scripts/GridPopulation.cs
index eafd55c2..65d3fa7f 100644
--- a/Assets/Scripts/GridPopulation.cs
+++ b/Assets/Scripts/GridPopulation.cs
@@ -17,6 +17,17 @@ namespace QuestAppLauncher
///
public class GridPopulation : MonoBehaviour
{
+ public class AppComparer : IComparer
+ {
+ public int Compare(ProcessedApp x, ProcessedApp y)
+ {
+ // Order by last used and then alphabetical to break ties
+ return (x.LastTimeUsed != y.LastTimeUsed) ?
+ (y.LastTimeUsed - x.LastTimeUsed > 0 ? 1 : -1) :
+ string.Compare(x.AppName, y.AppName, true);
+ }
+ }
+
// Grid container game object
public GameObject panelContainer;
@@ -114,17 +125,22 @@ private async Task PopulatePanelContentAsync(
var rightTabs = new List();
// Set auto tabs
+ var autoTabs = AppProcessor.Auto_Tabs.Intersect(
+ apps.Where(x => null != x.Value.AutoTabName).Select(x => x.Value.AutoTabName)
+ .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(),
+ StringComparer.CurrentCultureIgnoreCase);
+
if (config.autoCategory.Equals(Config.Category_Top, StringComparison.OrdinalIgnoreCase))
{
- topTabs.AddRange(AppProcessor.Auto_Tabs);
+ topTabs.AddRange(autoTabs);
}
else if (config.autoCategory.Equals(Config.Category_Left, StringComparison.OrdinalIgnoreCase))
{
- leftTabs.AddRange(AppProcessor.Auto_Tabs);
+ leftTabs.AddRange(autoTabs);
}
else if (config.autoCategory.Equals(Config.Category_Right, StringComparison.OrdinalIgnoreCase))
{
- rightTabs.AddRange(AppProcessor.Auto_Tabs);
+ rightTabs.AddRange(autoTabs);
}
// Set custom tabs, sorted alphabetically
@@ -168,8 +184,8 @@ private async Task PopulatePanelContentAsync(
}
// Populate grid with app information (name & icon)
- // Sort by app name
- foreach (var app in apps.OrderBy(key => key.Value.AppName))
+ // Sort by custom comparer
+ foreach (var app in apps.OrderBy(key => key.Value, new AppComparer()))
{
// Add to all tab
await AddCellToGridAsync(app.Value, gridContents[AppProcessor.Tab_All].transform);
diff --git a/Assets/Scripts/SettingsHandler.cs b/Assets/Scripts/SettingsHandler.cs
index ada576a0..e7631f9d 100644
--- a/Assets/Scripts/SettingsHandler.cs
+++ b/Assets/Scripts/SettingsHandler.cs
@@ -33,6 +33,11 @@ public class SettingsHandler : MonoBehaviour
public Toggle tabsCustomLeft;
public Toggle tabsCustomRight;
+ public Toggle sortAZ;
+ public Toggle sortMostRecent;
+
+ public GameObject usageStatsPermText;
+
private bool deletedHiddenAppsFile = false;
private Config config = null;
@@ -60,6 +65,9 @@ public void OpenSettings()
var rowsText = this.gridRowsText.GetComponent();
rowsText.text = string.Format("{0} Rows", this.config.gridSize.rows);
+ // initialize sort mode
+ InitializeSortMode();
+
// Set 2D toggle
this.show2DToggle.GetComponent().SetIsOnWithoutNotify(this.config.show2D);
@@ -144,6 +152,65 @@ public void UpdateGridRowText()
rowsText.text = string.Format("{0} Rows", rows);
}
+ private bool HasUsageStatsPermissions()
+ {
+ // Check if we have UsageStats permission
+ using (AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+ using (AndroidJavaObject currentActivity = unity.GetStatic("currentActivity"))
+ {
+ var hasUsageStatsPermissions = currentActivity.Call("hasUsageStatsPermissions");
+ Debug.LogFormat("UsageStatsPermission: {0}", hasUsageStatsPermissions);
+ return hasUsageStatsPermissions;
+ }
+ }
+
+ private void InitializeSortMode()
+ {
+ bool hasUsageStatsPermissions = HasUsageStatsPermissions();
+
+ // Indicate whether we need to get permission
+ this.usageStatsPermText.SetActive(!hasUsageStatsPermissions);
+
+ if (hasUsageStatsPermissions &&
+ this.config.sortMode.Equals(Config.Sort_MostRecent, StringComparison.OrdinalIgnoreCase))
+ {
+ // Have UsageStats permission, so set it to on
+ this.sortMostRecent.isOn = true;
+ }
+ else
+ {
+ // Default is to sort by AZ
+ this.sortAZ.isOn = true;
+ }
+
+ this.sortMostRecent.onValueChanged.AddListener((bool isOn) => {
+ if (isOn)
+ {
+ // Re-check permissions
+ bool hasPerms = HasUsageStatsPermissions();
+
+ // Indicate whether we need to get permission
+ this.usageStatsPermText.SetActive(!hasPerms);
+
+ if (!hasPerms)
+ {
+ this.sortMostRecent.SetIsOnWithoutNotify(false);
+ this.sortAZ.SetIsOnWithoutNotify(true);
+
+ // Ask for permissions
+ using (AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+ using (AndroidJavaObject currentActivity = unity.GetStatic("currentActivity"))
+ {
+ currentActivity.Call("grantUsageStatsPermission");
+
+ // Quest doesn't like multiple apps running - kill ourself
+ UnityEngine.Application.Quit();
+ }
+ }
+ }
+ });
+ }
+
private void PersistConfig()
{
bool saveConfig = false;
@@ -160,6 +227,23 @@ private void PersistConfig()
saveConfig = true;
}
+ // Update sort mode
+ string sortMode;
+ if (this.sortMostRecent.isOn)
+ {
+ sortMode = Config.Sort_MostRecent;
+ }
+ else
+ {
+ sortMode = Config.Sort_AZ;
+ }
+
+ if (!this.config.sortMode.Equals(sortMode, StringComparison.OrdinalIgnoreCase))
+ {
+ this.config.sortMode = sortMode;
+ saveConfig = true;
+ }
+
// Update 2D toggle
var show2D = this.show2DToggle.GetComponent().isOn;
if (show2D != this.config.show2D)
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index b11dae4b..f1190de9 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -120,7 +120,7 @@ PlayerSettings:
16:10: 1
16:9: 1
Others: 1
- bundleVersion: 0.6
+ bundleVersion: 0.9
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0