diff --git a/OneSignalExample/Assets/App.meta b/OneSignalExample/Assets/App.meta
new file mode 100644
index 000000000..14b58f42a
--- /dev/null
+++ b/OneSignalExample/Assets/App.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03e30dbab49644940aa7de596b4fe137
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/Assets/App/Editor.meta b/OneSignalExample/Assets/App/Editor.meta
new file mode 100644
index 000000000..e8883018e
--- /dev/null
+++ b/OneSignalExample/Assets/App/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fce1d5f4292be422690936555d4aa766
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/Assets/App/Editor/iOS.meta b/OneSignalExample/Assets/App/Editor/iOS.meta
new file mode 100644
index 000000000..a18460467
--- /dev/null
+++ b/OneSignalExample/Assets/App/Editor/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8f22549c14f32496aaabc5750dfdc433
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs b/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs
new file mode 100644
index 000000000..fd90164d4
--- /dev/null
+++ b/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs
@@ -0,0 +1,169 @@
+/*
+ * Modified MIT License
+ *
+ * Copyright 2023 OneSignal
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * 1. The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * 2. All copies of substantial portions of the Software may only be used in connection
+ * with services provided by OneSignal.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#if UNITY_IOS
+
+using UnityEditor;
+using UnityEditor.Build;
+using UnityEditor.Build.Reporting;
+using UnityEngine;
+using UnityEditor.iOS.Xcode;
+using UnityEditor.iOS.Xcode.Extensions;
+using System.IO;
+using System.Linq;
+
+namespace App.Editor.iOS {
+ ///
+ /// Adds the ExampleWidgetExtension to the iOS project frameworks to the iOS project and enables the main target
+ /// for Live Activities.
+ ///
+ public class BuildPostProcessor : IPostprocessBuildWithReport {
+
+ private static readonly string WdigetExtensionTargetRelativePath = "ExampleWidget";
+ private static readonly string WidgetExtensionTargetName = "ExampleWidgetExtension";
+ private static readonly string WidgetExtensionPath = Path.Combine("iOS", "ExampleWidget");
+ private static readonly string[] WidgetExtensionFiles = new string[] { "Assets.xcassets", "ExampleWidgetBundle.swift", "ExampleWidgetLiveActivity.swift" };
+
+ ///
+ /// must be between 40 and 50 to ensure that it's not overriden by Podfile generation (40) and that it's
+ /// added before "pod install" (50)
+ /// https://github.com/googlesamples/unity-jar-resolver#appending-text-to-generated-podfile
+ ///
+ public int callbackOrder => 45;
+
+ public void OnPostprocessBuild(BuildReport report) {
+ if (report.summary.platform != BuildTarget.iOS)
+ return;
+
+ Debug.Log("BuildPostProcessor.OnPostprocessBuild for target " + report.summary.platform + " at path " + report.summary.outputPath + " with CWD " + Directory.GetCurrentDirectory());
+
+ EnableAppForLiveActivities(report.summary.outputPath);
+ CreateWidgetExtension(report.summary.outputPath);
+
+ Debug.Log("BuildPostProcessor.OnPostprocessBuild complete");
+ }
+
+ static void EnableAppForLiveActivities(string outputPath) {
+ var plistPath = Path.Combine(outputPath, "Info.plist");
+
+ if (!File.Exists(plistPath)) {
+ Debug.LogError($"Could not find PList {plistPath}!");
+ return;
+ }
+
+ var mainPlist = new PlistDocument();
+ mainPlist.ReadFromFile(plistPath);
+ mainPlist.root.SetBoolean("NSSupportsLiveActivities", true);
+ mainPlist.WriteToFile(plistPath);
+ }
+
+ static void CreateWidgetExtension(string outputPath) {
+ AddWidgetExtensionToProject(outputPath);
+ AddWidgetExtensionToPodFile(outputPath);
+ }
+
+ static void AddWidgetExtensionToProject(string outputPath) {
+ var project = new PBXProject();
+ var projectPath = PBXProject.GetPBXProjectPath(outputPath);
+ project.ReadFromString(File.ReadAllText(projectPath));
+
+ var extensionGuid = project.TargetGuidByName(WidgetExtensionTargetName);
+
+ // skip target setup if already present
+ if (!string.IsNullOrEmpty(extensionGuid))
+ return;
+
+ var widgetDestPath = Path.Combine(outputPath, WdigetExtensionTargetRelativePath);
+
+ Directory.CreateDirectory(widgetDestPath);
+ CopyFileOrDirectory(Path.Combine(WidgetExtensionPath, "Info.plist"), Path.Combine(widgetDestPath, "Info.plist"));
+
+ extensionGuid = project.AddAppExtension(project.GetUnityMainTargetGuid(),
+ WidgetExtensionTargetName,
+ $"{PlayerSettings.GetApplicationIdentifier(BuildTargetGroup.iOS)}.{WidgetExtensionTargetName}",
+ $"{WdigetExtensionTargetRelativePath}/Info.plist"
+ );
+
+ var buildPhaseID = project.AddSourcesBuildPhase(extensionGuid);
+
+ foreach (var file in WidgetExtensionFiles) {
+ var destPathRelative = Path.Combine(WdigetExtensionTargetRelativePath, file);
+ var sourceFileGuid = project.AddFile(destPathRelative, destPathRelative);
+ project.AddFileToBuildSection(extensionGuid, buildPhaseID, sourceFileGuid);
+ CopyFileOrDirectory(Path.Combine(WidgetExtensionPath, file), Path.Combine(outputPath, destPathRelative));
+ }
+
+ project.SetBuildProperty(extensionGuid, "TARGETED_DEVICE_FAMILY", "1,2");
+ project.SetBuildProperty(extensionGuid, "IPHONEOS_DEPLOYMENT_TARGET", "17.0");
+ project.SetBuildProperty(extensionGuid, "SWIFT_VERSION", "5.0");
+
+ project.WriteToFile(projectPath);
+ }
+
+ static void AddWidgetExtensionToPodFile(string outputPath) {
+ var podfilePath = Path.Combine(outputPath, "Podfile");
+
+ if (!File.Exists(podfilePath)) {
+ Debug.LogError($"Could not find Podfile {podfilePath}!");
+ return;
+ }
+
+ var podfile = File.ReadAllText(podfilePath);
+ podfile += $"target '{WidgetExtensionTargetName}' do\n pod 'OneSignalXCFramework', '>= 5.0.2', '< 6.0.0'\nend\n";
+ File.WriteAllText(podfilePath, podfile);
+ }
+
+ static void CopyFileOrDirectory(string sourcePath, string destinationPath)
+ {
+ var file = new FileInfo(sourcePath);
+ var dir = new DirectoryInfo(sourcePath);
+
+ if (!file.Exists && !dir.Exists)
+ {
+ return;
+ }
+
+ if (file.Exists)
+ {
+ file.CopyTo(destinationPath, true);
+ }
+ else {
+ Directory.CreateDirectory(destinationPath);
+
+ foreach (FileInfo childFile in dir.EnumerateFiles().Where(f => !f.Name.EndsWith(".meta")))
+ {
+ CopyFileOrDirectory(childFile.FullName, Path.Combine(destinationPath, childFile.Name));
+ }
+
+ foreach (DirectoryInfo subDir in dir.GetDirectories())
+ {
+ CopyFileOrDirectory(subDir.FullName, Path.Combine(destinationPath, subDir.Name));
+ }
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs.meta b/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs.meta
new file mode 100644
index 000000000..893d37690
--- /dev/null
+++ b/OneSignalExample/Assets/App/Editor/iOS/BuildPostProcessor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 43d89292bb7c543f6bbb20d0aa464790
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs b/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs
index 2a56c541b..9df95bfd2 100644
--- a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs
+++ b/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs
@@ -128,7 +128,17 @@ public class OneSignalExampleBehaviour : MonoBehaviour {
///
///
///
- public string liveActivityToken;
+ public string liveActivityIdToken;
+
+ ///
+ ///
+ ///
+ public string liveActivityType;
+
+ ///
+ ///
+ ///
+ public string liveActivityTypeToken;
///
/// we recommend initializing OneSignal early in your application's lifecycle such as in the Start method of a
@@ -136,12 +146,15 @@ public class OneSignalExampleBehaviour : MonoBehaviour {
///
private void Start() {
// Enable lines below to debug issues with OneSignal
- OneSignal.Debug.LogLevel = LogLevel.Info;
+ OneSignal.Debug.LogLevel = LogLevel.Verbose;
OneSignal.Debug.AlertLevel = LogLevel.Fatal;
_log($"Initializing with appId {appId}");
OneSignal.Initialize(appId);
+ // Setup the default live activity
+ OneSignal.LiveActivities.SetupDefault();
+
// Setting ConsentRequired to true will prevent the OneSignalSDK from operating until
// PrivacyConsent is also set to true
OneSignal.ConsentRequired = consentRequired;
@@ -437,10 +450,28 @@ public void ToggleShareLocation() {
* iOS
*/
+ public void StartDefaultLiveActivity() {
+ _log($"Start Default Live Activity with id: {liveActivityId}...");
+
+ OneSignal.LiveActivities.StartDefault(
+ liveActivityId,
+ new Dictionary() {
+ { "title", "Welcome!" }
+ },
+ new Dictionary() {
+ { "message", new Dictionary() {
+ { "en", "Hello World!"}
+ }},
+ { "intValue", 3 },
+ { "doubleValue", 3.14 },
+ { "boolValue", true }
+ });
+ }
+
public async void EnterLiveActivityAsync() {
- _log($"Entering Live Activity with id: {liveActivityId} and token: {liveActivityToken} and awaiting result...");
+ _log($"Entering Live Activity with id: {liveActivityId} and token: {liveActivityIdToken} and awaiting result...");
- var result = await OneSignal.LiveActivities.EnterAsync(liveActivityId, liveActivityToken);
+ var result = await OneSignal.LiveActivities.EnterAsync(liveActivityId, liveActivityIdToken);
if (result)
_log("Live Activity enter success");
@@ -459,6 +490,18 @@ public async void ExitLiveActivityAsync() {
_log("Live Activity exit failed");
}
+ public void SetPushToStartToken() {
+ _log($"Set Push To Start Token for type: {liveActivityType} with token: {liveActivityTypeToken}...");
+
+ OneSignal.LiveActivities.SetPushToStartToken(liveActivityType, liveActivityTypeToken);
+ }
+
+ public void RemovePushToStartToken() {
+ _log($"Remove Push To Start Token for type: {liveActivityType}...");
+
+ OneSignal.LiveActivities.RemovePushToStartToken(liveActivityType);
+ }
+
#region Rendering
/*
* You can safely ignore everything in this region and below
@@ -487,7 +530,10 @@ public async void ExitLiveActivityAsync() {
public void SetOutcomeValue(string newVal) => outcomeValue = Convert.ToSingle(newVal);
public void SetLiveActivityId(string newVal) => liveActivityId = newVal;
- public void SetLiveActivityToken(string newVal) => liveActivityToken = newVal;
+ public void SetLiveActivityIdToken(string newVal) => liveActivityIdToken = newVal;
+
+ public void SetLiveActivityType(string newVal) => liveActivityType = newVal;
+ public void SetLiveActivityTypeToken(string newVal) => liveActivityTypeToken = newVal;
private void Awake() {
SDKDebug.LogIntercept += _log;
diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleScene.unity b/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleScene.unity
index 1edc6e35b..fe91ab5ba 100644
--- a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleScene.unity
+++ b/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleScene.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481676, a: 1}
+ m_IndirectSpecularColor: {r: 0.44657886, g: 0.49641275, b: 0.5748176, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -973,6 +973,85 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
+--- !u!1 &143676678
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 143676679}
+ - component: {fileID: 143676681}
+ - component: {fileID: 143676680}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &143676679
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 143676678}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1626037429}
+ 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.5}
+ m_SizeDelta: {x: -20, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &143676680
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 143676678}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 0
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text:
+--- !u!222 &143676681
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 143676678}
+ m_CullTransparentMesh: 1
--- !u!1 &154112645
GameObject:
m_ObjectHideFlags: 0
@@ -1217,7 +1296,7 @@ GameObject:
- component: {fileID: 180036057}
- component: {fileID: 180036056}
m_Layer: 5
- m_Name: input_liveActivityToken
+ m_Name: input_liveActivityIdToken
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1306,7 +1385,7 @@ MonoBehaviour:
m_Calls:
- m_Target: {fileID: 307684281}
m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
- m_MethodName: SetLiveActivityToken
+ m_MethodName: SetLiveActivityIdToken
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2449,6 +2528,139 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 290692422}
m_CullTransparentMesh: 1
+--- !u!1 &291492896
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 291492897}
+ - component: {fileID: 291492900}
+ - component: {fileID: 291492899}
+ - component: {fileID: 291492898}
+ m_Layer: 5
+ m_Name: button_startDefaultLiveActivity
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &291492897
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 291492896}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 385546170}
+ m_Father: {fileID: 348492214}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &291492898
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 291492896}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ 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: 291492899}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 307684281}
+ m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
+ m_MethodName: StartDefaultLiveActivity
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+--- !u!114 &291492899
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 291492896}
+ 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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 &291492900
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 291492896}
+ m_CullTransparentMesh: 1
--- !u!1 &307684279
GameObject:
m_ObjectHideFlags: 0
@@ -2509,7 +2721,9 @@ MonoBehaviour:
outcomeKey:
outcomeValue: 0
liveActivityId:
- liveActivityToken:
+ liveActivityIdToken:
+ liveActivityType:
+ liveActivityTypeToken:
console: {fileID: 315627971}
appIdText: {fileID: 582279389}
--- !u!1 &314101966
@@ -2694,6 +2908,85 @@ MonoBehaviour:
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
+--- !u!1 &315728430
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 315728431}
+ - component: {fileID: 315728433}
+ - component: {fileID: 315728432}
+ m_Layer: 5
+ m_Name: Placeholder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &315728431
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 315728430}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1183349607}
+ 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.5}
+ m_SizeDelta: {x: -20, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &315728432
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 315728430}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 2
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Type
+--- !u!222 &315728433
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 315728430}
+ m_CullTransparentMesh: 1
--- !u!1 &318325085
GameObject:
m_ObjectHideFlags: 0
@@ -2960,6 +3253,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
+ - {fileID: 291492897}
- {fileID: 1225464264}
- {fileID: 729372536}
m_Father: {fileID: 1969667766}
@@ -3232,7 +3526,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 382041257}
m_CullTransparentMesh: 1
---- !u!1 &387581479
+--- !u!1 &385546169
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -3240,10 +3534,89 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 387581480}
- - component: {fileID: 387581483}
- - component: {fileID: 387581482}
- - component: {fileID: 387581481}
+ - component: {fileID: 385546170}
+ - component: {fileID: 385546172}
+ - component: {fileID: 385546171}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &385546170
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 385546169}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 291492897}
+ 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 &385546171
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 385546169}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Start Default
+--- !u!222 &385546172
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 385546169}
+ m_CullTransparentMesh: 1
+--- !u!1 &387581479
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 387581480}
+ - component: {fileID: 387581483}
+ - component: {fileID: 387581482}
+ - component: {fileID: 387581481}
m_Layer: 5
m_Name: log_container
m_TagString: Untagged
@@ -3494,6 +3867,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 395336053}
m_CullTransparentMesh: 1
+--- !u!1 &409205825
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 409205826}
+ - component: {fileID: 409205828}
+ - component: {fileID: 409205827}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &409205826
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 409205825}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1183349607}
+ 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.5}
+ m_SizeDelta: {x: -20, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &409205827
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 409205825}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 0
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text:
+--- !u!222 &409205828
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 409205825}
+ m_CullTransparentMesh: 1
--- !u!1 &422316396
GameObject:
m_ObjectHideFlags: 0
@@ -4105,6 +4557,110 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 499047144}
m_CullTransparentMesh: 1
+--- !u!1 &508352400
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 508352401}
+ - component: {fileID: 508352404}
+ - component: {fileID: 508352403}
+ - component: {fileID: 508352402}
+ m_Layer: 5
+ m_Name: container_container
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &508352401
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 508352400}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1439751355}
+ - {fileID: 2092728832}
+ m_Father: {fileID: 1620490981}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &508352402
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 508352400}
+ 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.9607844, g: 0.47450984, b: 0.47450984, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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 &508352403
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 508352400}
+ m_CullTransparentMesh: 1
+--- !u!114 &508352404
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 508352400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 10
+ m_Right: 10
+ m_Top: 10
+ m_Bottom: 10
+ m_ChildAlignment: 0
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
--- !u!1 &511368275
GameObject:
m_ObjectHideFlags: 0
@@ -5498,7 +6054,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 731561686}
m_CullTransparentMesh: 1
---- !u!1 &735447848
+--- !u!1 &733996628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -5506,49 +6062,49 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 735447849}
- - component: {fileID: 735447851}
- - component: {fileID: 735447850}
+ - component: {fileID: 733996629}
+ - component: {fileID: 733996631}
+ - component: {fileID: 733996630}
m_Layer: 5
- m_Name: desc
+ m_Name: Placeholder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &735447849
+--- !u!224 &733996629
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 735447848}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_GameObject: {fileID: 733996628}
+ 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_LocalScale: {x: 0.9, y: 0.9, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 1221267384}
+ m_Father: {fileID: 1626037429}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
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, y: 0}
---- !u!114 &735447850
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -0.5}
+ m_SizeDelta: {x: -20, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &733996630
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 735447848}
+ m_GameObject: {fileID: 733996628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.8490566, g: 0.74542975, b: 0.4285333, a: 1}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -5557,9 +6113,88 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 20
- m_FontStyle: 1
- m_BestFit: 0
+ m_FontSize: 14
+ m_FontStyle: 2
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: token
+--- !u!222 &733996631
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 733996628}
+ m_CullTransparentMesh: 1
+--- !u!1 &735447848
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 735447849}
+ - component: {fileID: 735447851}
+ - component: {fileID: 735447850}
+ m_Layer: 5
+ m_Name: desc
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &735447849
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 735447848}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1221267384}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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, y: 0}
+--- !u!114 &735447850
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 735447848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.8490566, g: 0.74542975, b: 0.4285333, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 20
+ m_FontStyle: 1
+ m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 0
@@ -6695,7 +7330,7 @@ GameObject:
- component: {fileID: 907083753}
- component: {fileID: 907083754}
m_Layer: 5
- m_Name: control_container
+ m_Name: push_to_update_container
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -9804,6 +10439,164 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1175679466}
m_CullTransparentMesh: 1
+--- !u!1 &1183349606
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1183349607}
+ - component: {fileID: 1183349610}
+ - component: {fileID: 1183349609}
+ - component: {fileID: 1183349608}
+ m_Layer: 5
+ m_Name: input_liveActivityType
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1183349607
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1183349606}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 315728431}
+ - {fileID: 409205826}
+ m_Father: {fileID: 2092728832}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &1183349608
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1183349606}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ 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: 1183349609}
+ m_TextComponent: {fileID: 409205827}
+ m_Placeholder: {fileID: 315728432}
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_CharacterValidation: 0
+ m_CharacterLimit: 0
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDidEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 307684281}
+ m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
+ m_MethodName: SetLiveActivityType
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+ m_Text:
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 0
+ m_ShouldActivateOnSelect: 1
+--- !u!114 &1183349609
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1183349606}
+ 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10911, 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 &1183349610
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1183349606}
+ m_CullTransparentMesh: 1
--- !u!1 &1221267383
GameObject:
m_ObjectHideFlags: 0
@@ -13211,7 +14004,7 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
---- !u!1 &1444481349
+--- !u!1 &1439751354
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -13219,64 +14012,128 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1444481350}
- - component: {fileID: 1444481352}
- - component: {fileID: 1444481351}
+ - component: {fileID: 1439751355}
+ - component: {fileID: 1439751356}
m_Layer: 5
- m_Name: Text
+ m_Name: inputcontrols_container
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1444481350
+--- !u!224 &1439751355
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1444481349}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_GameObject: {fileID: 1439751354}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1682907141}
+ m_Children:
+ - {fileID: 2040017992}
+ - {fileID: 1692788295}
+ m_Father: {fileID: 508352401}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
+ 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 &1444481351
+--- !u!114 &1439751356
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1444481349}
+ m_GameObject: {fileID: 1439751354}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_FontData:
- m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
- m_FontStyle: 0
- m_BestFit: 1
- m_MinSize: 10
- m_MaxSize: 40
- m_Alignment: 4
- m_AlignByGeometry: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &1444481349
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1444481350}
+ - component: {fileID: 1444481352}
+ - component: {fileID: 1444481351}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1444481350
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1444481349}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1682907141}
+ 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 &1444481351
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1444481349}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
@@ -13818,6 +14675,7 @@ RectTransform:
m_Children:
- {fileID: 1449350197}
- {fileID: 907083753}
+ - {fileID: 1620490981}
m_Father: {fileID: 185876438}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -14274,7 +15132,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 916273502}
m_Direction: 2
m_Value: 1
- m_Size: 0.50223213
+ m_Size: 0.3125
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
@@ -14396,6 +15254,69 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613721664}
m_CullTransparentMesh: 1
+--- !u!1 &1620490980
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1620490981}
+ - component: {fileID: 1620490982}
+ m_Layer: 5
+ m_Name: push_to_start_container
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1620490981
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1620490980}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 508352401}
+ m_Father: {fileID: 1504821450}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &1620490982
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1620490980}
+ 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: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
--- !u!1 &1625319360
GameObject:
m_ObjectHideFlags: 0
@@ -14529,6 +15450,243 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1625319360}
m_CullTransparentMesh: 1
+--- !u!1 &1626037428
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1626037429}
+ - component: {fileID: 1626037432}
+ - component: {fileID: 1626037431}
+ - component: {fileID: 1626037430}
+ m_Layer: 5
+ m_Name: input_liveActivityTypeToken
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1626037429
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1626037428}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 733996629}
+ - {fileID: 143676679}
+ m_Father: {fileID: 2092728832}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &1626037430
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1626037428}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ 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: 1626037431}
+ m_TextComponent: {fileID: 143676680}
+ m_Placeholder: {fileID: 733996630}
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_CharacterValidation: 0
+ m_CharacterLimit: 0
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDidEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 307684281}
+ m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
+ m_MethodName: SetLiveActivityTypeToken
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+ m_Text:
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 0
+ m_ShouldActivateOnSelect: 1
+--- !u!114 &1626037431
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1626037428}
+ 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10911, 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 &1626037432
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1626037428}
+ m_CullTransparentMesh: 1
+--- !u!1 &1639183095
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1639183096}
+ - component: {fileID: 1639183098}
+ - component: {fileID: 1639183097}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1639183096
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1639183095}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2040017992}
+ 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 &1639183097
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1639183095}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Set Push To Start
+--- !u!222 &1639183098
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1639183095}
+ m_CullTransparentMesh: 1
--- !u!1 &1650436504
GameObject:
m_ObjectHideFlags: 0
@@ -14803,13 +15961,146 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
---- !u!222 &1682907144
+--- !u!222 &1682907144
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1682907140}
+ m_CullTransparentMesh: 1
+--- !u!1 &1692788294
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1692788295}
+ - component: {fileID: 1692788298}
+ - component: {fileID: 1692788297}
+ - component: {fileID: 1692788296}
+ m_Layer: 5
+ m_Name: button_removePushToStartToken
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1692788295
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1692788294}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2067463134}
+ m_Father: {fileID: 1439751355}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &1692788296
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1692788294}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ 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: 1692788297}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 307684281}
+ m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
+ m_MethodName: RemovePushToStartToken
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+--- !u!114 &1692788297
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1692788294}
+ 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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 &1692788298
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1682907140}
+ m_GameObject: {fileID: 1692788294}
m_CullTransparentMesh: 1
--- !u!1 &1720197315
GameObject:
@@ -17100,6 +18391,139 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2018806146}
m_CullTransparentMesh: 1
+--- !u!1 &2040017991
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2040017992}
+ - component: {fileID: 2040017995}
+ - component: {fileID: 2040017994}
+ - component: {fileID: 2040017993}
+ m_Layer: 5
+ m_Name: button_setPushToStartToken
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2040017992
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040017991}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1639183096}
+ m_Father: {fileID: 1439751355}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &2040017993
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040017991}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ 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: 2040017994}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 307684281}
+ m_TargetAssemblyTypeName: OneSignalExampleBehaviour, OneSignal.UnityPackage.Example
+ m_MethodName: SetPushToStartToken
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+--- !u!114 &2040017994
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040017991}
+ 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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 &2040017995
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040017991}
+ m_CullTransparentMesh: 1
--- !u!1 &2042661922
GameObject:
m_ObjectHideFlags: 0
@@ -17470,6 +18894,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2064913293}
m_CullTransparentMesh: 1
+--- !u!1 &2067463133
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2067463134}
+ - component: {fileID: 2067463136}
+ - component: {fileID: 2067463135}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2067463134
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2067463133}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9, y: 0.9, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1692788295}
+ 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 &2067463135
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2067463133}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Remove Push To Start
+--- !u!222 &2067463136
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2067463133}
+ m_CullTransparentMesh: 1
--- !u!1 &2086638412
GameObject:
m_ObjectHideFlags: 0
@@ -17574,6 +19077,91 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
+--- !u!1 &2092728831
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2092728832}
+ - component: {fileID: 2092728834}
+ - component: {fileID: 2092728833}
+ m_Layer: 5
+ m_Name: kv_container
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2092728832
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092728831}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1183349607}
+ - {fileID: 1626037429}
+ m_Father: {fileID: 508352401}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ 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 &2092728833
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092728831}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: 200
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &2092728834
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092728831}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
--- !u!1 &2110721982
GameObject:
m_ObjectHideFlags: 0
diff --git a/OneSignalExample/ProjectSettings/QualitySettings.asset b/OneSignalExample/ProjectSettings/QualitySettings.asset
index adeabdb4e..3a0ad6803 100644
--- a/OneSignalExample/ProjectSettings/QualitySettings.asset
+++ b/OneSignalExample/ProjectSettings/QualitySettings.asset
@@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 5
m_QualitySettings:
- - serializedVersion: 2
+ - serializedVersion: 3
name: Very Low
pixelLightCount: 0
shadows: 0
@@ -19,16 +19,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 1
- textureQuality: 1
+ globalTextureMipmapLimit: 1
+ textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 0
+ realtimeGICPUUsage: 25
lodBias: 0.3
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -41,8 +45,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Low
pixelLightCount: 0
shadows: 0
@@ -55,16 +68,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 0
+ realtimeGICPUUsage: 25
lodBias: 0.4
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -77,8 +94,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Medium
pixelLightCount: 1
shadows: 1
@@ -91,16 +117,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 25
lodBias: 0.7
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -113,8 +143,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: High
pixelLightCount: 2
shadows: 2
@@ -127,16 +166,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 50
lodBias: 1
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -149,8 +192,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Very High
pixelLightCount: 3
shadows: 2
@@ -163,16 +215,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 50
lodBias: 1.5
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -185,8 +241,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Ultra
pixelLightCount: 4
shadows: 2
@@ -199,16 +264,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 255
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 100
lodBias: 2
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -221,7 +290,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
+ m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality:
Android: 2
CloudRendering: 5
@@ -230,6 +309,7 @@ QualitySettings:
Lumin: 5
Nintendo Switch: 5
PS4: 5
+ Server: 0
Stadia: 5
Standalone: 5
WebGL: 3
diff --git a/OneSignalExample/ProjectSettings/TimelineSettings.asset b/OneSignalExample/ProjectSettings/TimelineSettings.asset
index b4fbdb097..cfaebd7a3 100644
--- a/OneSignalExample/ProjectSettings/TimelineSettings.asset
+++ b/OneSignalExample/ProjectSettings/TimelineSettings.asset
@@ -13,3 +13,4 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
assetDefaultFramerate: 60
+ m_DefaultFrameRate: 60
diff --git a/OneSignalExample/iOS/ExampleWidget.meta b/OneSignalExample/iOS/ExampleWidget.meta
new file mode 100644
index 000000000..7438ef232
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e3f8d68f5b39d4661836851ec84da540
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets.meta
new file mode 100644
index 000000000..093f943d8
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 215e54614514e46eb8905fbedac7fd7b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset.meta
new file mode 100644
index 000000000..53b87bcda
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 44dda4393d1e2438a86fa45972f5ce53
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 000000000..eb8789700
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json.meta
new file mode 100644
index 000000000..a58282bb7
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AccentColor.colorset/Contents.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d537a94897b99467e839f88704e75d1b
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset.meta
new file mode 100644
index 000000000..6b7e4d48d
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 287302ef599b4485e82d15204aa6e732
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..13613e3ee
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,13 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json.meta
new file mode 100644
index 000000000..eea13a944
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/AppIcon.appiconset/Contents.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: eb0ba19ad2dac4087b39eaec7b6d3e17
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json
new file mode 100644
index 000000000..73c00596a
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json.meta
new file mode 100644
index 000000000..1c6e92683
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/Contents.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 656526a6c7a7d4688bdfb19393374c22
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset.meta
new file mode 100644
index 000000000..34ea6dcc8
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c19bc81950e014289b508c198da1ce9c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json
new file mode 100644
index 000000000..eb8789700
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json.meta
new file mode 100644
index 000000000..77831ac1b
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 985b8e7a1550742b19219123072b33dc
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset.meta
new file mode 100644
index 000000000..29d125de9
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ed7b74885d1c34afb9e0d0db03f68819
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json
new file mode 100644
index 000000000..0eddeb7c8
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "onesignal-logo.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json.meta
new file mode 100644
index 000000000..b88cfcc31
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/Contents.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b44dea63ecffa475aa5f236f8a24bfea
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png
new file mode 100644
index 000000000..ba97c7a7d
Binary files /dev/null and b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png differ
diff --git a/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png.meta b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png.meta
new file mode 100644
index 000000000..21b191a4f
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Assets.xcassets/onesignaldemo.imageset/onesignal-logo.png.meta
@@ -0,0 +1,153 @@
+fileFormatVersion: 2
+guid: 5330de67d64a34e109f6a3acb6986814
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: iPhone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift
new file mode 100644
index 000000000..2edbef044
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift
@@ -0,0 +1,16 @@
+//
+// ExampleWidgetBundle.swift
+// ExampleWidget
+//
+// Created by Brian Smith on 5/29/24.
+//
+
+import WidgetKit
+import SwiftUI
+
+@main
+struct ExampleWidgetBundle: WidgetBundle {
+ var body: some Widget {
+ ExampleWidgetLiveActivity()
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift.meta b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift.meta
new file mode 100644
index 000000000..c11dd5bac
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetBundle.swift.meta
@@ -0,0 +1,37 @@
+fileFormatVersion: 2
+guid: 5b4b5ae244087446083c871541cf53b3
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift
new file mode 100644
index 000000000..5291428c7
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift
@@ -0,0 +1,66 @@
+//
+// ExampleWidgetLiveActivity.swift
+// ExampleWidget
+//
+// Created by Brian Smith on 4/30/24.
+// Copyright © 2024 The Chromium Authors. All rights reserved.
+//
+
+import ActivityKit
+import WidgetKit
+import SwiftUI
+import OneSignalLiveActivities
+
+struct ExampleWidgetLiveActivity: Widget {
+ var body: some WidgetConfiguration {
+ ActivityConfiguration(for: DefaultLiveActivityAttributes.self) { context in
+ // Lock screen/banner UI goes here\VStack(alignment: .leading) {
+ VStack {
+ Spacer()
+ Text("UNITY: " + (context.attributes.data["title"]?.asString() ?? "")).font(.headline)
+ Spacer()
+ HStack {
+ Spacer()
+ Label {
+ Text(context.state.data["message"]?.asDict()?["en"]?.asString() ?? "")
+ } icon: {
+ Image("onesignaldemo")
+ .resizable()
+ .scaledToFit()
+ .frame(width: 40.0, height: 40.0)
+ }
+ Spacer()
+ }
+ Text("INT: " + String(context.state.data["intValue"]?.asInt() ?? 0))
+ Text("DBL: " + String(context.state.data["doubleValue"]?.asDouble() ?? 0.0))
+ Text("BOL: " + String(context.state.data["boolValue"]?.asBool() ?? false))
+ Spacer()
+ }
+ .activitySystemActionForegroundColor(.black)
+ .activityBackgroundTint(.white)
+ } dynamicIsland: { _ in
+ DynamicIsland {
+ // Expanded UI goes here. Compose the expanded UI through
+ // various regions, like leading/trailing/center/bottom
+ DynamicIslandExpandedRegion(.leading) {
+ Text("Leading")
+ }
+ DynamicIslandExpandedRegion(.trailing) {
+ Text("Trailing")
+ }
+ DynamicIslandExpandedRegion(.bottom) {
+ Text("Bottom")
+ // more content
+ }
+ } compactLeading: {
+ Text("L")
+ } compactTrailing: {
+ Text("T")
+ } minimal: {
+ Text("Min")
+ }
+ .widgetURL(URL(string: "http://www.apple.com"))
+ .keylineTint(Color.red)
+ }
+ }
+}
diff --git a/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift.meta b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift.meta
new file mode 100644
index 000000000..7ba061680
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/ExampleWidgetLiveActivity.swift.meta
@@ -0,0 +1,37 @@
+fileFormatVersion: 2
+guid: eee3df79e4a3b45208880907b672c964
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/OneSignalExample/iOS/ExampleWidget/Info.plist b/OneSignalExample/iOS/ExampleWidget/Info.plist
new file mode 100644
index 000000000..f42024eb2
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Info.plist
@@ -0,0 +1,29 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ ExampleWidget
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ $(PRODUCT_BUNDLE_PACKAGE_TYPE)
+ CFBundleShortVersionString
+ 5.1.6
+ CFBundleVersion
+ 2
+ NSExtension
+
+ NSExtensionPointIdentifier
+ com.apple.widgetkit-extension
+
+
+
diff --git a/OneSignalExample/iOS/ExampleWidget/Info.plist.meta b/OneSignalExample/iOS/ExampleWidget/Info.plist.meta
new file mode 100644
index 000000000..3098607f2
--- /dev/null
+++ b/OneSignalExample/iOS/ExampleWidget/Info.plist.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9fd871a90f3ce4bf3875c717afe6ef95
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/com.onesignal.unity.android/Runtime/AndroidLiveActivitiesManager.cs b/com.onesignal.unity.android/Runtime/AndroidLiveActivitiesManager.cs
index 33311e0e1..c22b317e4 100644
--- a/com.onesignal.unity.android/Runtime/AndroidLiveActivitiesManager.cs
+++ b/com.onesignal.unity.android/Runtime/AndroidLiveActivitiesManager.cs
@@ -25,6 +25,7 @@
* THE SOFTWARE.
*/
using UnityEngine;
+using System.Collections.Generic;
using System.Threading.Tasks;
using OneSignalSDK.LiveActivities;
using OneSignalSDK.Debug.Utilities;
@@ -40,5 +41,25 @@ public Task ExitAsync(string activityId) {
SDKDebug.Warn("This feature is only available for iOS.");
return Task.FromResult(false);
}
+
+ public void RemovePushToStartToken(string activityType)
+ {
+ SDKDebug.Warn("This feature is only available for iOS.");
+ }
+
+ public void SetPushToStartToken(string activityType, string token)
+ {
+ SDKDebug.Warn("This feature is only available for iOS.");
+ }
+
+ public void SetupDefault(LiveActivitySetupOptions options = null)
+ {
+ SDKDebug.Warn("This feature is only available for iOS.");
+ }
+
+ public void StartDefault(string activityId, IDictionary attributes, IDictionary content)
+ {
+ SDKDebug.Warn("This feature is only available for iOS.");
+ }
}
}
\ No newline at end of file
diff --git a/com.onesignal.unity.core/Editor/Platform/LiveActivitiesManager.cs b/com.onesignal.unity.core/Editor/Platform/LiveActivitiesManager.cs
index 60a8bfb01..a1034dc86 100644
--- a/com.onesignal.unity.core/Editor/Platform/LiveActivitiesManager.cs
+++ b/com.onesignal.unity.core/Editor/Platform/LiveActivitiesManager.cs
@@ -25,6 +25,7 @@
* THE SOFTWARE.
*/
+using System.Collections.Generic;
using System.Threading.Tasks;
namespace OneSignalSDK.LiveActivities {
@@ -36,5 +37,25 @@ public Task EnterAsync(string activityId, string token) {
public Task ExitAsync(string activityId) {
return Task.FromResult(false);
}
+
+ public void RemovePushToStartToken(string activityType)
+ {
+
+ }
+
+ public void SetPushToStartToken(string activityType, string token)
+ {
+
+ }
+
+ public void SetupDefault(LiveActivitySetupOptions options = null)
+ {
+
+ }
+
+ public void StartDefault(string activityId, IDictionary attributes, IDictionary content)
+ {
+
+ }
}
}
\ No newline at end of file
diff --git a/com.onesignal.unity.core/Runtime/LiveActivities/ILiveActivitiesManager.cs b/com.onesignal.unity.core/Runtime/LiveActivities/ILiveActivitiesManager.cs
index c4b7b8389..61a8f02ef 100644
--- a/com.onesignal.unity.core/Runtime/LiveActivities/ILiveActivitiesManager.cs
+++ b/com.onesignal.unity.core/Runtime/LiveActivities/ILiveActivitiesManager.cs
@@ -25,6 +25,7 @@
* THE SOFTWARE.
*/
+using System.Collections.Generic;
using System.Threading.Tasks;
namespace OneSignalSDK.LiveActivities {
@@ -43,5 +44,54 @@ public interface ILiveActivitiesManager {
/// iOS Only
/// Awaitable boolean of whether the operation succeeded or failed
Task ExitAsync(string activityId);
+
+ ///
+ /// Enable the OneSignalSDK to setup the default`DefaultLiveActivityAttributes` structure,
+ /// which conforms to the `OneSignalLiveActivityAttributes`. When using this function, the
+ /// widget attributes are owned by the OneSignal SDK, which will allow the SDK to handle the
+ /// entire lifecycle of the live activity. All that is needed from an app-perspective is to
+ /// create a Live Activity widget in a widget extension, with a `ActivityConfiguration` for
+ /// `DefaultLiveActivityAttributes`. This is most useful for users that (1) only have one Live
+ /// Activity widget and (2) are using a cross-platform framework and do not want to create the
+ /// cross-platform <-> iOS native bindings to manage ActivityKit.
+ ///
+ /// Only applies to iOS.
+ ///
+ /// An optional structure to provide for more granular setup options.
+ void SetupDefault(LiveActivitySetupOptions options = null);
+
+ ///
+ /// Start a new LiveActivity that is modelled by the default`DefaultLiveActivityAttributes`
+ /// structure. The `DefaultLiveActivityAttributes` is initialized with the dynamic `attributes`
+ /// and `content` passed in.
+ ///
+ /// Only applies to iOS.
+ ///
+ /// The activity identifier the live activity on this device will be started
+ /// and eligible to receive updates for.
+ /// A dynamic type containing the static attributes passed into `DefaultLiveActivityAttributes`.
+ /// A dynamic type containing the content attributes passed into `DefaultLiveActivityAttributes`.
+ void StartDefault(string activityId, IDictionary attributes, IDictionary content);
+
+ ///
+ /// Indicate this device is capable of receiving pushToStart live activities for the `activityType`.
+ /// The `activityType` **must** be the name of the struct conforming to `ActivityAttributes` that will be used
+ /// to start the live activity.
+ ///
+ /// Only applies to iOS.
+ ///
+ /// The name of the specific `ActivityAttributes` structure tied to the live activity.
+ /// The (OS-provided) token that will be used to start a live activity of this `activityType` on this device.
+ void SetPushToStartToken(string activityType, string token);
+
+ ///
+ /// Indicate this device is no longer capable of receiving pushToStart live activities for the `activityType`.
+ /// The `activityType` **must** be the name of the struct conforming to `ActivityAttributes` that will be used
+ /// to start the live activity.
+ ///
+ /// Only applies to iOS.
+ ///
+ /// The name of the specific `ActivityAttributes` structure tied to the live activity.
+ void RemovePushToStartToken(string activityType);
}
}
\ No newline at end of file
diff --git a/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs b/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs
new file mode 100644
index 000000000..ae2a5fb31
--- /dev/null
+++ b/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs
@@ -0,0 +1,47 @@
+/*
+ * Modified MIT License
+ *
+ * Copyright 2023 OneSignal
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * 1. The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * 2. All copies of substantial portions of the Software may only be used in connection
+ * with services provided by OneSignal.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+using System.Threading.Tasks;
+
+namespace OneSignalSDK.LiveActivities {
+ ///
+ /// The setup options for .
+ ///
+ public class LiveActivitySetupOptions
+ {
+ ///
+ /// When true, OneSignal will listen for pushToStart tokens for the `OneSignalLiveActivityAttributes` structure.
+ ///
+ public bool EnablePushToStart { get; set; }
+
+ ///
+ /// When true, OneSignal will listen for pushToUpdate tokens for each start live activity that uses the
+ /// `OneSignalLiveActivityAttributes` structure.
+ ///
+ public bool EnablePushToUpdate { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs.meta b/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs.meta
new file mode 100644
index 000000000..e495f73b6
--- /dev/null
+++ b/com.onesignal.unity.core/Runtime/LiveActivities/LiveActivitiesSetupOptions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 193ac3457a1c944a39943c880026f1a1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/com.onesignal.unity.core/Samples~/OneSignalExampleBehaviour.cs b/com.onesignal.unity.core/Samples~/OneSignalExampleBehaviour.cs
index f2a0c64c5..a868cee9a 100644
--- a/com.onesignal.unity.core/Samples~/OneSignalExampleBehaviour.cs
+++ b/com.onesignal.unity.core/Samples~/OneSignalExampleBehaviour.cs
@@ -127,7 +127,17 @@ public class OneSignalExampleBehaviour : MonoBehaviour {
///
///
///
- public string liveActivityToken;
+ public string liveActivityIdToken;
+
+ ///
+ ///
+ ///
+ public string liveActivityType;
+
+ ///
+ ///
+ ///
+ public string liveActivityTypeToken;
///
/// we recommend initializing OneSignal early in your application's lifecycle such as in the Start method of a
@@ -141,6 +151,9 @@ private void Start() {
_log($"Initializing with appId {appId}");
OneSignal.Initialize(appId);
+ // Setup the default live activity
+ OneSignal.LiveActivities.SetupDefault();
+
// Setting ConsentRequired to true will prevent the OneSignalSDK from operating until
// PrivacyConsent is also set to true
OneSignal.ConsentRequired = consentRequired;
@@ -416,10 +429,28 @@ public void ToggleShareLocation() {
* iOS
*/
+ public void StartDefaultLiveActivity() {
+ _log($"Start Default Live Activity with id: {liveActivityId}...");
+
+ OneSignal.LiveActivities.StartDefault(
+ liveActivityId,
+ new Dictionary() {
+ { "title", "Welcome!" }
+ },
+ new Dictionary() {
+ { "message", new Dictionary() {
+ { "en", "Hello World!"}
+ }},
+ { "intValue", 3 },
+ { "doubleValue", 3.14 },
+ { "boolValue", true }
+ });
+ }
+
public async void EnterLiveActivityAsync() {
- _log($"Entering Live Activity with id: {liveActivityId} and token: {liveActivityToken} and awaiting result...");
+ _log($"Entering Live Activity with id: {liveActivityId} and token: {liveActivityIdToken} and awaiting result...");
- var result = await OneSignal.LiveActivities.EnterAsync(liveActivityId, liveActivityToken);
+ var result = await OneSignal.LiveActivities.EnterAsync(liveActivityId, liveActivityIdToken);
if (result)
_log("Live Activity enter success");
@@ -438,6 +469,18 @@ public async void ExitLiveActivityAsync() {
_log("Live Activity exit failed");
}
+ public void SetPushToStartToken() {
+ _log($"Set Push To Start Token for type: {liveActivityType} with token: {liveActivityTypeToken}...");
+
+ OneSignal.LiveActivities.SetPushToStartToken(liveActivityType, liveActivityTypeToken);
+ }
+
+ public void RemovePushToStartToken() {
+ _log($"Remove Push To Start Token for type: {liveActivityType}...");
+
+ OneSignal.LiveActivities.RemovePushToStartToken(liveActivityType);
+ }
+
#region Rendering
/*
* You can safely ignore everything in this region and below
@@ -466,7 +509,10 @@ public async void ExitLiveActivityAsync() {
public void SetOutcomeValue(string newVal) => outcomeValue = Convert.ToSingle(newVal);
public void SetLiveActivityId(string newVal) => liveActivityId = newVal;
- public void SetLiveActivityToken(string newVal) => liveActivityToken = newVal;
+ public void SetLiveActivityIdToken(string newVal) => liveActivityIdToken = newVal;
+
+ public void SetLiveActivityType(string newVal) => liveActivityType = newVal;
+ public void SetLiveActivityTypeToken(string newVal) => liveActivityTypeToken = newVal;
private void Awake() {
SDKDebug.LogIntercept += _log;
diff --git a/com.onesignal.unity.ios/Runtime/Plugins/iOS/OneSignalUnityBridgeLiveActivities.mm b/com.onesignal.unity.ios/Runtime/Plugins/iOS/OneSignalUnityBridgeLiveActivities.mm
index b46a72b45..c6273fb1c 100644
--- a/com.onesignal.unity.ios/Runtime/Plugins/iOS/OneSignalUnityBridgeLiveActivities.mm
+++ b/com.onesignal.unity.ios/Runtime/Plugins/iOS/OneSignalUnityBridgeLiveActivities.mm
@@ -29,7 +29,9 @@
#import
#import
#import
+#import "OneSignalLiveActivities/OneSignalLiveActivities-Swift.h"
#import
+#import "OneSignalBridgeUtil.h"
typedef void (*BooleanResponseDelegate)(int hashCode, bool response);
@@ -57,4 +59,60 @@ void _oneSignalExitLiveActivity(const char* activityId, int hashCode, BooleanRes
withSuccess:^(NSDictionary *result) { CALLBACK(YES); }
withFailure:^(NSError *error) { CALLBACK(NO); }];
}
+
+
+ void _oneSignalSetupDefaultLiveActivity(const char* optionsJson) {
+ LiveActivitySetupOptions *laOptions = nil;
+
+ if (optionsJson) {
+ NSDictionary *optionsDict = oneSignalDictionaryFromJsonString(optionsJson);
+
+ laOptions = [LiveActivitySetupOptions alloc];
+ [laOptions setEnablePushToStart:[optionsDict[@"enablePushToStart"] boolValue]];
+ [laOptions setEnablePushToUpdate:[optionsDict[@"enablePushToUpdate"] boolValue]];
+ }
+
+ if (@available(iOS 16.1, *)) {
+ [OneSignalLiveActivitiesManagerImpl setupDefaultWithOptions:laOptions];
+ } else {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"cannot setupDefault on iOS < 16.1"]];
+ }
+ }
+
+ void _oneSignalStartDefaultLiveActivity(const char* activityId, const char* attributesJson, const char* contentJson) {
+ if (@available(iOS 16.1, *)) {
+ NSDictionary *attributes = oneSignalDictionaryFromJsonString(attributesJson);
+ NSDictionary *content = oneSignalDictionaryFromJsonString(contentJson);
+
+ [OneSignalLiveActivitiesManagerImpl startDefault:TO_NSSTRING(activityId) attributes:attributes content:content];
+ } else {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"cannot startDefault on iOS < 16.1"]];
+ }
+ }
+
+ void _oneSignalSetPushToStartToken(const char* activityType, const char* token) {
+ NSError* err=nil;
+
+ if (@available(iOS 17.2, *)) {
+ [OneSignalLiveActivitiesManagerImpl setPushToStartToken:TO_NSSTRING(activityType) withToken:TO_NSSTRING(token) error:&err];
+ if (err) {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"activityType must be the name of your ActivityAttributes struct"]];
+ }
+ } else {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"cannot setPushToStartToken on iOS < 17.2"]];
+ }
+ }
+
+ void _oneSignalRemovePushToStartToken(const char* activityType) {
+ NSError* err=nil;
+ if (@available(iOS 17.2, *)) {
+ [OneSignalLiveActivitiesManagerImpl removePushToStartToken:TO_NSSTRING(activityType) error:&err];
+
+ if (err) {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"activityType must be the name of your ActivityAttributes struct"]];
+ }
+ } else {
+ [OneSignalLog onesignalLog:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"cannot removePushToStartToken on iOS < 17.2"]];
+ }
+ }
}
\ No newline at end of file
diff --git a/com.onesignal.unity.ios/Runtime/iOSLiveActivitiesManager.cs b/com.onesignal.unity.ios/Runtime/iOSLiveActivitiesManager.cs
index e58f9f3ae..41415f7b8 100644
--- a/com.onesignal.unity.ios/Runtime/iOSLiveActivitiesManager.cs
+++ b/com.onesignal.unity.ios/Runtime/iOSLiveActivitiesManager.cs
@@ -25,6 +25,7 @@
* THE SOFTWARE.
*/
+using System.Collections.Generic;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using OneSignalSDK.LiveActivities;
@@ -32,9 +33,14 @@
namespace OneSignalSDK.iOS.LiveActivities {
internal sealed class iOSLiveActivitiesManager : ILiveActivitiesManager {
+ [DllImport("__Internal")] private static extern void _oneSignalSetupDefaultLiveActivity(string optionsJson);
+ [DllImport("__Internal")] private static extern void _oneSignalStartDefaultLiveActivity(string activityId, string attributesJson, string contentJson);
[DllImport("__Internal")] private static extern void _oneSignalEnterLiveActivity(string activityId, string token, int hashCode, BooleanResponseDelegate callback);
[DllImport("__Internal")] private static extern void _oneSignalExitLiveActivity(string activityId, int hashCode, BooleanResponseDelegate callback);
+ [DllImport("__Internal")] private static extern void _oneSignalSetPushToStartToken(string activityType, string token);
+ [DllImport("__Internal")] private static extern void _oneSignalRemovePushToStartToken(string activityType);
+
private delegate void BooleanResponseDelegate(int hashCode, bool response);
public async Task EnterAsync(string activityId, string token) {
@@ -49,6 +55,36 @@ public async Task ExitAsync(string activityId) {
return await proxy;
}
+ public void RemovePushToStartToken(string activityType)
+ {
+ _oneSignalRemovePushToStartToken(activityType);
+ }
+
+ public void SetPushToStartToken(string activityType, string token)
+ {
+ _oneSignalSetPushToStartToken(activityType, token);
+ }
+
+ public void SetupDefault(LiveActivitySetupOptions options = null)
+ {
+ string optionsJson = null;
+ if (options != null)
+ {
+ optionsJson = Json.Serialize(new Dictionary
+ {
+ { "enablePushToStart", options.EnablePushToStart },
+ { "enablePushToUpdate", options.EnablePushToUpdate }
+ });
+ }
+
+ _oneSignalSetupDefaultLiveActivity(optionsJson);
+ }
+
+ public void StartDefault(string activityId, IDictionary attributes, IDictionary content)
+ {
+ _oneSignalStartDefaultLiveActivity(activityId, Json.Serialize(attributes), Json.Serialize(content));
+ }
+
[AOT.MonoPInvokeCallback(typeof(BooleanResponseDelegate))]
private static void BooleanCallbackProxy(int hashCode, bool response)
=> WaitingProxy.ResolveCallbackProxy(hashCode, response);