commit b3981eceb20abc30edaeae613ca76b1699ea4804 Author: changyunjia <905640960@qq.com> Date: Thu Jul 9 10:28:18 2026 +0800 sdk提交 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab720f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/.vscode +/Library/APIUpdater +/Library +/Logs +/Temp diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj new file mode 100644 index 0000000..9b8dc16 --- /dev/null +++ b/Assembly-CSharp.csproj @@ -0,0 +1,1041 @@ + + + + Temp\obj\$(Configuration)\$(MSBuildProjectName) + $(BaseIntermediateOutputPath) + + + + + + + false + false + false + 9.0 + Debug;Release + Debug + AnyCPU + + Library + Properties + Assembly-CSharp + netstandard2.1 + . + + + true + full + false + Temp\bin\Debug\ + UNITY_2022_3_62;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + prompt + 4 + 0169;USG0001 + False + + + pdbonly + true + Temp\bin\Release\ + prompt + 4 + 0169;USG0001 + False + + + true + true + true + true + MSB3277 + + + Package + 2.0.22 + SDK + Game:1 + StandaloneWindows64:19 + 2022.3.62f2 + + + + + + + + + + + + + + + + + + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + False + + + Library\PackageCache\com.unity.testtools.codecoverage@1.2.6\lib\ReportGenerator\ReportGeneratorMerged.dll + False + + + Assets\Scripts\Newtonsoft.Json.dll + False + + + Library\PackageCache\com.unity.visualscripting@1.9.4\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.GradleProject.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + False + + + C:\Program Files\Unity\Hub\Editor\2022.3.62f2\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + False + + + Library\ScriptAssemblies\Unity.Timeline.dll + False + + + Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Mono.Reflection.dll + False + + + Library\ScriptAssemblies\UnityEngine.UI.dll + False + + + Library\ScriptAssemblies\Unity.EditorCoroutines.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.SettingsProvider.Editor.dll + False + + + Library\ScriptAssemblies\Unity.Performance.Profile-Analyzer.Editor.dll + False + + + Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.dll + False + + + Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Model.dll + False + + + Library\ScriptAssemblies\Unity.PlasticSCM.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.State.Editor.dll + False + + + Library\ScriptAssemblies\Unity.Timeline.Editor.dll + False + + + Library\ScriptAssemblies\Unity.Settings.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.Shared.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualStudio.Editor.dll + False + + + Library\ScriptAssemblies\Unity.TextMeshPro.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.Core.dll + False + + + Library\ScriptAssemblies\Unity.TextMeshPro.Editor.dll + False + + + Library\ScriptAssemblies\UnityEditor.UI.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.Core.Editor.dll + False + + + Library\ScriptAssemblies\Unity.Rider.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.State.dll + False + + + Library\ScriptAssemblies\Unity.VSCode.Editor.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.Flow.dll + False + + + Library\ScriptAssemblies\Unity.VisualScripting.Flow.Editor.dll + False + + + + + + + + + + + + + + + + + diff --git a/Assets/Scenes.meta b/Assets/Scenes.meta new file mode 100644 index 0000000..0748aa4 --- /dev/null +++ b/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a8398f7cb767e8a4ead2ebe5b69c5fd2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity new file mode 100644 index 0000000..fba82bd --- /dev/null +++ b/Assets/Scenes/SampleScene.unity @@ -0,0 +1,361 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &538393918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 538393920} + - component: {fileID: 538393919} + m_Layer: 0 + m_Name: SdkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &538393919 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538393918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e4a4fc2ee037174b95c916ef5475ee2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &538393920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538393918} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 963194228} + - {fileID: 705507995} + - {fileID: 538393920} diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 0000000..952bd1e --- /dev/null +++ b/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..9eb7fd3 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aec80b836f2474741aeeef00ea0e1c99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/.DS_Store b/Assets/Scripts/.DS_Store new file mode 100644 index 0000000..990eb05 Binary files /dev/null and b/Assets/Scripts/.DS_Store differ diff --git a/Assets/Scripts/BrigdeIOS.cs b/Assets/Scripts/BrigdeIOS.cs new file mode 100644 index 0000000..49ac471 --- /dev/null +++ b/Assets/Scripts/BrigdeIOS.cs @@ -0,0 +1,49 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Runtime.InteropServices; +using UnityEditor; + +public class BrigdeIOS +{ + + + [DllImport("__Internal")] + public static extern void addH5Field(int field1, int field2, int field3, int field4, int field5, string field6, string field7, string dark_url, string light_url, bool is_gift, string web_through_str, string click_add_time); + // [DllImport("__Internal")] + // public static extern void SetTouchWebview(bool flag, bool force = false); + + // [DllImport("__Internal")] + // public static extern void ScrollWebview(float dx, float dy); + + [DllImport("__Internal")] + public static extern void SetPadding(float left, float top, float right, float bottom); + [DllImport("__Internal")] + public static extern void SetDarkThough(bool though); + [DllImport("__Internal")] + public static extern void SetBtn(int left, int top, int right, int bottom); + + [DllImport("__Internal")] + public static extern void ShowH5View(bool flag); + + [DllImport("__Internal")] + public static extern void SetIconProgress(float val); + + [DllImport("__Internal")] + public static extern void ShowFlyBtn(bool flag); + + [DllImport("__Internal")] + public static extern void setFlyBtnTag(bool flag); + [DllImport("__Internal")] + public static extern void setRewardBtnTag(bool flag); + [DllImport("__Internal")] + public static extern void copyText(string text); + [DllImport("__Internal")] + public static extern void OpenWv(); + +} + + + + + diff --git a/Assets/Scripts/BrigdeIOS.cs.meta b/Assets/Scripts/BrigdeIOS.cs.meta new file mode 100644 index 0000000..1b701fa --- /dev/null +++ b/Assets/Scripts/BrigdeIOS.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d673fd507808f70469612b536c921d31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ConfigSystem_sdk.cs b/Assets/Scripts/ConfigSystem_sdk.cs new file mode 100644 index 0000000..f223294 --- /dev/null +++ b/Assets/Scripts/ConfigSystem_sdk.cs @@ -0,0 +1,292 @@ +using System; +using System.IO; +using UnityEngine; +using System.Collections.Generic; +using Newtonsoft.Json; +using BingoBrain; +using System.Linq; +using System.Text; +using DontConfuse; +using UnityEngine.Events; +using UnityEngine.Networking; +using System.Collections; +namespace BingoBrain +{ + public class ConfigSystem_sdk + { + + private ConfigSystem_sdk() + { + } + private static readonly ConfigSystem_sdk _instance = new ConfigSystem_sdk(); + + public static ConfigSystem_sdk Instance + { + get { return _instance; } + } + + private static Dictionary configData = new(); + public void OnRequestGetConfig() + { + // GameHelper.PostFunnelLogin("loadBegin"); + var loginData = LoginModel_sdk.Instance; + + var configFileName = "Json"; + var configFileSavePath = $"{Application.persistentDataPath}/sdkConfig/"; + var assetHotFixFilePath = $"{configFileSavePath}{configFileName}.txt"; + var configFileNameKey = "sdkconfigFileName"; + + var CDNConfigFileName = loginData.setting; + string savedCfgName = PlayerPrefs.GetString(configFileNameKey); + bool needDownloadConfigFile = false; + + if (!string.IsNullOrEmpty(CDNConfigFileName)) + { + //如果本地Player Prefs里没有保存配置文件名 + if (string.IsNullOrEmpty(savedCfgName)) + { + // Debug.Log("[UNITY] No config file name saved."); + needDownloadConfigFile = true; + } + else + { + // Debug.Log($"[UNITY] Saved config name: {savedCfgName}, CDN config name: {CDNConfigFileName}"); + //与CDN上的对比名称 + if (!savedCfgName.Equals(CDNConfigFileName)) + { + needDownloadConfigFile = true; + } + } + } + //Debug.Log($"[UNITY] needDownloadConfigFile: {needDownloadConfigFile}"); + //默默地拉去新配置 + // Debug.Log("kkkkkkkkkkkkkkkkkkkkkk" + needDownloadConfigFile); + // Debug.Log("kkkkkkkkkkkkkkkkkkkkkk" + savedCfgName); + + if (needDownloadConfigFile || !File.Exists(assetHotFixFilePath)) + { + SdkManager.Instance.StartCoroutine(GetTextFromUrl($"{loginData.cdn_url}/config/{CDNConfigFileName}", + configFileName, (content) => + { + PlayerPrefs.SetString(configFileNameKey, CDNConfigFileName); + ParseConfig(content); + //CtrlDispatcher.Instance.Dispatch(CtrlMsg.NewConfigRead); + }, configFileSavePath)); + } + + //检查设备本地是否有配置文件 + if (File.Exists(assetHotFixFilePath)) + { + // Debug.Log($"[UNITY] Load config from datapath: {assetHotFixFilePath}"); + ParseConfig(File.ReadAllText(assetHotFixFilePath)); + // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close); + // AppDispatcher.Instance.Dispatch(CsjInfoC.LoginInit); + // GameHelper.PostFunnelLogin("loadFinish"); + } + } + public static IEnumerator GetTextFromUrl(string url, string fileName, UnityAction action = null, + string savePath = null) + { + var unityWebRequest = UnityWebRequest.Get(url); + yield return unityWebRequest.SendWebRequest(); + if (unityWebRequest.result is UnityWebRequest.Result.ConnectionError + or UnityWebRequest.Result.ProtocolError) + { + Debug.LogError($"加载 [ {fileName} ] 文本文件失败 {unityWebRequest.error} [ url: {url} ]"); + action?.Invoke(default); + yield break; + } + + var content = unityWebRequest.downloadHandler.text; + + SaveTextFile(content, savePath, fileName); + + action?.Invoke(content); + } + private static void SaveTextFile(string content, string filePath, string fileName) + { + if (!Directory.Exists(filePath)) + { + Directory.CreateDirectory(filePath); + } + + File.WriteAllText($"{filePath}{fileName}.txt", content); + } + private void ParseConfig(string json) + { + Debug.Log("sdk--------json" + json); + if (json == null) + { + return; + } + + if (!json.StartsWith("{")) + { + json = Encoding.UTF8.GetString(Base64Kit_sdk.Decrypt(Encoding.UTF8.GetBytes(json), + "com.matchgame.captaindicedubloons")); + } + Debug.Log("转化后的json" + json); + SetConfig(json); + + Debug.Log(LoginModel_sdk.Instance.reg_time); + Debug.Log(GetRegisteredCalendarDaysByUTC(LoginModel_sdk.Instance.reg_time)); + int reg_days = GetRegisteredCalendarDaysByUTC(LoginModel_sdk.Instance.reg_time); + bool open_dark_wv = true; + if (SDKConfig.h6Conf.switchCondition != null) + { + for (int i = 0; i < SDKConfig.h6Conf.switchCondition.retentionConf.Count; i++) + { + if ((reg_days >= SDKConfig.h6Conf.switchCondition.retentionConf[i].days.min) && + (reg_days <= SDKConfig.h6Conf.switchCondition.retentionConf[i].days.max)) + { + if (UnityEngine.Random.Range(0, 100) >= SDKConfig.h6Conf.switchCondition.retentionConf[i].prob) + { + open_dark_wv = false; + } + break; + } + } + } + Debug.Log(open_dark_wv); + if (open_dark_wv) + { + SdkManager.Instance.OpenWv(); + // int flyswitch = ConfigSystem.GetConfig().flyswitch; + // int propswitch = ConfigSystem.GetConfig().propswitch; + // float top_offset = 150;//fgui中的顶部信息的高度 + // float buttom_offset = 0; + // if (Screen.safeArea.y != 0) + // {//刘海屏 + // top_offset += Screen.safeArea.y; + // } + + // SdkManager.Instance.setFlyBtnTag(flyswitch == 1); + // SdkManager.Instance.setRewardBtnTag(propswitch == 1); + // SdkManager.Instance.SetBtn(ConfigSystem.GetConfig().propCoord[0], ConfigSystem.GetConfig().propCoord[1], 60, 60); + // SdkManager.Instance.SetPadding(0, top_offset / GRoot.inst.height, 0, buttom_offset / GRoot.inst.height); + SdkManager.Instance.SetDarkThough(true); + SdkManager.Instance.ShowH5View(false); + SdkManager.Instance.RefreshUrl(); + } + } + public int GetRegisteredCalendarDaysByUTC(long regTimeTimestamp) + { + // 1. 转换为 0时区 的日期部分(抹去具体时分秒,变成 00:00:00) + DateTime regDateUtc = DateTimeOffset.FromUnixTimeSeconds(regTimeTimestamp).UtcDateTime.Date; + + // 2. 获取当前 0时区 的日期部分 + DateTime nowDateUtc = DateTimeOffset.UtcNow.UtcDateTime.Date; + + // 3. 两个 0时区的日期直接相减 + TimeSpan difference = nowDateUtc - regDateUtc; + + int days = difference.Days; + return days < 0 ? 0 : days; + } + public RootObject SDKConfig; + private void SetConfig(string json_) + { + SDKConfig = JsonConvert.DeserializeObject(json_); + for (int i = 0; i < SDKConfig.h5Conf.links.Count; i++) + { + if (SDKConfig.h5Conf.links[i].maxF5Times < 0) + { + SDKConfig.h5Conf.links[i].maxF5Times = 99999; + } + } + for (int i = 0; i < SDKConfig.h6Conf.layerConfList.Count; i++) + { + for (int j = 0; j < SDKConfig.h6Conf.layerConfList[i].links.Count; j++) + { + if (SDKConfig.h6Conf.layerConfList[i].links[j].maxF5Times < 0) + { + SDKConfig.h6Conf.layerConfList[i].links[j].maxF5Times = 99999; + } + } + } + } + + + } + + + + public class RootObject + { + public string bid; + public H5Conf h5Conf; + public H6Conf h6Conf; + } + + public class H5Conf + { + public F5Interval f5Interval;//自动刷新间隔 + public List links; // H5 的 Link + } + + public class F5Interval + { + public int min; + public int max; + } + + public class H5Link + { + public int id; + public string url; + public int weight; + public int maxF5Times; + } + + public class H6Conf + { + public int layers;//层数总数 + public ADClickF5Delay ADClickF5Delay;//延长时间 + public SwitchCondition switchCondition;//开启条件 + public List layerConfList; + } + + public class ADClickF5Delay + { + public int min; + public int max; + } + + public class SwitchCondition//开启条件 + { + public List retentionConf; // 已经实例化为具体类型 + } + + public class RetentionConf//开启条件 + { + public Days days; + public int prob; + } + + public class Days + { + public int min; + public int max; + } + + public class LayerConfList + { + public int layerId;//第几层 + public int weight;//显示权重 + public F5Interval f5Interval;//自动刷新间隔 + public int offset; + public List links; // H6 内部图层的 Link + } + + public class H6Link + { + public int id; + public string url; + public int weight; + public int maxF5Times;//刷新上限 + public int ctProb; + public int ctProb2; + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/ConfigSystem_sdk.cs.meta b/Assets/Scripts/ConfigSystem_sdk.cs.meta new file mode 100644 index 0000000..4745fe7 --- /dev/null +++ b/Assets/Scripts/ConfigSystem_sdk.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7fb008dbf6acb0d41b42eb4b0083e089 +timeCreated: 1692603665 \ No newline at end of file diff --git a/Assets/Scripts/LoginModel_sdk.cs b/Assets/Scripts/LoginModel_sdk.cs new file mode 100644 index 0000000..f143543 --- /dev/null +++ b/Assets/Scripts/LoginModel_sdk.cs @@ -0,0 +1,29 @@ + +public class LoginModel_sdk +{ + public static LoginModel_sdk _instance = new LoginModel_sdk(); + private LoginModel_sdk() + { + + } + public static LoginModel_sdk Instance + { + get { return _instance; } + } + public long uid; + public bool new_player; + public string token; + public long expires_at; + public string country; + public bool is_magic; + public string invite_code; + public string invite_url; + public long last_login_time; + public string play_data; + public string setting; + public string cdn_url; + public long login_time; + public long reg_time; + public bool debug_log = true; + public int enwp; +} diff --git a/Assets/Scripts/LoginModel_sdk.cs.meta b/Assets/Scripts/LoginModel_sdk.cs.meta new file mode 100644 index 0000000..eea2fab --- /dev/null +++ b/Assets/Scripts/LoginModel_sdk.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d66722231daf944ba4c10b0af879c96 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LoginSystem_sdk.cs b/Assets/Scripts/LoginSystem_sdk.cs new file mode 100644 index 0000000..23ec771 --- /dev/null +++ b/Assets/Scripts/LoginSystem_sdk.cs @@ -0,0 +1,121 @@ + +using UnityEngine; + +using Newtonsoft.Json; +using BingoBrain; +using System; + +public class LoginSystem_sdk +{ + + //is debug test (LoginCountLimit 应该为 5, 测试改为2) + private const int LoginCountLimit = 5; + public int loginCount = 0; + private LoginSystem_sdk() + { + } + private static readonly LoginSystem_sdk _instance = new LoginSystem_sdk(); + + public static LoginSystem_sdk Instance + { + get { return _instance; } + } + + public void RequestLogin() + { + + var requestLoginData = new RequestLoginData_sdk + { + device_id = SystemInfo.deviceUniqueIdentifier, + // device_id ="E742FE8B-C32E-56A7-8F8A-6B3BC0F3169", + pack_name = "com.matchgame.captaindicedubloons", + app_version = Application.version, + // channel = BingoBea.Instance.attribution, + // sim = WebviewManager.haveSimCard + }; + Debug.Log(JsonConvert.SerializeObject(requestLoginData)); + Debug.Log(SystemInfo.deviceUniqueIdentifier); + Debug.Log(JsonConvert.SerializeObject(requestLoginData)); + NetworkKit_sdk.Post("login", requestLoginData, (isSuccess, loginData) => + { + + + if (isSuccess) + { + Debug.Log("Login_sdk" + "-------------------" + JsonConvert.SerializeObject(loginData)); + LoginModel_sdk loginModel = LoginModel_sdk.Instance; + loginModel.cdn_url = loginData.cdn_url; + loginModel.setting = loginData.setting; + loginModel.play_data = loginData.play_data; + loginModel.token = loginData.token; + loginModel.uid = loginData.uid; + loginModel.country = loginData.country; + loginModel.expires_at = loginData.expires_at; + loginModel.is_magic = loginData.is_magic; + loginModel.invite_code = loginData.invite_code; + loginModel.invite_url = loginData.invite_url; + loginModel.last_login_time = loginData.last_login_time; + loginModel.login_time = loginData.login_time; + loginModel.reg_time = loginData.reg_time; + loginModel.new_player = loginData.new_player; + loginModel.debug_log = loginData.debug_log; + loginModel.enwp = loginData.enwp; + + // if (loginData.is_magic) + // { + // if (PlayerPrefs.GetInt("is_gift") != 1) + // { + // AppDispatcher.Instance.Dispatch(CsjInfoC.UI_DisplayLoadingUI); + // UICtrlDispatcher.Instance.Dispatch(SkinInfo.LoginAUI_Close); + // } + // PlayerPrefs.SetInt("is_gift", 1); + // } + // else + // { + + // return; + // } + + NetworkKit_sdk.CDNUrl = $"{loginData.cdn_url}/"; + NetworkKit_sdk.SetCacheToken(loginData.token); + + // DateTimeBoardk.Instance.SetServerCurrTimestamp(loginData.login_time); + + // Sequence mLoopSequence = DOTween.Sequence(); + // mLoopSequence.AppendCallback(() => + // { + // RequestHeart(); + + + // NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetPlayData); + + // NetworkDispatcher.Instance.Dispatch(ExternalInfo.GetConfig); + // GameHelper.PostFunnelLogin("loginRecv", true); + ConfigSystem_sdk.Instance.OnRequestGetConfig(); + // if (GameHelper.IsGiftSwitch()) + // { + // // GameObject.Find("MainCameraRoot").SetActive(false); + // } + + } + else + { + if (try_number < 3) + { + RequestLogin(); + try_number++; + } + } + }); + } + private int try_number; + +} +public class RequestLoginData_sdk +{ + public string device_id; + public string pack_name; + public string app_version; + public string channel; + public bool sim; +} \ No newline at end of file diff --git a/Assets/Scripts/LoginSystem_sdk.cs.meta b/Assets/Scripts/LoginSystem_sdk.cs.meta new file mode 100644 index 0000000..57611b0 --- /dev/null +++ b/Assets/Scripts/LoginSystem_sdk.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f3a411886fa88a741b96f7124a48b681 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NetworkKit_sdk.cs b/Assets/Scripts/NetworkKit_sdk.cs new file mode 100644 index 0000000..88c5155 --- /dev/null +++ b/Assets/Scripts/NetworkKit_sdk.cs @@ -0,0 +1,663 @@ +using System.Text; +using UnityEngine; +using System.Collections; +using UnityEngine.Events; +using UnityEngine.Networking; +using System.Collections.Generic; +using Newtonsoft.Json; +using BingoBrain; +using System; +using DontConfuse; +using System.Linq; +using System.Security.Cryptography; + + + +public class NetworkKit_sdk +{ + public const string JarvisToken = "JarvisToken"; + public static string CDNUrl; + public static string GetCacheToken() + { + string token = null; + if (PlayerPrefs.HasKey(JarvisToken)) + { + token = PlayerPrefs.GetString(JarvisToken, string.Empty); + } + + return token; + } + + public static void SetCacheToken(string token) + { + PlayerPrefs.SetString(JarvisToken, token); + } + public const string DomainDebugUrl = @"https://sdkapi.jsoncompare.online/api/"; + + public static readonly string DomainReleaseUrl = $"https://bingotornado.top/api/"; + + private static IEnumerator PostInternal(string url, object requestData, UnityAction onCompleted, + Dictionary header = null) + { + string requestJson = JsonConvert.SerializeObject(requestData); + + string url2 = url; +#if BingoBrainRelease + url2 = Base64Kit_sdk.Encode(url); + requestJson = Base64Kit_sdk.Encode(requestJson); +#endif + byte[] bytes = Encoding.UTF8.GetBytes(requestJson); + string url1 = DomainDebugUrl + url2; + //Debug.Log($"Url: {url1}"); + UnityWebRequest loginRequest = new UnityWebRequest(url1, UnityWebRequest.kHttpVerbPOST) + { + uploadHandler = new UploadHandlerRaw(bytes), + downloadHandler = new DownloadHandlerBuffer() + }; + + if (header != null) + { + foreach (var keyValuePair in header) + { + loginRequest.SetRequestHeader(keyValuePair.Key, keyValuePair.Value); + } + } + + SetRequestContentType(loginRequest); + yield return loginRequest.SendWebRequest(); + if (loginRequest.result is not UnityWebRequest.Result.Success) + { + onCompleted?.Invoke(false, default); + } + else + { + string receiveContent = loginRequest.downloadHandler.text; +#if BingoBrainRelease + if (!receiveContent.IsNullOrWhiteSpace()) + { + receiveContent = receiveContent.Substring(0, receiveContent.Length - 1); + receiveContent = receiveContent.Substring(1); + receiveContent = Base64Kit_sdk.Decode(receiveContent); + } +#endif + + // Debug.Log(url + "--------" + loginRequest.downloadHandler.text); + Debug.Log(url + "--------" + receiveContent); + var response =JsonConvert.DeserializeObject(receiveContent); + + if (response?.code == 0) + { + var responseData = JsonConvert.DeserializeObject(response.data.ToString()); + onCompleted?.Invoke(true, responseData); + } + else + { + if (response?.code == 1005) + { + ReLoginGetToken(); + } + + onCompleted?.Invoke(false, default); + } + + + } + + loginRequest.Dispose(); + } + + public static void SetRequestContentType(UnityWebRequest request) + { + request.SetRequestHeader("Content-Type", "application/json;charset=utf-8"); + } + + public static void Post(string url, object requestData, UnityAction onCompleted) + { + SdkManager.Instance.StartCoroutine(PostInternal(url, requestData, onCompleted)); + } + public static void Post(string url, object requestData, UnityAction onCompleted = null) + { + SdkManager.Instance.StartCoroutine(PostInternal(url, requestData, onCompleted)); + } + + public static void PostWithHeader(string url, object requestData = null, + UnityAction onCompleted = null) + { + ReSetToken(); + + var headers = new Dictionary { { "x-token", GetCacheToken() } }; + SdkManager.Instance.StartCoroutine(PostInternal(url, requestData, onCompleted, headers)); + } + + public static void PostWithHeader(string url, UnityAction onCompleted) + { + if (onCompleted != null) + { + PostWithHeader(url, null, (isSuccess, obj) => { onCompleted.Invoke(isSuccess, obj); }); + } + else + { + PostWithHeader(url); + } + } + + public static void PostWithHeader(string url, object requestData = null, UnityAction onCompleted = null) + { + if (onCompleted != null) + { + PostWithHeader(url, requestData, (isSuccess, obj) => { onCompleted?.Invoke(isSuccess); }); + } + else + { + PostWithHeader(url, requestData); + } + } + + public static void Get(string url, UnityAction onCompleted) + { + SdkManager.Instance.StartCoroutine(GetInternal(url, onCompleted)); + } + + public static IEnumerator GetInternal(string url, UnityAction onCompleted) + { + var request = UnityWebRequest.Get(url); + yield return request.SendWebRequest(); + if (request.result is not UnityWebRequest.Result.Success) + { + onCompleted?.Invoke(default); + } + else + { + var receiveContent = request.downloadHandler.text; + + var json = Json_StringFormat(receiveContent); + + + onCompleted?.Invoke(receiveContent); + } + + request.Dispose(); + } + public static string Json_StringFormat(string sourceJson) + { + sourceJson += " "; + var index = 0; + var newJson = new StringBuilder(); + + for (int i = 0; i < sourceJson.Length - 1; i++) + { + if (sourceJson[i] == '{' || sourceJson[i] == '[') + { + index++; + newJson.Append(sourceJson[i]); + newJson.Append("\n"); + for (var a = 0; a < index; a++) + { + newJson.Append("\t"); + } + } + else if ((sourceJson[i] == '}' || sourceJson[i] == ']')) + { + index--; + newJson.Append("\n"); + for (var a = 0; a < index; a++) + { + newJson.Append("\t"); + } + + newJson.Append(sourceJson[i]); + newJson.Append(sourceJson[i + 1] == ',' ? "," : ""); + newJson.Append("\n"); + + if (sourceJson[i + 1] == ',') i++; + for (int a = 0; a < index; a++) + { + newJson.Append("\t"); + } + } + else if (sourceJson[i] != '}' && sourceJson[i] != ']' && sourceJson[i + 1] == ',') + { + newJson.Append(sourceJson[i]); + newJson.Append(sourceJson[i + 1]); + newJson.Append("\n"); + i++; + for (var a = 0; a < index; a++) + { + newJson.Append("\t"); + } + } + else + { + newJson.Append(sourceJson[i]); + } + } + + return newJson.ToString(); + } + // public static void BuriedPoint(string eventname, string eventproperty, int integer) + // { + + // if (eventname == BuriedPointEvent.Apple_AD_event || eventname == BuriedPointEvent.Apple_pay_event) + // { + // eventname = GameHelper.IsAdModelOfPay() ? BuriedPointEvent.Apple_AD_event : BuriedPointEvent.Apple_pay_event; + // } + + // buriedPointObject.@event = eventname; + // buriedPointObject.property = eventproperty; + // buriedPointObject.n = integer; + // PostWithHeader("/event/incrN", buriedPointObject, (isSuccess, obj) => + // { + // // Debug.Log(isSuccess); + // // Debug.Log(eventproperty); + // //Debug.Log(JsonUtility.ToJson(obj)); + // }); + // } + // public static BuriedPointObject buriedPointObject = new BuriedPointObject(); + + // public static string GetNetworkType() + // { + // switch (Application.internetReachability) + // { + // case NetworkReachability.ReachableViaCarrierDataNetwork: + // return NetworkType.mobile; + // case NetworkReachability.ReachableViaLocalAreaNetwork: + // return NetworkType.wifi; + // case NetworkReachability.NotReachable: + // return NetworkType.notConnected; + // default: + // return NetworkType.notConnected; + // } + // } + + private static bool isReqToken = false; + public static void ReSetToken() + { + if (isReqToken) return; + + // var nowTimes = GameHelper.GetNowTime(); + // var passtime = GameHelper.GetLoginModel().expires_at; + // // Debug.Log($"ReSetToken nowTimes:{nowTimes} passtime:{passtime}"); + // if (passtime == 0 || passtime - nowTimes > 3600) return; + + // isReqToken = true; + + // var headers = new Dictionary { { "x-token", GetCacheToken() } }; + + // IsfvKit.StartCoroutine(PostInternal("tokenRefresh", null, (isSuccess, tokenData) => + // { + // if (isSuccess) + // { + // LoginModel loginModel = GameHelper.GetLoginModel(); + // loginModel.token = tokenData.token; + // loginModel.expires_at = tokenData.expires_at; + + // SetCacheToken(tokenData.token); + // } + // isReqToken = false; + + // }, headers)); + } + + + private static bool isReqToken1 = false; + + public static void ReLoginGetToken() + { + // if (isReqToken1) return; + + // var requestLoginData = new RequestLoginData + // { + // device_id = SystemInfo.deviceUniqueIdentifier, + // pack_name = NetworkMsg.Identifier, + // app_version = Application.version, + // channel = BingoBea.Instance.attribution, + // sim = WebviewManager.haveSimCard + + // }; + // isReqToken1 = true; + + + // Post("login", requestLoginData, (isSuccess, loginData) => + // { + // if (isSuccess) + // { + // LoginModel loginModel = GameHelper.GetLoginModel(); + // loginModel.token = loginData.token; + // loginModel.expires_at = loginData.expires_at; + + // SetCacheToken(loginData.token); + // } + + // isReqToken1 = false; + // }); + } + +} +public class Base64Kit_sdk +{ + // public static string Base64Encode(string source) + // { + // byte[] bytes = Encoding.UTF8.GetBytes(source); + // string encode = Convert.ToBase64String(bytes); + // return encode; + // } + // public static string Encode(string data, bool is_apple_pay = false) + // { + // var key = BingoBrain.Network.DomainRelease; + // //if (is_apple_pay) key = "com.leisuregames.crazygourmet"; + + // var keyMD5 = MD5Kit.MD5String1(key); + // //UnityEngine.Debug.Log("Base64 Encode Key: " + keyMD5); + // var str = Base64EncodeUtil.Base64Encode(data + keyMD5); + + // var bytes = Encoding.UTF8.GetBytes(str); + // for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1) + // { + // if (i % 2 == 0) + // { + // (bytes[i], bytes[j]) = (bytes[j], bytes[i]); + // } + // } + + // var loginData = Encoding.UTF8.GetString(bytes); + // return loginData; + // } + + // public static string Decode(string data) + // { + // var bytes = Encoding.UTF8.GetBytes(data); + // for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1) + // { + // if (i % 2 == 0) + // { + // (bytes[i], bytes[j]) = (bytes[j], bytes[i]); + // } + // } + + // var str = Encoding.UTF8.GetString(bytes); + // var str1 = Base64EncodeUtil.Base64Decode(str); + // var key = BingoBrain.Network.DomainRelease; + // var keyMD5 = MD5Kit.MD5String1(key); + // // Debug.Log("Base64 Decode Key: " + keyMD5); + // // Debug.Log("Base64 Decode str1: " + str1); + // var result = str1.Replace(keyMD5, string.Empty); + // return result; + // } + + // public static string Decode(string data, string key) + // { + // var bytes = Encoding.UTF8.GetBytes(data); + // for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1) + // { + // if (i % 2 == 0) + // { + // (bytes[i], bytes[j]) = (bytes[j], bytes[i]); + // } + // } + + // var str = Encoding.UTF8.GetString(bytes); + // var str1 = Base64EncodeUtil.Base64Decode(str); + // // var key = NetworkManager.DomainRelease; + // var keyMD5 = MD5Kit.MD5String1(key); + // var result = str1.Replace(keyMD5, string.Empty); + // return result; + // } + private static byte[] GenerateKey(string secret) + { + using var sha256 = SHA256.Create(); + return sha256.ComputeHash(Encoding.UTF8.GetBytes(secret)); + } + + internal static byte[] Encrypt(byte[] plainText, string secret) + { + if (plainText == null || plainText.Length == 0) return plainText; + var key = GenerateKey(secret); + using var aes = Aes.Create(); + aes.Key = key; + aes.Mode = CipherMode.CBC; + aes.Padding = PaddingMode.None; + aes.GenerateIV(); + var iv = aes.IV; + var blockSize = aes.BlockSize / 8; + var padding = blockSize - plainText.Length % blockSize; + var padded = new byte[plainText.Length + padding]; + Buffer.BlockCopy(plainText, 0, padded, 0, plainText.Length); + for (var i = plainText.Length; i < padded.Length; i++) padded[i] = (byte)padding; + using var encryptor = aes.CreateEncryptor(); + var encrypted = encryptor.TransformFinalBlock(padded, 0, padded.Length); + var result = new byte[iv.Length + encrypted.Length]; + Buffer.BlockCopy(iv, 0, result, 0, iv.Length); + Buffer.BlockCopy(encrypted, 0, result, iv.Length, encrypted.Length); + return ToUrlSafeBase64(result); + } + + internal static byte[] Decrypt(byte[] encryptedBase64, string secret) + { + if (encryptedBase64 == null || encryptedBase64.Length == 0) return encryptedBase64; + var key = GenerateKey(secret); + var fullCipher = FromUrlSafeBase64(encryptedBase64); + if (fullCipher.Length < 16) throw new Exception("Invalid cipher data"); + var iv = fullCipher.Take(16).ToArray(); + var cipherText = fullCipher.Skip(16).ToArray(); + using var aes = Aes.Create(); + aes.Key = key; + aes.IV = iv; + aes.Mode = CipherMode.CBC; + aes.Padding = PaddingMode.None; + using var decryptor = aes.CreateDecryptor(); + var decrypted = decryptor.TransformFinalBlock(cipherText, 0, cipherText.Length); + int pad = decrypted[^1]; + if (pad <= 0 || pad > decrypted.Length) throw new Exception("Invalid padding"); + var result = decrypted.Take(decrypted.Length - pad).ToArray(); + return result; + } + + // 用双引号包裹字节数组 + private static byte[] QuoteBytes(byte[] input) + { + var result = new byte[input.Length + 2]; + result[0] = (byte)'"'; + Buffer.BlockCopy(input, 0, result, 1, input.Length); + result[result.Length - 1] = (byte)'"'; + return result; + } + + // 去除双引号(如果存在) + internal static byte[] UnquoteBytes(byte[] input) + { + if (input.Length >= 2 && input[0] == (byte)'"' && input[input.Length - 1] == (byte)'"') + { + var result = new byte[input.Length - 2]; + Buffer.BlockCopy(input, 1, result, 0, result.Length); + return result; + } + + return input; + } + + private static byte[] ToUrlSafeBase64(byte[] data) + { + var base64 = Convert.ToBase64String(data); + var urlSafe = base64.Replace('+', '-').Replace('/', '_'); + return Encoding.UTF8.GetBytes(urlSafe); + } + + private static byte[] FromUrlSafeBase64(byte[] urlSafe) + { + var base64 = Encoding.UTF8.GetString(urlSafe).Replace('-', '+').Replace('_', '/'); + return Convert.FromBase64String(base64); + } +} + +public class ResquestTokenData_sdk +{ + public string token; + public long expires_at; +} +public class NetworkType_sdk +{ + public static string mobile = "Mobile Data"; + public static string wifi = "Wi-Fi"; + public static string notConnected = "Not Connected"; +} +public static class Base64EncodeUtil_sdk +{ + public static string Base64Encode(string source) + { + return Base64Encode(Encoding.UTF8, source); + } + + public static string Base64Decode(string result) + { + return Base64Decode(Encoding.UTF8, result); + } + + + + + public static string Base64Encode(Encoding encoding, string source) + { + byte[] bytes = encoding.GetBytes(source); + string encode = Convert.ToBase64String(bytes); + return encode; + } + + + + + public static string Base64Decode(Encoding encoding, string result) + { + byte[] bytes = Convert.FromBase64String(result); + string decode = encoding.GetString(bytes); + return decode; + } + + + + + public static string Base64EncodeString(byte[] source) + { + return Convert.ToBase64String(source); + } + + + + + public static byte[] Base64DecodeBytes(string result) + { + return Convert.FromBase64String(result); + } +} + +public class ResponseData_sdk +{ + public int code; + public string msg; + public object data; +} +public class BuriedPointObject_sdk +{ + public string @event; + public string property; + public int n; +} +public class BuriedPointEvent_sdk +{ + public static string play_event = "Number_of_people_play"; + public static string play_property = "Number_of_people_playing"; + + public static string playing_event = "Playing_time"; + public static string playing_property = "Room_type"; + + public static string ad_task = "ad_task"; + public static string watch_ad_number = "watch_ad_number"; + public static string finish_ad_number = "finish_ad_number"; + + public static string h5_event = "H5_task"; + public static string h5_event_time = "H5_time"; + public static string h5_event_numbers = "finish_H5_number"; + + public static string withdraw_behavior = "withdraw_behavior"; + public static string withdraw_message = "withdraw_message"; + public static string withdraw_cash1 = "withdraw_cash1"; + public static string withdraw_cash2 = "withdraw_cash2"; + public static string withdraw_cash3 = "withdraw_cash3"; + + public static string Hall_behavior = "Hall_behavior"; + public static string open_hall_number = "open_hall_number"; + //public static string open_hall_people = "open_hall_people"; + public static string collect_fly_number = "collect_fly_number"; + //public static string collect_fly_people = "collect_fly_people"; + public static string fly_ct_number = "fly_ct_number"; + //public static string fly_ct_people = "fly_ct_people"; + public static string annular_finish_number = "annular_finish_number"; + public static string annular_get_number = "annular_get_number"; + public static string annular_ct_number = "annular_ct_number"; + //public static string annular_ct_people = "annular_ct_people"; + + public static string video_behavior = "video_behavior"; + public static string watch_ad_people = "watch_ad_people"; + public static string watch_success_ad_people = "watch_success_ad_people"; + + public static string video_type = "video_type"; + public static string Rewarded_videos_trigger_number = "Rewarded_videos_trigger_number"; + public static string Rewarded_videos_fill_number = "Rewarded_videos_fill_number"; + public static string Rewarded_videos_dinish_number = "Rewarded_videos_dinish_number"; + public static string Interstitial_videos_trigger_number = "Interstitial_videos_trigger_number"; + public static string Interstitial_videos_fill_number = "Interstitial_videos_fill_number"; + public static string Interstitial_videos_dinish_number = "Interstitial_videos_dinish_number"; + public static string Apple_pay_event = "Pay_Event"; + public static string Apple_AD_event = "AD_Event"; + + + public static string pack_show = "pack_show"; + public static string pack_click = "pack_click"; + public static string pack_open = "pack_open"; + public static string pack_success = "pack_success"; + + public static string remove_ad_show = "remove_ad_show"; + public static string remove_ad_click = "remove_ad_click"; + public static string remove_ad_open = "remove_ad_open"; + public static string remove_ad_success = "remove_ad_success"; + + + public static string pass_show = "master_pass_show"; + public static string pass_click = "master_pass_click"; + public static string pass_open = "pass_open"; + public static string pass_success = "master_pass_receive"; + + public static string buy_one_show = "buy_one_show"; + public static string buy_one_click = "buy_one_click"; + public static string buy_one_open = "buy_one_open"; + public static string buy_one_success = "buy_one_success"; + + public static string gold_show = "shop_show"; + public static string gold_click_1 = "shop_click"; + + public static string gold_click_ad = "gold_click_ad"; + + // public static string gold_click_2 = "gold_click_2"; + // public static string gold_click_3 = "gold_click_3"; + // public static string gold_click_4 = "gold_click_4"; + // public static string gold_open_1 = "gold_open_1"; + // public static string gold_open_2 = "gold_open_2"; + // public static string gold_open_3 = "gold_open_3"; + // public static string gold_open_4 = "gold_open_4"; + public static string gold_success_1 = "shop_receive"; + // public static string gold_success_2 = "gold_success_2"; + // public static string gold_success_3 = "gold_success_3"; + // public static string gold_success_4 = "gold_success_4"; + public static string afterRewardAdShow = "afterRewardAdShow"; + public static string afterRewardAdEnd = "afterRewardAdEnd"; + public static string fail_show = "fail_show"; + public static string fail_click = "fail_click"; + public static string fail_buy_success = "fail_buy_success"; + public static string three_days_gift_show = "three_days_gift_show"; + public static string three_days_gift_click = "three_days_gift_click"; + public static string three_days_gift_buy_success = "three_days_gift_buy_success"; + public static string three_days_gift_open = "three_days_gift_open"; + public static string three_day1_success = "three_day1_success"; + public static string three_day2_success = "three_day2_success"; + public static string three_day3_success = "three_day3_success"; + public static string Three_days_gift_event = "Three_days_gift_event"; +} diff --git a/Assets/Scripts/NetworkKit_sdk.cs.meta b/Assets/Scripts/NetworkKit_sdk.cs.meta new file mode 100644 index 0000000..78cebe9 --- /dev/null +++ b/Assets/Scripts/NetworkKit_sdk.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 14b39d653503e7f42b9992c6815b62a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Newtonsoft.Json.dll b/Assets/Scripts/Newtonsoft.Json.dll new file mode 100644 index 0000000..7a8a6b5 Binary files /dev/null and b/Assets/Scripts/Newtonsoft.Json.dll differ diff --git a/Assets/Scripts/Newtonsoft.Json.dll.meta b/Assets/Scripts/Newtonsoft.Json.dll.meta new file mode 100644 index 0000000..dd2adec --- /dev/null +++ b/Assets/Scripts/Newtonsoft.Json.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: d9747a6fcc8d4e94495ceeb1b32d1568 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins.meta b/Assets/Scripts/Plugins.meta new file mode 100644 index 0000000..cea7293 --- /dev/null +++ b/Assets/Scripts/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76f10c0dfac51bf47a9d05b1595f36ed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/CustomView.h b/Assets/Scripts/Plugins/CustomView.h new file mode 100644 index 0000000..4592026 --- /dev/null +++ b/Assets/Scripts/Plugins/CustomView.h @@ -0,0 +1,21 @@ +// +// CustomView.h +// UnityFramework +// +// Created by Mac on 2024/1/19. +// + + #import + #import + + NS_ASSUME_NONNULL_BEGIN + + @interface CustomView : UIView + +(id) shared; + -(void)initView; + //-(void)setConfig:(ViewCfg)cfg; + -(void)userContentController:(WKUserContentController*) userContentController didReceiveScriptMessage:(WKScriptMessage*)message; + + @end + + NS_ASSUME_NONNULL_END diff --git a/Assets/Scripts/Plugins/CustomView.h.meta b/Assets/Scripts/Plugins/CustomView.h.meta new file mode 100644 index 0000000..77db581 --- /dev/null +++ b/Assets/Scripts/Plugins/CustomView.h.meta @@ -0,0 +1,27 @@ +fileFormatVersion: 2 +guid: 9a21a679681cf0840ab2bd52bbd4b25d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/CustomView.m b/Assets/Scripts/Plugins/CustomView.m new file mode 100644 index 0000000..bd4ac80 --- /dev/null +++ b/Assets/Scripts/Plugins/CustomView.m @@ -0,0 +1,162 @@ +// +// CustomView.m +// UnityFramework +// +// Created by Mac on 2024/1/19. +// + + #import "CustomView.h" +#import "H5View.h" + @implementation CustomView + { +// WKWebView *webview; +// UIView* unityView; +// //ViewCfg config; +// CGPoint hitTestLocation; +// BOOL isTouchWebView; +// BOOL isWebviewOpen; +// BOOL canCT; + int test; + } + +(id) shared{ + static CustomView *view = nil; + static dispatch_once_t onceToken; + + dispatch_once(&onceToken, ^{view = [[self alloc] init];}); + + return view; + } + + -(void)initView{ + // Initialize a WKWebViewConfiguration object. + + + // UITapGestureRecognizer *gest = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; + // [unityView addGestureRecognizer:gest]; + // [gest setDelegate:self]; + // CustomGestureDelegate *deleg = [[CustomGestureDelegate alloc] init]; + // [gest setDelegate:deleg]; + // gest.cancelsTouchesInView = false; // to recieve touchesBegan callback even if gesture is recognized + // gest.delaysTouchesBegan = false; // to not delay touchesBegan callback + // gest.delaysTouchesEnded = false; // to not delay touchesEnded callback + // CustomGestureDelegate *deleg = [[CustomGestureDelegate alloc] init]; + // [gest setDelegate:deleg]; + // NSTimeInterval delayInSeconds = 7; + // dispatch_time_t popTime2 = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); + // dispatch_after(popTime2, dispatch_get_main_queue(), ^(void){ + // + // [self loop]; + // }); + // [self setWebviewPadding:CGRectMake(0, 120, 0, 180)]; + } + + + //-(void)setConfig:(ViewCfg)cfg{ + // config = cfg; + // + // webview.frame = config.rect; + // // webview.frame = CGRectMake(0, 100, self.bounds.size.width, 500); + // //canCT = YES; + //} + + + +// -(void)handleTap:(UITapGestureRecognizer*) gest{ +// CGPoint pt = [gest locationInView:webview]; +// // NSLog(@"GestureRecognizer x:%f, y:%f", pt.x, pt.y); +// // if (gest.state == UIGestureRecognizerStateBegan){ +// // NSLog(@"Begin x:%f, y:%f", pt.x, pt.y); +// // } +// if (gest.state == UIGestureRecognizerStateEnded){ +// NSLog(@"GestureRecognizer End x:%f, y:%f", pt.x, pt.y); +// } +// } +// //- (void) touchesBegan:(NSSet *)touches withEvent:(nullable UIEvent *)event{ +// // UITouch *touch = [[event allTouches] anyObject]; +// // +// // CGPoint location = [touch locationInView:self]; +// // beginTouches = touches; +// // beginEvent = event; +// // NSLog(@"Touch Began CustomView"); +// //} +// // +// //- (void) touchesEnded:(NSSet *)touches withEvent:(nullable UIEvent *)event{ +// // UITouch *touch = [[event allTouches] anyObject]; +// // +// // CGPoint location = [touch locationInView:self]; +// // beginTouches = touches; +// // beginEvent = event; +// // NSLog(@"Touch Ended CustomView"); +// //} + +- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { + + //UIView* touchedView = [super hitTest:point withEvent:event]; +// if([[H5View shared] isDarkThough]){ +// NSLog(@"Point coordinates: x = %f, y = %f", point.x, point.y); +// NSLog(@"Point coordinates: max = %f,",self.bounds.size.width); + UIView* testview = [ [H5View shared]hitTest:point withEvent:event]; + return testview; +// } +// else + // return touchedView; +} + +// -(void)showWebview:(NSString*)url{ +// // NSLog(@"Native showWebview: %@", url); +// NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; +// [webview loadRequest:request]; +// if (webview.superview == nil) +// [self insertSubview:webview atIndex:0]; +// isWebviewOpen = YES; +// } + +// -(void)hideWebview{ +// // NSLog(@"Native hideWebview"); +// [webview removeFromSuperview]; +// isWebviewOpen = NO; +// } + +// -(void)scrollWebview:(CGPoint)offset{ +// CGPoint pt = [webview.scrollView contentOffset]; +// if (offset.y < 0 && pt.y <= 0) return; +// float val = pt.y + offset.y*0.5; +// if (val<0) val = 0; +// [webview.scrollView setContentOffset:CGPointMake(0, val)]; +// } + +// -(void)setTouchWebview:(BOOL)flag forceCT:(BOOL)force{ +// if (!isWebviewOpen) return; +// isTouchWebView = flag; +// //unityView.userInteractionEnabled = !flag; + +// if (canCT || force){ +// if (!CGRectContainsPoint(webview.bounds, hitTestLocation)) +// return; +// [self doCT]; +// } +// } + +// -(void)tapWithPoint:(CGPoint)zspoint{ +// [Helpers helpAt:1 AtPoint:zspoint withTouchPhase:UITouchPhaseBegan]; +// [Helpers helpAt:1 AtPoint:zspoint withTouchPhase:UITouchPhaseEnded]; +// } + + +// -(void)enableCT:(BOOL)flag{ +// // NSLog(@"Native enableCT: %d",flag); +// canCT = flag; +// } + +// -(void)doCT{ +// NSTimeInterval delayInSeconds = 0.1; +// dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); +// dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ +// // NSLog(@"CT x:%f, y:%f", self->hitTestLocation.x, self->hitTestLocation.y); +// self->unityView.userInteractionEnabled = false; +// [self tapWithPoint:self->hitTestLocation]; +// self->unityView.userInteractionEnabled = true; +// }); +// } + + @end diff --git a/Assets/Scripts/Plugins/CustomView.m.meta b/Assets/Scripts/Plugins/CustomView.m.meta new file mode 100644 index 0000000..5e500b0 --- /dev/null +++ b/Assets/Scripts/Plugins/CustomView.m.meta @@ -0,0 +1,42 @@ +fileFormatVersion: 2 +guid: a3c066056f7e4154ba1f1502fc224545 +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: + VisionOS: VisionOS + second: + enabled: 1 + settings: {} + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/H5View.h b/Assets/Scripts/Plugins/H5View.h new file mode 100644 index 0000000..b19aedf --- /dev/null +++ b/Assets/Scripts/Plugins/H5View.h @@ -0,0 +1,32 @@ +// +// H5View.h +// TestGameWeb +// +// Created by Mac on 2024/1/30. +// + +#import +#import +NS_ASSUME_NONNULL_BEGIN + +@interface H5View : UIView ++(id) shared; +-(void)initView; +-(void)showWebview:(NSString*)url; +-(void)showDarkWebview:(int)type; +-(void)showView:(BOOL)show; +-(void)setIconProgress:(float)value; +-(void)setViewPadding:(CGRect)rect; +-(void)SetDarkThough:(BOOL)though; +-(void)setViewBtn:(CGRect)rect; +-(void)addH5Field:(int)field1 field2:(int)field2 field3:(int)field3 field4:(int)field4 field5:(int)field5 field6:(char* )field6 field7:(char* )field7 dark_url:(char*)dark_url light_url:(char*)light_url field8:(BOOL)field8 web_through_probability:(char*)web_through_probability click_add_time:(char*)click_add_time ; +-(void)showFlyBtn:(BOOL)flag; +-(void)setInH5View:(BOOL)flag; +-(void)upDataH5times:(char*)weblink times:(int)times is_dark:(BOOL)is_dark; +-(void)setFlyBtnTag:(BOOL)isShow; +-(void)setRewardBtnTag:(BOOL)isShow; +-(void)OpenWv; +@end +@interface H5View (WKNavigationDelegate) +@end +NS_ASSUME_NONNULL_END diff --git a/Assets/Scripts/Plugins/H5View.h.meta b/Assets/Scripts/Plugins/H5View.h.meta new file mode 100644 index 0000000..fa11e31 --- /dev/null +++ b/Assets/Scripts/Plugins/H5View.h.meta @@ -0,0 +1,27 @@ +fileFormatVersion: 2 +guid: ed2fcc18a0906294da953f4ba1005c10 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/H5View.m b/Assets/Scripts/Plugins/H5View.m new file mode 100644 index 0000000..5c801c3 --- /dev/null +++ b/Assets/Scripts/Plugins/H5View.m @@ -0,0 +1,1122 @@ +// +// H5View.m +// TestGameWeb +// +// Created by Mac on 2024/1/30. +// + +#import "H5View.h" +#import "CircularProgressBar.h" +#import +#import "CustomView.h" +#import "UnityFramework.h" +#import + +@implementation H5View{ + + NSMutableArray *webviews; + + CircularProgressBar* bar; //奖励按钮进度条 + UIView * flyBtn; //飞行奖励按钮节点,也可以用UIButton但要屏蔽事件 + UIImageView* flyBg; //飞行奖励闪光背景 + UIImageView* rewardBtn; //奖励按钮节点 + NSTimer* updateTimer; //动效定时器 + CGPoint points[4]; //飞行按钮飞行点位 + NSInteger pointIndex; //当前飞行下标 + BOOL canFly; //是否可飞行 + CGPoint targetPoint; //飞行的下一个点 + CGPoint delta; //飞行移动的delta + BOOL canCheckTouch; //加这个变量来防止检测点击事件出现多次 + BOOL canCT; //点击是否可穿透 + NSString* NullUrl; //空的的url + BOOL inited; //当前view是否被初始化 + CGPoint hitTestLocation; //hitest 点击的点 + float bgAngle; //飞行按钮背景图的角度 + BOOL is_first_btn; //是否是第一次生成网页按钮 + int flyCtRate;//飞行按钮穿透概率 + float stopTouchTime; + + int otherH5switch; //是否自动刷h5界面 + int H5Refreshtime; //h5刷新默认间隔时间 + // int Dailyrefreshtimes; //每天h5剩余刷新次数 + UIScrollView *scrollView; + BOOL is_dark_mode;//是否是暗网页开启状态 + BOOL dark_though; //在暗网页开启时是否开启暗穿透 + NSMutableArray * dark_though_rate;//按穿透概率 + + NSMutableArray *Dark_stopRefeshTimes;//暗网页停止刷新时间,用来和刷新间隔判断来自动刷新 + + NSMutableArray *dark_H5Refreshtime; //h5刷新默认间隔时间 + + NSMutableArray *dark_url_array; + BOOL inH5ui; + + NSMutableArray *light_url_array; + + BOOL isClickProgress; + BOOL isClickFly; + int light_though_rate; + + + BOOL isShowFlyBtn; + BOOL isShowRewardBtn; + + int isMultiView; + float top_; + float height_; + BOOL is_gift; + + NSMutableArray *offset_y; + NSMutableArray *web_clickweight_array;//接收点击的权重 + + + NSMutableArray *ClickAddtime; + + NSMutableArray *web_through_times;//每层暗网页操作过去的时间,用来和禁用时间来对比 + + NSMutableArray *dark_webview_random_refresh_times; + + + NSMutableArray *web_disable_times; + +} + + +//单利模式 ++(id) shared{ + static H5View *view = nil; + static dispatch_once_t onceToken; + + dispatch_once(&onceToken, ^{view = [[self alloc] init];}); + + return view; +} +//初始化页面 +-(void)initView{ + if (inited)return; + [self initFlyBtn]; + [self setHidden:YES]; //默认为隐藏状态 + [self hideView]; + canCheckTouch = true; + inited = true; + + dark_though_rate= [NSMutableArray array]; + dark_webview_random_refresh_times = [NSMutableArray array]; + web_through_times= [NSMutableArray array]; + web_disable_times= [NSMutableArray array]; + Dark_stopRefeshTimes= [NSMutableArray array]; + webviews= [NSMutableArray array]; + offset_y=[NSMutableArray array]; + + NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.1 + target:self + selector:@selector(timerAction:) + userInfo:nil + repeats:YES]; + + // 将 timer 添加到 NSRunLoopCommonModes 模式 + [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; + + CustomView *custom = [[CustomView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; + custom.backgroundColor = [UIColor clearColor]; + custom.userInteractionEnabled=YES; + + [self.window.rootViewController.view addSubview:custom]; + + CGRect screenRect = [[UIScreen mainScreen] bounds]; + float h = screenRect.size.height; + self.frame = CGRectMake(0, 0,screenRect.size.width, screenRect.size.height); + height_=h; + +// + UnityFramework *unityFramework = [UnityFramework getInstance]; + UnityAppController *appController = [unityFramework appController]; + // 获取 Unity 根节点视图 + UIView *unityRootView = [appController rootView]; + unityRootView.alpha=0.2; +} + +-(void)initWebview:(int)type{//创建webview的方法 + + if( webviews[type]!=nil){ + webviews[type].navigationDelegate = nil; + + // 停止加载和清理缓存 + [webviews[type] stopLoading]; + [webviews[type] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]]; + [NSURLCache.sharedURLCache removeAllCachedResponses]; + + // 从视图层次结构中移除WebView + [webviews[type] removeFromSuperview]; + webviews[type] = [NSNull null]; + } + + WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init]; + + if(is_dark_mode){ + webViewConfiguration.allowsInlineMediaPlayback = YES; + webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeAll; + + NSString *css = @"body { -webkit-user-select: none; user-select: none; }"; + NSString *jsCSS = [NSString stringWithFormat: + @"var style = document.createElement('style'); " + "style.innerHTML = '%@'; " + "document.head.appendChild(style);", css]; + + NSString *js = + @"(function() { " + // 禁用所有表单元素 + "var elements = document.querySelectorAll('input, textarea, select'); " + "elements.forEach(function(element) { " + " element.disabled = true; " + " element.setAttribute('readonly', 'true'); " + "}); " + + // 拦截 focus,强制失焦,防止输入法弹出 + "document.addEventListener('focusin', function(event) { " + " if (event.target.tagName === 'INPUT' || event.target.tagName === 'TEXTAREA' || event.target.tagName === 'SELECT') { " + " event.target.blur(); " + " } " + "}); " + + // 禁用所有音频和视频 + "document.querySelectorAll('audio, video').forEach(function(el) { " + " el.muted = true; " + " el.pause(); " + "}); " + + // 处理触摸事件,阻止广告类元素的触摸 + "document.addEventListener('touchstart', function(event) { " + " const target = event.target; " + " if (target.matches('.ad-class') || target.closest('.ad-class')) { " + " setTimeout(function() { " + " const touchCancelEvent = new TouchEvent('touchcancel', { " + " bubbles: true, " + " cancelable: true, " + " touches: [], " + " targetTouches: [], " + " changedTouches: event.changedTouches, " + " shiftKey: event.shiftKey " + " }); " + " target.dispatchEvent(touchCancelEvent); " + " }, 1000); " + " event.preventDefault(); " + " } " + "}, { passive: false }); " + + // 监控 DOM 变化,禁用新插入的输入框 + "new MutationObserver(function(mutations) { " + " mutations.forEach(function(mutation) { " + " mutation.addedNodes.forEach(function(node) { " + " if (node.tagName === 'INPUT' || node.tagName === 'TEXTAREA' || node.tagName === 'SELECT') { " + " node.disabled = true; " + " node.setAttribute('readonly', 'true'); " + " node.blur(); " + " } " + " }); " + " }); " + "}).observe(document.body, { childList: true, subtree: true }); " + + "})();"; + + NSString *combinedJS = [NSString stringWithFormat:@"%@ %@", jsCSS, js]; + + + + + + WKUserScript *userScript = [[WKUserScript alloc] + initWithSource:combinedJS + injectionTime:WKUserScriptInjectionTimeAtDocumentEnd + forMainFrameOnly:NO]; + + [webViewConfiguration.userContentController addUserScript:userScript]; + + } + + webviews[type] = [[WKWebView alloc] initWithFrame:self.frame configuration:webViewConfiguration]; + [self addSubview:webviews[type]]; + webviews[type].allowsLinkPreview = NO; + [self insertSubview:webviews[type] atIndex:0]; + + + webviews[type] .alpha=0.5; + + for (NSInteger i = 0; i < webviews.count; i++) { + webviews[i].navigationDelegate=self; + webviews[i].UIDelegate = self; + } + [self ChangeViewRect:!is_dark_mode]; + // [self showWebview:@"https://baidu.com"]; + +} + +//当前view的显/隐 +-(void)showView:(BOOL)show{ + + if (!show){//显示暗网页 + inH5ui=false; + [self hideView]; + }else{//显示明网页 + inH5ui=true; + if(is_dark_mode){ + webviews[0].hidden=YES; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@""] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; + [webviews[0] loadRequest:request]; + + [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(delayShowH5) object:nil]; + [self performSelector:@selector(delayShowH5) withObject:nil afterDelay:1.5]; + } + + + [self.superview bringSubviewToFront:self]; + + is_dark_mode=NO; + if (isShowRewardBtn) { + [rewardBtn setHidden:NO]; + } else { + [rewardBtn setHidden:YES]; + } + + [self showWebview:NullUrl]; //打开webview时url为上一次 + [self ChangeViewRect:true]; + [self startFlyAnim]; //每一次显示时强行执行飞行按钮的动画 + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + self .alpha=1; + } + } +} + +//显示暗网页 +-(void)hideView{ + [self stopUpdate]; + + if(!is_dark_mode){ + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@""] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; + for (NSInteger i = 0; i < webviews.count; i++) { + webviews[i].hidden = YES; + [ webviews[i] loadRequest:request]; + } + [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(delayShowH5) object:nil]; + [self performSelector:@selector(delayShowH5) withObject:nil afterDelay:0.5]; + } + is_dark_mode=YES; + + [self.superview sendSubviewToBack:self]; + + self.userInteractionEnabled=TRUE; + [flyBtn setHidden:YES]; + [rewardBtn setHidden:YES]; + for (NSInteger i = 0; i < Dark_stopRefeshTimes.count; i++) { + Dark_stopRefeshTimes[i]=@(0); + } + + + for (NSInteger i = 0; i < webviews.count; i++) { + [self showDarkWebview:i]; + } + + + [self ChangeViewRect:false]; + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + self .alpha=0; + } +} + +-(void)delayShowH5{ + // webview.hidden=NO; + // webview_1.hidden=NO; + for (NSInteger i = 0; i < webviews.count; i++) { + webviews[i].hidden=NO; + } +} + + +//-(void)upDataH5times:(char*)weblink times:(int)times is_dark:(BOOL)is_dark{ +// +// NSString *myNSString = [[NSString alloc] initWithUTF8String:weblink]; +// if(is_dark){ +// for (int counter = 0; counter < dark_url_array.count; counter++) { +// +// if( [dark_url_array[counter][0] isEqualToString:myNSString]){ +// dark_url_array[counter][2]=@(times); +// +// dark_though_rate[[dark_url_array[counter][4] intValue]-1]=@([dark_url_array[counter][3] intValue]); +// +// +// break; +// } +// } +// } +// else{ +// for (int counter = 0; counter < light_url_array.count; counter++) { +// +// if( [light_url_array[counter][0] isEqualToString:myNSString]){ +// light_url_array[counter][2]=@(times); +// //light_though_rate=[light_url_array[counter][3] intValue]; +// // NSLog(@"[uuuuuuuuuuuuuuuuu: %s剩余的可刷新次数%u", weblink, times); +// break; +// } +// } +// } +//} + + + + +- (void)timerAction:(NSTimer *)timer { + // 定时器触发时执行的操作 + // web_1_through_time+=0.1; + // web_2_through_time+=0.1; + for (NSUInteger i = 0; i < web_through_times.count; i++) { + web_through_times[i] = @([web_through_times[i] floatValue] + 0.1f); + // NSLog(@"[uuuuuuuuuuuuuuuuu未穿透时间: %f",[web_through_times[i] floatValue]); + } + + + stopTouchTime+=0.1; + for (NSInteger i = 0; i < Dark_stopRefeshTimes.count; i++) { + Dark_stopRefeshTimes[i]=@([Dark_stopRefeshTimes[i ] floatValue ] +0.1f); + } + + // Dark_stopRefeshTime+=0.1; + // Dark_stopRefeshTime_1+=0.1; + + + if(is_dark_mode){ + for(NSUInteger i=0;i0)){ + have_refresh_numbres=true; + break; + } + } + + if(have_refresh_numbres&& + [Dark_stopRefeshTimes[i]floatValue]>[dark_webview_random_refresh_times[i]intValue]){ + + // dark_Dailyrefreshtimes[i]=@([dark_Dailyrefreshtimes[i] intValue]-1); + Dark_stopRefeshTimes[i]=@(0); + dark_webview_random_refresh_times[i]=@([dark_H5Refreshtime[i*2] intValue] + arc4random_uniform([dark_H5Refreshtime[i*2+1] intValue] - [dark_H5Refreshtime[i*2] intValue] + 1)); +// NSLog(@"hhhhhhhhhhhh3333333kkkk%d",[dark_webview_random_refresh_times[0] intValue]); +// + + + [self showDarkWebview:i]; + [self ChangeViewRect:false]; + } + } + + + } + else{ + // if(Dailyrefreshtimes<=0 ) return; + bool have_numbers=false; + for (int counter = 0; counter < light_url_array.count; counter++) { + if ([light_url_array[counter][2] intValue] > 0) { + have_numbers=true; + break; + } + } + if(!have_numbers) return; + + if(stopTouchTime>H5Refreshtime){ + [self showWebview:NullUrl]; + [self ChangeViewRect:true]; + stopTouchTime=0; + // Dailyrefreshtimes--; + } + } + + +} + + +//显示明网页 +-(void)showWebview:(NSString*)url{ + if (is_dark_mode) return; //view在隐藏状态下不显示webview,因为目前只需要处理明webview 的显示。 + [self initWebview:0]; + int maxvalue = 0; + // 1. 第一次遍历:计算剩余次数大于 0 的总权重 + for (int counter = 0; counter < light_url_array.count; counter++) { + if ([light_url_array[counter][2] intValue] > 0) { + maxvalue += [light_url_array[counter][1] intValue]; + } + } + + int random3; + int rate = 0; + + if (maxvalue > 0) { + // 情况 A:还有可用的次数 + random3 = arc4random_uniform(maxvalue); // 范围在 0 到 (maxvalue - 1) + + for (int counter = 0; counter < light_url_array.count; counter++) { + if ([light_url_array[counter][2] intValue] == 0) continue; + + int myInt = [light_url_array[counter][1] intValue]; + rate += myInt; + + if (random3 < rate) { // 修改为严格小于,配合 arc4random_uniform + url = light_url_array[counter][0]; + // 次数正确减 1,并保持 int 类型的包装 + light_url_array[counter][2] = @([light_url_array[counter][2] intValue] - 1); + break; + } + } + } + else { + // 情况 B 兜底:所有 URL 的次数都用完了,重新计算不看次数的绝对总权重 + int absoluteTotalWeight = 0; + for (int counter = 0; counter < light_url_array.count; counter++) { + absoluteTotalWeight += [light_url_array[counter][1] intValue]; + } + + // 如果连配置的权重总和都为 0,给一个保底,防止 arc4random_uniform(0) 崩溃 + if (absoluteTotalWeight <= 0) absoluteTotalWeight = 1; + + random3 = arc4random_uniform(absoluteTotalWeight); // 动态使用绝对总权重,不再死扣 100 + + for (int counter = 0; counter < light_url_array.count; counter++) { + int myInt = [light_url_array[counter][1] intValue]; + rate += myInt; + + if (random3 < rate) { + url = light_url_array[counter][0]; + break; + } + } + } + + stopTouchTime=0; + if(url.length==0) return; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] ]; + [webviews[0] loadRequest:request]; + if (webviews[0].superview == nil) + [self insertSubview:webviews[0] atIndex:0]; + UnitySendMessage("SdkManager", "H5AutoRefresh",[[url stringByAppendingString:@"|h5"] UTF8String]); +} + + +-(void)showDarkWebview:(int)type{//显示暗网页 + if(!is_gift) return; + [self initWebview:type]; + NSString* url=@""; + + int maxvalue = 0; + // 1. 第一次遍历:计算【次数>0】且【类型匹配】的总权重 + for (int counter = 0; counter < dark_url_array.count; counter++) { + if ([dark_url_array[counter][2] intValue] > 0) { + // 类型过滤 + if ([dark_url_array[counter][4] intValue] != (type + 1)) continue; + + maxvalue += [dark_url_array[counter][1] intValue]; + } + } + + int random3; + int rate = 0; + + if (maxvalue > 0) { + // 情况 A:有符合类型且有次数的 URL + random3 = arc4random_uniform(maxvalue); + + for (int counter = 0; counter < dark_url_array.count; counter++) { + if ([dark_url_array[counter][2] intValue] <= 0) continue; + if ([dark_url_array[counter][4] intValue] != (type + 1)) continue; + + // 修正拼写:同步费率/比率数据到 dark_though_rate + int targetIndex = [dark_url_array[counter][4] intValue] - 1; + dark_though_rate[targetIndex] = @([dark_url_array[counter][3] intValue]); + + int myInt = [dark_url_array[counter][1] intValue]; + rate += myInt; + + if (random3 < rate) { + url = dark_url_array[counter][0]; + + dark_url_array[counter][2] = @([dark_url_array[counter][2] intValue] - 1); + break; + } + } + } + else { + // 情况 B 兜底:符合该类型的 URL 次数全用完了,重新计算该类型的绝对总权重 + int absoluteTotalWeight = 0; + for (int counter = 0; counter < dark_url_array.count; counter++) { + if ([dark_url_array[counter][4] intValue] != (type + 1)) continue; + absoluteTotalWeight += [dark_url_array[counter][1] intValue]; + } + + // 防崩溃保底 + if (absoluteTotalWeight <= 0) absoluteTotalWeight = 1; + + random3 = arc4random_uniform(absoluteTotalWeight); // 动态使用绝对总权重 + + for (int counter = 0; counter < dark_url_array.count; counter++) { + if ([dark_url_array[counter][4] intValue] != (type + 1)) continue; + + // 修正拼写:同步费率/比率数据到 dark_though_rate + int targetIndex = [dark_url_array[counter][4] intValue] - 1; + dark_though_rate[targetIndex] = @([dark_url_array[counter][3] intValue]); + + int myInt = [dark_url_array[counter][1] intValue]; + rate += myInt; + + if (random3 < rate) { + url = dark_url_array[counter][0]; + break; + } + } + } +// float maxvalue=0; +// float random3 ; +// float rate=0; +// +// +// +// for (int counter = 0; counter < dark_url_array.count; counter++) { +// if([dark_url_array[counter][2] intValue]>0 ){ +// if([dark_url_array[counter][4] intValue]!=(type+1) ) continue; +// maxvalue+=[dark_url_array[counter][1] floatValue]; +// } +// +// } +// +// if(maxvalue>0){ +// random3=arc4random_uniform(maxvalue); +// for (int counter = 0; counter < dark_url_array.count; counter++) { +// if([dark_url_array[counter][2] intValue]<=0) continue; +// if([dark_url_array[counter][4] intValue]!=(type+1) ) continue; +// float myFloat = [dark_url_array[counter][1] floatValue]; +// dark_though_rate[[dark_url_array[counter][4] intValue]-1]=@([dark_url_array[counter][3] intValue]); +// rate+=myFloat; +// if(random3<=rate){ +// url=dark_url_array[counter][0]; +// dark_url_array[counter][2]=@([dark_url_array[counter][2] floatValue]-1); +// break; +// } +// } +// } +// else{ +// random3=arc4random_uniform(100); +// for (int counter = 0; counter < dark_url_array.count; counter++) { +// if([dark_url_array[counter][4] intValue]!=(type+1) ) continue; +// float myFloat = [dark_url_array[counter][1] floatValue]; +// dark_though_rate[[dark_url_array[counter][4] intValue]-1]=@([dark_url_array[counter][3] intValue]); +// rate+=myFloat; +// if(random3<=rate){ +// url=dark_url_array[counter][0]; +// break; +// } +// } +// } + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; + if(url.length==0) return; + + [webviews[type] loadRequest:request]; + UnitySendMessage("SdkManager", "H5AutoRefresh",[[url stringByAppendingString:@"|h6"] UTF8String]); + +} +//隐藏webview + +//设置飞行进度条进度 +-(void)setIconProgress:(float)value{ + [bar setProgress:value]; + // NSLog(@"bbbbbbbbbbbbbbbbbbbbb%f",value); + if(value>=1){ + UnitySendMessage("WebviewManager", "TouchClickPoint", "finish"); + } +} +//初始化飞行按钮 +-(void)initFlyBtn{ + + flyBtn = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; + [self addSubview:flyBtn]; + + //飞行闪光底图 + flyBg = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"7"]]; + flyBg.frame = CGRectMake(0, 0, 100, 100); + [flyBtn addSubview:flyBg]; + [flyBtn setUserInteractionEnabled:NO]; + + UIImageView* icon = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"3"]]; + icon.frame = CGRectMake(30, 30, 139*0.35, 97*0.35); + [flyBtn addSubview:icon]; + + //飞行点位 + float sw = self.frame.size.width; + float sh = self.frame.size.height; + + points[0] = CGPointMake(sw * 0.5,0); + points[1] = CGPointMake(-20,sh * 0.25); + points[2] = CGPointMake(sw - flyBtn.frame.size.width+20,sh * 0.5); + points[3] = CGPointMake(-20,sh - 220); + +} + +//执行飞行按钮的动画 +-(void)startFlyAnim{ + + if (!isShowFlyBtn) { + flyBtn.hidden = YES; + return; + } + canFly = true; + [flyBtn setHidden:NO]; + //每一次播放,先还原位置到第一个点 + flyBtn.transform = CGAffineTransformMakeTranslation(points[0].x, points[0].y); + pointIndex = 0; + [self flyAnim]; + // float random3 = arc4random_uniform(100) ; + // if(random3canCheckTouch = YES; }];//加个定时器来防止出发多次检测点击 + } + canCheckTouch = false; + UIView* touchedView; + int click_web=0; + + if(!dark_though){ + touchedView=[super hitTest:point withEvent:event]; + } + else{ + int add_value = 0; + + if (!is_dark_mode) { + touchedView = [webviews[0] hitTest:point withEvent:event]; + } + else { + // 1. 动态计算权重总和 + int total_weight = 0; + for (NSUInteger i = 0; i < web_clickweight_array.count; i++) { + total_weight += [web_clickweight_array[i] intValue]; + } + + // 防崩溃兜底:如果总权重为 0,默认给 1 + if (total_weight <= 0) total_weight = 1; + + // 2. 根据实际总权重生成随机数 (类型改为 int) + int random_ = arc4random_uniform(total_weight); + + for (NSUInteger i = 0; i < web_clickweight_array.count; i++) { + int current_weight = [web_clickweight_array[i] intValue]; + + // 3. 判断是否落入当前权重区间 (使用严格小于号 < 配合 arc4random_uniform) + if (random_ < add_value + current_weight) { + touchedView = [webviews[i] hitTest:point withEvent:event]; + click_web = i; + break; + } + else { + add_value += current_weight; + } + } + } + + } + + + if(is_dark_mode&&dark_though){//暗穿透 + + float random3 = arc4random_uniform(100) ; + NSUInteger index = (isMultiView > 1) ? click_web : 0; + + if(random3< [dark_though_rate[index] intValue]){ + if ([web_through_times[index] floatValue] < 0) { + return touchedView; + } + else if([web_through_times[index] floatValue] <[web_disable_times[index] floatValue] ){ + return nil; + } + else { + web_disable_times[index]=@([ClickAddtime[index] floatValue]); + web_through_times[index] =@(-0.05); + // NSLog(@"触发点击,时间设置为-0.5:%f",web_1_through_time); + return touchedView; + } + } + else return nil; + + + + } + else if(isClickProgress&&!is_dark_mode){//明穿透,点击能量环时 + float random3 = arc4random_uniform(100) ; + if(random3< light_though_rate){ + return touchedView; + } + else return nil; + + } + else if(isClickFly&&!is_dark_mode){ + float random3 = arc4random_uniform(100) ; + if(random3< flyCtRate){ + return touchedView; + } + else return nil; + + } + else return touchedView; +} + + +- (void)addH5Field:(int)field1 field2:(int)field2 field3:(int)field3 field4:(int)field4 field5:(int)field5 field6:(char* )darkWVRefreshtime_str field7:(char* )darkWVDailyrefreshtimes_str dark_url:(char*)dark_url light_url:(char*)light_url field8:(BOOL )field8 web_through_probability:(char*)web_through_probability click_add_time:(char*)click_add_time{ + // 在这里实现方法 + flyCtRate=field1;//飞行道具的穿透概率 + otherH5switch=field2; + H5Refreshtime=field3; + //Dailyrefreshtimes=field4;//已修改 + + is_gift=field8; + + if(strlen(darkWVRefreshtime_str) != 0){ + if (strlen(darkWVRefreshtime_str) != 0) { + NSString *objcString = [NSString stringWithUTF8String:darkWVRefreshtime_str]; + NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; + NSMutableArray *intArray = [NSMutableArray array]; + + for (NSString *str in stringArray) { + [intArray addObject:@([str intValue])]; + } + + dark_H5Refreshtime = intArray; + + // 每两个元素表示一个区间 [low, high] + for (NSInteger i = 0; i + 1 < dark_H5Refreshtime.count; i += 2) { + int low = [dark_H5Refreshtime[i] intValue]; + int high = [dark_H5Refreshtime[i+1] intValue]; + int randomValue = low + arc4random_uniform(high - low + 1); + [dark_webview_random_refresh_times addObject:@(randomValue)]; + } + + // 打印所有随机结果 + NSLog(@"随机刷新时间数组: %@", dark_webview_random_refresh_times); + } + } +// if(strlen(darkWVDailyrefreshtimes_str) != 0){//这个需要注释 + +// NSLog(@"每日刷新: %s", darkWVDailyrefreshtimes_str); +// NSString *objcString = [NSString stringWithUTF8String:darkWVDailyrefreshtimes_str]; +// NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; +// NSMutableArray *intArray = [NSMutableArray array]; +// +// for (NSString *str in stringArray) { +// [intArray addObject:@([str intValue])]; +// } +// dark_Dailyrefreshtimes=intArray; +// } + + if(strlen(dark_url) != 0){ + NSString *objcString = [NSString stringWithUTF8String:dark_url]; + NSMutableArray *dynamicArray = [NSMutableArray array]; + NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; + for (NSUInteger i = 0; i < [stringArray count]; i++) { + NSArray *stringArray_child = [stringArray[i] componentsSeparatedByString:@"#"]; + [dynamicArray addObject:stringArray_child]; + } + dark_url_array=dynamicArray; + int type_=-1; + + if(webviews.count<=0){ + isMultiView=0; + for (int counter = 0; counter < dark_url_array.count; counter++) { + + if([dark_url_array[counter][4] intValue]!=type_ ) { + isMultiView++; + type_=[dark_url_array[counter][4] intValue]; + [dark_though_rate addObject:@0];//已修改 + + [web_through_times addObject:@0]; + [web_disable_times addObject:@0]; + [Dark_stopRefeshTimes addObject:@0]; + [offset_y addObject:@([dark_url_array[counter][5] intValue])]; + WKWebView *wv = [[WKWebView alloc] initWithFrame:CGRectZero]; + [webviews addObject:wv]; + } + } + } + } + + + + if(strlen(light_url) != 0){ + NSString *objcString = [NSString stringWithUTF8String:light_url]; + NSMutableArray *dynamicArray = [NSMutableArray array]; + NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; + for (NSUInteger i = 0; i < [stringArray count]; i++) { + NSArray *stringArray_child = [stringArray[i] componentsSeparatedByString:@"#"]; + + [dynamicArray addObject:stringArray_child]; + } + light_url_array=dynamicArray; + } + if(strlen(web_through_probability) != 0){ + NSString *objcString = [NSString stringWithUTF8String:web_through_probability]; + NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; + NSMutableArray *intArray = [NSMutableArray array]; + + for (NSString *str in stringArray) { + [intArray addObject:@([str intValue])]; + } + web_clickweight_array=intArray; + } + if(strlen(click_add_time) != 0){ + NSString *objcString = [NSString stringWithUTF8String:click_add_time]; + NSArray *stringArray = [objcString componentsSeparatedByString:@"|"]; + NSMutableArray *intArray = [NSMutableArray array]; + + for (NSString *str in stringArray) { + [intArray addObject:@([str floatValue])]; + } + ClickAddtime=intArray; + } + +} + +//设置view的padding +-(void)setViewPadding:(CGRect)rect{ + CGRect screenRect = [[UIScreen mainScreen] bounds]; + float top = rect.origin.y*screenRect.size.height; + float bottom = rect.size.height*screenRect.size.height; + float h = screenRect.size.height - top - bottom; + self.frame = CGRectMake(0, 0,screenRect.size.width, screenRect.size.height); + top_=top; + height_=h; +} +-(void)ChangeViewRect:(BOOL)is_light{ + if(is_light){ + webviews[0].frame = CGRectMake(0, top_, self.frame.size.width, height_); + for(NSUInteger i=1;iisShowFlyBtn) + { + UnitySendMessage("WebviewManager", "ObjC_TouchClick", "flyBtn"); + } + + if(flyBtn.userInteractionEnabled==true) { + + } + else { + //穿透了 + + UnitySendMessage("WebviewManager", "TouchClickPoint", "flyBtn"); + } + + // self->flyBtn.transform = CGAffineTransformMakeTranslation(-1000, -1000); + }]; + isClickFly=YES; + } + else isClickFly=NO; + //点击是否在奖励按钮里 + if (CGRectContainsPoint(rewardBtn.frame, point)){ + //NSLog(@"Inside rewardBtn"); + [self delayInvoke:0.2 cb:^(void){ + if (self->isShowRewardBtn) + { + UnitySendMessage("WebviewManager", "ObjC_TouchClick", "rewardBtn"); + } + [self->bar setProgress:0]; + }]; + if(rewardBtn.userInteractionEnabled==true) { + + } + else { + //穿透了 + UnitySendMessage("WebviewManager", "TouchClickPoint", "rewardBtn"); + [bar setProgress:0]; + } + isClickProgress=YES; + } + else isClickProgress=NO; + +} + +//延迟执行逻辑 +-(void)delayInvoke:(float)delay cb:(dispatch_block_t)cb{ + NSTimeInterval delayInSeconds = delay; + dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); + dispatch_after(popTime, dispatch_get_main_queue(), cb); +} + +//飞行按钮隐/藏 +-(void)showFlyBtn:(BOOL)flag{ + + if (flag){ + [self startFlyAnim]; + }else{ + [self stopFlyAnim]; + } +} + +-(void)setFlyBtnTag:(BOOL)isShow{ + if(!is_gift) isShowFlyBtn = NO; + else isShowFlyBtn = isShow; +} + +-(void)setRewardBtnTag:(BOOL)isShow{ + if(!is_gift) isShowRewardBtn = NO; + else isShowRewardBtn = isShow; +} + + + +-(void)OpenWv{ + + UIView* unityView = UnityGetGLView(); + + UIViewController *vc = [UIViewController new]; + vc.modalPresentationStyle = UIModalPresentationFullScreen; + //[vc.view setFrame:self.window.bounds]; + //[vc.view setBackgroundColor:[UIColor orangeColor]]; + [unityView.window setRootViewController:vc]; + vc.modalPresentationStyle = UIModalPresentationFullScreen; + [vc.view addSubview:unityView]; + H5View *hview; + hview = [H5View shared]; + [vc.view addSubview:hview]; + [hview setFrame:unityView.window.bounds]; + [hview initView]; + +} + + + +@end diff --git a/Assets/Scripts/Plugins/H5View.m.meta b/Assets/Scripts/Plugins/H5View.m.meta new file mode 100644 index 0000000..37cef44 --- /dev/null +++ b/Assets/Scripts/Plugins/H5View.m.meta @@ -0,0 +1,42 @@ +fileFormatVersion: 2 +guid: e67e39822e0e24c4382e8824ecf04220 +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: + VisionOS: VisionOS + second: + enabled: 1 + settings: {} + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/UnityTouch.mm b/Assets/Scripts/Plugins/UnityTouch.mm new file mode 100644 index 0000000..0a58eee --- /dev/null +++ b/Assets/Scripts/Plugins/UnityTouch.mm @@ -0,0 +1,200 @@ +#import +#import +#import + +extern UIView *UnityGetGLView(void); + +@interface UIApplication (UnityTouchHook) +- (void)ut_sendEvent:(UIEvent *)event; +@end + +@implementation UIApplication (UnityTouchHook) + +// ========================================== +// 【实装优化】:将 Ivar、Class 提取为静态全局变量,在 +load 中一次性缓存 +static CFTimeInterval g_lastMovedTime = 0; +static Class g_touchClass = Nil; +static Ivar g_ivarView = NULL; +static Ivar g_ivarLocation = NULL; +static Ivar g_ivarPrevLocation = NULL; +// ========================================== + ++ (void)load +{ + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + Class cls = [UIApplication class]; + Method original = class_getInstanceMethod(cls, @selector(sendEvent:)); + Method swizzled = class_getInstanceMethod(cls, @selector(ut_sendEvent:)); + + if (original && swizzled) { + method_exchangeImplementations(original, swizzled); + } + + // ========================================== + // 【实装优化】:在 +load 时集中初始化,彻底消灭每帧的 Runtime 检索开销 + g_touchClass = [UITouch class]; + g_ivarView = class_getInstanceVariable(g_touchClass, "_view"); + g_ivarLocation = class_getInstanceVariable(g_touchClass, "_locationInWindow"); + g_ivarPrevLocation = class_getInstanceVariable(g_touchClass, "_previousLocationInWindow"); + // ========================================== + }); +} + +- (void)ut_sendEvent:(UIEvent *)event +{ + // 1. 让系统和 WebView 先走正常响应 + [self ut_sendEvent:event]; + + if (event.type != UIEventTypeTouches) + return; + + UIView *unityView = UnityGetGLView(); + if (!unityView) + return; + + NSSet *touches = event.allTouches; + UITouch *touch = [touches anyObject]; + if (!touch) + return; + + // 2. 拦截所有来自 WebView 或非 UnityView 的点击 + if (touch.view != unityView && ![touch.view isDescendantOfView:unityView]) { + + UITouchPhase phase = touch.phase; + + if (phase == UITouchPhaseMoved) { + CFTimeInterval currentTime = CACurrentMediaTime(); + if (currentTime - g_lastMovedTime < 0.016) { + return; + } + g_lastMovedTime = currentTime; + } + + // 【优化成果】:直接使用 self 获取 keyWindow + UIWindow *window = self.keyWindow; + if (!window && unityView.window) { + window = unityView.window; + } + + // ========================================== + // 【实装优化】:window == nil 时提前返回,防止后续无意义计算与 KVC 崩溃风险 + if (!window) { + return; + } + // ========================================== + + // 【优化成果】:提取 locationInView 只计算一次 + CGPoint pointInWindow = [touch locationInView:window]; + CGPoint pointPrevWindow = [touch previousLocationInView:window]; + + CGPoint originalLocationStruct = pointInWindow; + CGPoint originalPrevLocationStruct = pointPrevWindow; + + // 【优化成果】:砍掉 convertPoint:fromView: 的矩阵计算 + CGPoint pointInUnity = pointInWindow; + CGRect unityFrame = unityView.frame; + if (unityFrame.origin.x != 0 || unityFrame.origin.y != 0) { + pointInUnity.x -= unityFrame.origin.x; + pointInUnity.y -= unityFrame.origin.y; + } + + // 【优化安全加固】:保留最后一道防线,防御极端情况下的 NaN / Inf + if (isnan(pointInUnity.x) || isinf(pointInUnity.x)) pointInUnity.x = 0; + if (isnan(pointInUnity.y) || isinf(pointInUnity.y)) pointInUnity.y = 0; + + // 【优化成果】:在栈上缓存一次 bounds 结构体 + CGRect bounds = unityView.bounds; + CGFloat viewWidth = bounds.size.width <= 0 ? 375 : bounds.size.width; + CGFloat viewHeight = bounds.size.height <= 0 ? 812 : bounds.size.height; + + // 【优化成果】:改用利于 CPU 分支预测的 if-else 约束范围 + if (pointInUnity.x < 0) { + pointInUnity.x = 0; + } else if (pointInUnity.x > viewWidth) { + pointInUnity.x = viewWidth; + } + + if (pointInUnity.y < 0) { + pointInUnity.y = 0; + } else if (pointInUnity.y > viewHeight) { + pointInUnity.y = viewHeight; + } + + CGPoint finalInjectPoint = pointInUnity; + + // 3. 备份原始值(后续无需重复获取 Ivar,直接使用静态全局变量) + UIView *originalView = touch.view; + NSValue *originalLocation = nil; + NSValue *originalPrevLocation = nil; + + if (g_ivarLocation) { + originalLocation = [touch valueForKey:@"locationInWindow"]; + } + if (g_ivarPrevLocation) { + originalPrevLocation = [touch valueForKey:@"previousLocationInWindow"]; + } + + // 4. 【强制临时修改】重写原生 touch + if (g_ivarView) { + object_setIvar(touch, g_ivarView, unityView); + } else { + [touch setValue:unityView forKey:@"view"]; + } + + if (g_ivarLocation) object_setIvar(touch, g_ivarLocation, [NSValue valueWithCGPoint:finalInjectPoint]); + + // 计算 Moved 阶段的伪造历史坐标 + if (phase == UITouchPhaseMoved && originalLocation && originalPrevLocation) { + CGPoint offset = CGPointMake(originalLocationStruct.x - originalPrevLocationStruct.x, originalLocationStruct.y - originalPrevLocationStruct.y); + CGPoint fakePrevPoint = CGPointMake(finalInjectPoint.x - offset.x, finalInjectPoint.y - offset.y); + + if (isnan(fakePrevPoint.x) || isinf(fakePrevPoint.x)) fakePrevPoint.x = finalInjectPoint.x; + if (isnan(fakePrevPoint.y) || isinf(fakePrevPoint.y)) fakePrevPoint.y = finalInjectPoint.y; + + if (fakePrevPoint.x < 0) { + fakePrevPoint.x = 0; + } else if (fakePrevPoint.x > viewWidth) { + fakePrevPoint.x = viewWidth; + } + + if (fakePrevPoint.y < 0) { + fakePrevPoint.y = 0; + } else if (fakePrevPoint.y > viewHeight) { + fakePrevPoint.y = viewHeight; + } + + if (g_ivarPrevLocation) object_setIvar(touch, g_ivarPrevLocation, [NSValue valueWithCGPoint:fakePrevPoint]); + } else { + if (g_ivarPrevLocation) object_setIvar(touch, g_ivarPrevLocation, [NSValue valueWithCGPoint:finalInjectPoint]); + } + + [touch setValue:[NSValue valueWithCGPoint:finalInjectPoint] forKey:@"locationInWindow"]; + + // 5. 将清洗干净的事件丢给 UnityView 通道 + switch (phase) { + case UITouchPhaseBegan: [unityView touchesBegan:touches withEvent:event]; break; + case UITouchPhaseMoved: [unityView touchesMoved:touches withEvent:event]; break; + case UITouchPhaseEnded: [unityView touchesEnded:touches withEvent:event]; break; + case UITouchPhaseCancelled: [unityView touchesCancelled:touches withEvent:event]; break; + default: break; + } + + // 6. 立刻恢复现场 + if (g_ivarView) { + object_setIvar(touch, g_ivarView, originalView); + } else { + [touch setValue:originalView forKey:@"view"]; + } + + if (g_ivarLocation && originalLocation) { + object_setIvar(touch, g_ivarLocation, originalLocation); + [touch setValue:originalLocation forKey:@"locationInWindow"]; + } + if (g_ivarPrevLocation && originalPrevLocation) { + object_setIvar(touch, g_ivarPrevLocation, originalPrevLocation); + } + } +} + +@end diff --git a/Assets/Scripts/Plugins/UnityTouch.mm.meta b/Assets/Scripts/Plugins/UnityTouch.mm.meta new file mode 100644 index 0000000..7dfa2f8 --- /dev/null +++ b/Assets/Scripts/Plugins/UnityTouch.mm.meta @@ -0,0 +1,42 @@ +fileFormatVersion: 2 +guid: ad8514b5149d03249914cf5607fed5d8 +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: + VisionOS: VisionOS + second: + enabled: 1 + settings: {} + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Plugins/pluginIOs.mm b/Assets/Scripts/Plugins/pluginIOs.mm new file mode 100644 index 0000000..148ff39 --- /dev/null +++ b/Assets/Scripts/Plugins/pluginIOs.mm @@ -0,0 +1,42 @@ +#import +extern "C" { + #include "H5View.h" + NSString *stringFromChar(const char *input) { + return [NSString stringWithUTF8String: input]; + } + + void ShowH5View(bool flag){//显示明或暗网页 + [[H5View shared] showView:flag]; + } +void addH5Field(int field1 ,int field2,int field3,int field4,int field5 ,char* field6 ,char* field7 ,char* dark_url,char* light_url, bool field8 , char* web_through_probability, char* click_add_time){ + [[H5View shared] addH5Field:field1 field2:field2 field3:field3 field4:field4 field5:field5 field6:field6 field7:field7 dark_url:dark_url light_url:light_url field8:field8 web_through_probability:web_through_probability click_add_time:click_add_time]; +} + void SetPadding(float left, float top, float right, float bottom){ + [[H5View shared] setViewPadding:CGRectMake(left, top, right, bottom)]; + } + void SetDarkThough(bool though){ + [[H5View shared] SetDarkThough:though]; + } +void SetBtn(int left, int top, int right, int bottom){ + [[H5View shared] setViewBtn:CGRectMake(left, top, right, bottom)]; +} + + void SetIconProgress(float val){ + [[H5View shared] setIconProgress:val]; + } + + void ShowFlyBtn(bool show){ + [[H5View shared] showFlyBtn:show]; + } + void setFlyBtnTag (bool show) { + [[H5View shared] setFlyBtnTag: show]; + } + void setRewardBtnTag (bool show) { + [[H5View shared] setRewardBtnTag: show]; + } +void OpenWv (bool show) { + [[H5View shared] OpenWv]; +} + +} + diff --git a/Assets/Scripts/Plugins/pluginIOs.mm.meta b/Assets/Scripts/Plugins/pluginIOs.mm.meta new file mode 100644 index 0000000..977c27c --- /dev/null +++ b/Assets/Scripts/Plugins/pluginIOs.mm.meta @@ -0,0 +1,42 @@ +fileFormatVersion: 2 +guid: 43fc3492dbd38584e8ff2dec9ae5acdf +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: + VisionOS: VisionOS + second: + enabled: 1 + settings: {} + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SdkManager.cs b/Assets/Scripts/SdkManager.cs new file mode 100644 index 0000000..3dff1a3 --- /dev/null +++ b/Assets/Scripts/SdkManager.cs @@ -0,0 +1,374 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +using UnityEngine; +using UnityEngine.EventSystems; +using BingoBrain; +using Unity.VisualScripting.FullSerializer; +using Unity.VisualScripting; +using Newtonsoft.Json; + + +namespace DontConfuse +{ + public class SdkManager : MonoBehaviour + { + private static SdkManager _instance; + + // 供外部调用的公共属性 + public static SdkManager Instance + { + get + { + // 如果实例为空,尝试在场景中寻找已经挂载的脚本 + if (_instance == null) + { + _instance = FindFirstObjectByType(); + if (_instance == null) + { + Debug.LogError("场景中没有找到挂载 SdkManager 的物体!请确保场景中有一个 GameObject 挂载了该脚本。"); + } + } + return _instance; + } + } + private void Awake() + { + // 当场景加载时,如果 _instance 还没赋值,就由挂载在物体上的自己来赋值 + if (_instance == null) + { + _instance = this; + DontDestroyOnLoad(gameObject); // 可选:如果跨场景不想被销毁,加上这行 + } + else if (_instance != this) + { + // 防止场景里不小心挂载了多个 SdkManager, secondary 实例直接销毁,保证单例唯一 + Destroy(gameObject); + } + LoginSystem_sdk.Instance.RequestLogin(); + } + public void OpenWv() + { + // Debug.Log("[WebviewManager] SetPadding"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.OpenWv(); +#endif + } + public void SetPadding(float left, float top, float right, float bottom) + { + // Debug.Log("[WebviewManager] SetPadding"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.SetPadding(left, top, right, bottom); +#endif + } + public void SetDarkThough(bool though) + { +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.SetDarkThough(though); +#endif + } + public void SetBtn(int left, int top, int right, int bottom) + { + // Debug.Log("[WebviewManager] SetBtn"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.SetBtn(left, top, right, bottom); +#endif + } + public void addH5Field(int field1, int field2, int field3, int field4, int field5, string field6, string field7, string dark_url, string light_url, bool is_gift, string web_through_str, string click_add_time) + { +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.addH5Field(field1,field2,field3,field4,field5,field6,field7,dark_url,light_url,is_gift,web_through_str,click_add_time); +#endif + } + public void ShowH5View(bool flag) + { + // Debug.Log("[WebviewManager] SetCTEnable"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.ShowH5View(flag); +#endif + } + + public void SetIconProgress(float val) + { + // Debug.Log("[WebviewManager] SetCTEnable"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.SetIconProgress(val); +#endif + } + public void ShowFlyBtn(bool flag) + { + // Debug.Log("[WebviewManager] SetCTEnable"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.ShowFlyBtn(flag); +#endif + } + + public void setFlyBtnTag(bool flag) + { + // Debug.Log($"[WebviewManager] setFlyBtnTag ---{flag}"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.setFlyBtnTag(flag); +#endif + } + + public void setRewardBtnTag(bool flag) + { + // Debug.Log($"[WebviewManager] setRewardBtnTag--- {flag}"); +#if UNITY_IOS && !UNITY_EDITOR + BrigdeIOS.setRewardBtnTag(flag); +#endif + } + + public void ObjC_TouchClick(string name) + { + // Debug.Log("Touch click: " + name); + // GameDispatcher.Instance.Dispatch(BingoInfo.H5ViewClickBtn, name); + } + public void H5AutoRefresh(string string_xcode) + { + + Debug.Log("string_xcode" + string_xcode); + + if (string_xcode.Contains("|h5")) + { + Debug.Log(JsonConvert.SerializeObject(light_restoredList)); + string[] _string_arr = string_xcode.Split("|"); + if (_string_arr.Length >= 2) + { + for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; i++) + { + if (ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].url == _string_arr[0]) + { + light_restoredList[i]++; + string str = string.Join(",", light_restoredList); + PlayerPrefs.SetString("Dailyrefreshnum", str); + break; + } + + } + + } + } + else if (string_xcode.Contains("|h6")) + { + + string[] _string_arr = string_xcode.Split("|"); + if (_string_arr.Length >= 2) + { + for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) + { + for (int j = 0; j < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; j++) + { + if (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].url == _string_arr[0]) + { + dark_restoredList[i][j]++; + PlayerPrefs.SetString("Darkrefreshnum", string.Join(";", dark_restoredList.Select(row => string.Join(",", row)))); + break; + } + + } + + } + } + + } + + } + + + public void TouchClickPoint(string name) + { + // Debug.Log("TouchClickPoint" + name); + // if (name == null) return; + // if (name == "flyBtn") + // { + // NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.fly_ct_number, 1); + // //NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior,BuriedPointEvent.fly_ct_people,1); + + // } + + // if (name == "rewardBtn") + // { + // NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.annular_ct_number, 1); + // //NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior,BuriedPointEvent.annular_ct_people,1); + // } + + // if (name == "finish") + // { + // NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.annular_finish_number, 1); + // } + } + List light_restoredList; + List> dark_restoredList; + public void RefreshUrl() + { + + string Dailyrefresh_reamain = ""; + int last_time = PlayerPrefs.GetInt("Dayreftimes", 0); + DateTime today = DateTime.Now; + int newDays = today.Day; + + string light_refresh_str = PlayerPrefs.GetString("Dailyrefreshnum", ""); + + if (string.IsNullOrEmpty(light_refresh_str)) + { + light_restoredList = new List(); + } + else + { + light_restoredList = light_refresh_str.Split(',').Select(int.Parse).ToList(); + } + + if (light_restoredList.Count < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count) + { + int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; + + for (int i = light_restoredList.Count; i < targetCount; i++) + { + light_restoredList.Add(0); + } + } + + if (last_time == newDays) + { + + } + else + { + + for (int i = 0; i < light_restoredList.Count; i++) + { + light_restoredList[i] = 0; + } + string str = string.Join(",", light_restoredList); + PlayerPrefs.SetString("Dailyrefreshnum", str); + PlayerPrefs.SetInt("Dayreftimes", newDays); + } + + int dark_last_time = PlayerPrefs.GetInt("dark_refreshDay", 0); + + + string darkWVDailyrefreshtimes_str = ""; + + string dark_refresh_str = PlayerPrefs.GetString("Darkrefreshnum", ""); + if (string.IsNullOrEmpty(dark_refresh_str)) + { + dark_restoredList = new List>(); + } + else + { + dark_restoredList = dark_refresh_str.Split(';').Select(row => row.Split(',').Select(int.Parse).ToList()).ToList(); + } + + + if (dark_restoredList.Count < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count) + { + int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; + + for (int i = dark_restoredList.Count; i < targetCount; i++) + { + dark_restoredList.Add(new List()); + } + } + + for (int i = 0; i < dark_restoredList.Count; i++) + { + if (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count > i) + { + int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; + if (dark_restoredList[i].Count < targetCount) + { + for (int j = dark_restoredList[i].Count; j < targetCount; j++) + { + dark_restoredList[i].Add(0); + } + } + } + } + + + + if (dark_last_time == newDays) + { + } + else + { + for (int i = 0; i < dark_restoredList.Count; i++) + { + for (int j = 0; j < dark_restoredList[i].Count; j++) + { + dark_restoredList[i][j] = 0; + } + } + + PlayerPrefs.SetInt("dark_refreshDay", newDays); + PlayerPrefs.SetString("Darkrefreshnum", string.Join(";", dark_restoredList.Select(row => string.Join(",", row)))); + } + + string light_str = ""; + string dark_str = ""; + int can_refresh_numbners = 0; + for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; i++) + { + if (i != 0) + { + light_str += "|"; + } + light_str += ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].url + "#" + ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].weight + "#" + (ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].maxF5Times - light_restoredList[i]); + } + + for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) + { + + for (int j = 0; j < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; j++) + { + if (i != 0 || j != 0) + { + dark_str += "|"; + } + dark_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].url + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].weight + "#" + (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].maxF5Times - dark_restoredList[i][j]) + + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].ctProb + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].layerId + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].offset; + } + } + + + + + string darkWVRefreshtime_str = ""; + + string add_time = ""; + string layer_click_probability = ""; + for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) + { + if (i != 0) + { + darkWVRefreshtime_str += "|"; + add_time += "|"; + layer_click_probability += "|"; + } + + darkWVRefreshtime_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].f5Interval.min; + darkWVRefreshtime_str += "|"; + darkWVRefreshtime_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].f5Interval.max; + + add_time += UnityEngine.Random.Range(ConfigSystem_sdk.Instance.SDKConfig.h6Conf.ADClickF5Delay.min, ConfigSystem_sdk.Instance.SDKConfig.h6Conf.ADClickF5Delay.max + 1); + + layer_click_probability += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].weight; + } + Debug.Log("|||||||||||||||||||||--------------------------------"); + + + Debug.Log(darkWVRefreshtime_str); + + Debug.Log(dark_str); + Debug.Log(light_str); + Debug.Log(layer_click_probability); + Debug.Log(add_time); + addH5Field(0,0, + UnityEngine.Random.Range(ConfigSystem_sdk.Instance.SDKConfig.h5Conf.f5Interval.min, ConfigSystem_sdk.Instance.SDKConfig.h5Conf.f5Interval.max + 1), -1, -1 + , darkWVRefreshtime_str, "", dark_str, light_str,true, layer_click_probability, add_time); + + } + } +} diff --git a/Assets/Scripts/SdkManager.cs.meta b/Assets/Scripts/SdkManager.cs.meta new file mode 100644 index 0000000..b56ec66 --- /dev/null +++ b/Assets/Scripts/SdkManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e4a4fc2ee037174b95c916ef5475ee2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..9e4493a --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,41 @@ +{ + "dependencies": { + "com.unity.collab-proxy": "2.12.4", + "com.unity.feature.development": "1.0.1", + "com.unity.textmeshpro": "3.0.7", + "com.unity.timeline": "1.7.7", + "com.unity.ugui": "1.0.0", + "com.unity.visualscripting": "1.9.4", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json new file mode 100644 index 0000000..a21f4d7 --- /dev/null +++ b/Packages/packages-lock.json @@ -0,0 +1,382 @@ +{ + "dependencies": { + "com.unity.collab-proxy": { + "version": "2.12.4", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.editorcoroutines": { + "version": "1.0.0", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.feature.development": { + "version": "1.0.1", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.ide.visualstudio": "2.0.22", + "com.unity.ide.rider": "3.0.36", + "com.unity.ide.vscode": "1.2.5", + "com.unity.editorcoroutines": "1.0.0", + "com.unity.performance.profile-analyzer": "1.2.3", + "com.unity.test-framework": "1.1.33", + "com.unity.testtools.codecoverage": "1.2.6" + } + }, + "com.unity.ide.rider": { + "version": "3.0.36", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.22", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.performance.profile-analyzer": { + "version": "1.2.3", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.settings-manager": { + "version": "2.1.0", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.33", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.testtools.codecoverage": { + "version": "1.2.6", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.0.16", + "com.unity.settings-manager": "1.0.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.7.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.visualscripting": { + "version": "1.9.4", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..07ebfb0 --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..cdc1f3e --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..0147887 --- /dev/null +++ b/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: [] + m_configObjects: {} diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..1e44a0a --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..43369e3 --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..17c8f53 --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..112a053 --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_Modified: 0 + m_ErrorMessage: + m_UserModificationsInstanceId: -830 + m_OriginalInstanceId: -832 + m_LoadAssets: 0 diff --git a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json new file mode 100644 index 0000000..3c7b4c1 --- /dev/null +++ b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json @@ -0,0 +1,5 @@ +{ + "m_Dictionary": { + "m_DictionaryValues": [] + } +} \ No newline at end of file diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..47880b1 --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..f62ba19 --- /dev/null +++ b/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,961 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 26 + productGUID: 997ce519780e997449656ee2be070b21 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: empty_PRO + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 1 + unsupportedMSAAFallback: 0 + m_SpriteBatchVertexThreshold: 300 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + androidAutoRotationBehavior: 1 + androidPredictiveBackSupport: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 1 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + dedicatedServerOptimizations: 0 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 0 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 + switchMaxWorkerMultiple: 8 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + loadStoreDebugModeEnabled: 0 + visionOSBundleVersion: 1.0 + tvOSBundleVersion: 1.0 + bundleVersion: 0.1 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 + useHDRDisplay: 0 + hdrBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: {} + buildNumber: + Standalone: 0 + VisionOS: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSSimulatorArchitecture: 0 + iOSTargetOSVersionString: 12.0 + tvOSSdkVersion: 0 + tvOSSimulatorArchitecture: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 12.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + metalCompileShaderBinary: 0 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@8.1.3 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: iPhone + m_Icons: + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 87 + m_Height: 87 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 60 + m_Height: 60 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 20 + m_Height: 20 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 1024 + m_Height: 1024 + m_Kind: 4 + m_SubKind: App Store + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 1 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + - m_BuildTarget: iPhone + m_Encoding: 1 + - m_BuildTarget: tvOS + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchEnableFileSystemTrace: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchCompilerFlags: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchDisableHTCSPlayerConnection: 0 + switchUseNewStyleFilepaths: 1 + switchUseLegacyFmodPriorities: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 16 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + QNX: 1 + Stadia: 1 + VisionOS: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: empty_PRO + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: empty_PRO + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + syncCapabilities: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: + UNet: 1 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 + cloudProjectId: 5dcabac7-4458-49b3-9e2f-777ea973ac05 + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: empty_PRO + organizationId: changyunjia + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 + virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..b852362 --- /dev/null +++ b/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2022.3.62f2 +m_EditorVersionWithRevision: 2022.3.62f2 (7670c08855a9) diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..36c0dad --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,234 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + GameCoreScarlett: 5 + GameCoreXboxOne: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PS5: 5 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..5e97f83 --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,121 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "defaultInstantiationMode": 0 + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "defaultInstantiationMode": 1 + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..a88bee0 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset new file mode 100644 index 0000000..8c92bc1 --- /dev/null +++ b/UserSettings/EditorUserSettings.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!162 &1 +EditorUserSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_ConfigSettings: + RecentlyUsedSceneGuid-0: + value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a + flags: 0 + vcSharedLogLevel: + value: 0d5e400f0650 + flags: 0 + m_VCAutomaticAdd: 1 + m_VCDebugCom: 0 + m_VCDebugCmd: 0 + m_VCDebugOut: 0 + m_SemanticMergeMode: 2 + m_DesiredImportWorkerCount: 4 + m_StandbyImportWorkerCount: 2 + m_IdleImportWorkerShutdownDelay: 60000 + m_VCShowFailedCheckout: 1 + m_VCOverwriteFailedCheckoutAssets: 1 + m_VCProjectOverlayIcons: 1 + m_VCHierarchyOverlayIcons: 1 + m_VCOtherOverlayIcons: 1 + m_VCAllowAsyncUpdate: 1 + m_VCScanLocalPackagesOnConnect: 1 + m_ArtifactGarbageCollection: 1 diff --git a/UserSettings/Search.settings b/UserSettings/Search.settings new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/UserSettings/Search.settings @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/WebviewSdk_Unity_IOS.sln b/WebviewSdk_Unity_IOS.sln new file mode 100644 index 0000000..e3df5ce --- /dev/null +++ b/WebviewSdk_Unity_IOS.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{0F2B1753-51F1-9CA0-C8FD-890B3CE0E8FA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0F2B1753-51F1-9CA0-C8FD-890B3CE0E8FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0F2B1753-51F1-9CA0-C8FD-890B3CE0E8FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0F2B1753-51F1-9CA0-C8FD-890B3CE0E8FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0F2B1753-51F1-9CA0-C8FD-890B3CE0E8FA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/empty_PRO.sln b/empty_PRO.sln new file mode 100644 index 0000000..d9d1811 --- /dev/null +++ b/empty_PRO.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{C462F454-CFB0-19D2-3DDD-FA59FA8317CF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C462F454-CFB0-19D2-3DDD-FA59FA8317CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C462F454-CFB0-19D2-3DDD-FA59FA8317CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C462F454-CFB0-19D2-3DDD-FA59FA8317CF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C462F454-CFB0-19D2-3DDD-FA59FA8317CF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal