diff --git a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll index 5b7458218..052cf908e 100644 Binary files a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll and b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll differ diff --git a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta index 919f28fc7..c3b7c6a02 100644 --- a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta +++ b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta @@ -1,14 +1,34 @@ fileFormatVersion: 2 -guid: 11188de2b6632fa4486c470af4b55fa0 +guid: 46975cd389724d0499db55591d961a35 +timeCreated: 1499691956 +licenseType: Store PluginImporter: - serializedVersion: 1 + serializedVersion: 2 iconMap: {} executionOrder: {} isPreloaded: 0 + isOverridable: 0 platformData: - Any: - enabled: 1 - settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll index a28d4889e..2b1615cca 100644 Binary files a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll and b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll differ diff --git a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta index 589111dfd..845630373 100644 --- a/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta +++ b/AssetStore/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta @@ -1,14 +1,34 @@ fileFormatVersion: 2 -guid: e35231d99115e9e4c8cb29414445831f +guid: a4f7ad432f1fed24caa2acbe1ceeef39 +timeCreated: 1499692003 +licenseType: Store PluginImporter: - serializedVersion: 1 + serializedVersion: 2 iconMap: {} executionOrder: {} isPreloaded: 0 + isOverridable: 0 platformData: - Any: - enabled: 1 - settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/AssetStore/Assets/AssetStoreTools/Editor/DroidSansMono.ttf.meta b/AssetStore/Assets/AssetStoreTools/Editor/DroidSansMono.ttf.meta index 6716cafd2..8347e6789 100644 --- a/AssetStore/Assets/AssetStoreTools/Editor/DroidSansMono.ttf.meta +++ b/AssetStore/Assets/AssetStoreTools/Editor/DroidSansMono.ttf.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 35021dda9bd03434195c7dcd6ad7618f +guid: d54231d61af8b414486b80e17598cce1 +timeCreated: 1499692004 +licenseType: Store TrueTypeFontImporter: serializedVersion: 2 fontSize: 16 diff --git a/AssetStore/Assets/AssetStoreTools/Editor/icon.png.meta b/AssetStore/Assets/AssetStoreTools/Editor/icon.png.meta index 2bf7c577b..642a0457b 100644 --- a/AssetStore/Assets/AssetStoreTools/Editor/icon.png.meta +++ b/AssetStore/Assets/AssetStoreTools/Editor/icon.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 41844c716792706449720732c95b2747 +guid: 7d783a70b51365a49a04d3f369611b99 +timeCreated: 1499692003 +licenseType: Store TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -25,7 +27,7 @@ TextureImporter: cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 diff --git a/AssetStore/Assets/screens/2.jpg b/AssetStore/Assets/screens/2.jpg index 277936392..59c8aed18 100644 Binary files a/AssetStore/Assets/screens/2.jpg and b/AssetStore/Assets/screens/2.jpg differ diff --git a/AssetStore/Assets/screens/3.jpg b/AssetStore/Assets/screens/3.jpg index db2e293d1..382ba5746 100644 Binary files a/AssetStore/Assets/screens/3.jpg and b/AssetStore/Assets/screens/3.jpg differ diff --git a/AssetStore/Assets/screens/7.jpg b/AssetStore/Assets/screens/7.jpg new file mode 100644 index 000000000..9b7e097d9 Binary files /dev/null and b/AssetStore/Assets/screens/7.jpg differ diff --git a/AssetStore/Assets/screens/7.jpg.meta b/AssetStore/Assets/screens/7.jpg.meta new file mode 100644 index 000000000..f7ee8add9 --- /dev/null +++ b/AssetStore/Assets/screens/7.jpg.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 7dc890e3840c24372af2aac85173f8b3 +timeCreated: 1501437402 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AssetStore/ProjectSettings/ProjectSettings.asset b/AssetStore/ProjectSettings/ProjectSettings.asset index 415b20e55..03403af75 100644 --- a/AssetStore/ProjectSettings/ProjectSettings.asset +++ b/AssetStore/ProjectSettings/ProjectSettings.asset @@ -3,7 +3,8 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 8 + serializedVersion: 11 + productGUID: d1fbc6bd3a3f2df418cc5c74efc952d3 AndroidProfiler: 0 defaultScreenOrientation: 0 targetDevice: 2 @@ -13,20 +14,46 @@ PlayerSettings: productName: TouchScript Asset Store defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21176471, 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_SplashScreenBackgroundLandscape: {fileID: 0} + m_SplashScreenBackgroundPortrait: {fileID: 0} m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} defaultScreenWidth: 1024 defaultScreenHeight: 768 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 - m_RenderingPath: 1 - m_MobileRenderingPath: 1 + m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 m_MTRendering: 1 m_MobileMTRendering: 0 - m_Stereoscopic3D: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 + tizenShowActivityIndicatorOnLoading: -1 iosAppInBackgroundBehavior: 0 displayResolutionDialog: 1 iosAllowHTTPDownload: 1 @@ -41,7 +68,7 @@ PlayerSettings: defaultIsNativeResolution: 1 runInBackground: 1 captureSingleScreen: 0 - Override IPod Music: 0 + muteOtherAudioSources: 0 Prepare IOS For Recording: 0 submitAnalytics: 1 usePlayerLog: 1 @@ -49,7 +76,9 @@ PlayerSettings: forceSingleInstance: 0 resizableWindow: 0 useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games gpuSkinning: 0 + graphicsJobs: 0 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 @@ -57,6 +86,7 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 0 allowFullscreenSwitch: 1 + graphicsJobMode: 0 macFullscreenMode: 2 d3d9FullscreenMode: 1 d3d11FullscreenMode: 1 @@ -64,15 +94,13 @@ PlayerSettings: xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 xboxEnablePIXSampling: 0 - xboxEnableEnableRenderThreadRunsJobs: 0 n3dsDisableStereoscopicView: 0 n3dsEnableSharedListOpt: 1 n3dsEnableVSync: 0 - uiUse16BitDepthBuffer: 0 ignoreAlphaClear: 0 xboxOneResolution: 0 xboxOneMonoLoggingLevel: 0 - ps3SplashScreen: {fileID: 0} + xboxOneLoggingLevel: 1 videoMemoryForVertexBuffers: 0 psp2PowerMode: 0 psp2AcquireBGM: 1 @@ -91,36 +119,53 @@ PlayerSettings: 16:10: 1 16:9: 1 Others: 1 - bundleIdentifier: com.Company.ProductName bundleVersion: 1.0 preloadedAssets: [] - metroEnableIndependentInputSource: 0 - metroEnableLowLatencyPresentationAPI: 0 + metroInputSource: 0 + m_HolographicPauseOnTrackingLoss: 1 xboxOneDisableKinectGpuReservation: 0 - virtualRealitySupported: 0 - productGUID: d1fbc6bd3a3f2df418cc5c74efc952d3 + xboxOneEnable7thCore: 0 + vrSettings: + cardboard: + depthFormat: 0 + enableTransitionView: 0 + daydream: + depthFormat: 0 + useSustainedPerformanceMode: 0 + hololens: + depthFormat: 1 + protectGraphicsMemory: 0 + useHDRDisplay: 0 + applicationIdentifier: + Android: com.Company.ProductName + Standalone: unity.Valentin Simonov.TouchScript Asset Store + Tizen: com.Company.ProductName + iOS: com.Company.ProductName + tvOS: com.Company.ProductName + buildNumber: + iOS: 0 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 9 + AndroidMinSdkVersion: 16 + AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 1 aotOptions: - apiCompatibilityLevel: 2 stripEngineCode: 1 iPhoneStrippingLevel: 0 iPhoneScriptCallOptimization: 0 - iPhoneBuildNumber: 0 ForceInternetPermission: 0 ForceSDCardPermission: 0 CreateWallpaper: 0 APKExpansionFiles: 0 - preloadShaders: 0 + keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 0 VertexChannelCompressionMask: serializedVersion: 2 m_Bits: 238 iPhoneSdkVersion: 988 - iPhoneTargetOSVersion: 22 + iOSTargetOSVersionString: 6.0 tvOSSdkVersion: 0 - tvOSTargetOSVersion: 900 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 9.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 @@ -141,6 +186,7 @@ PlayerSettings: tvOSSmallIconLayers: [] tvOSLargeIconLayers: [] tvOSTopShelfImageLayers: [] + tvOSTopShelfImageWideLayers: [] iOSLaunchScreenType: 0 iOSLaunchScreenPortrait: {fileID: 0} iOSLaunchScreenLandscape: {fileID: 0} @@ -159,6 +205,16 @@ PlayerSettings: iOSLaunchScreeniPadSize: 100 iOSLaunchScreeniPadCustomXibPath: iOSDeviceRequirements: [] + iOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 0 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 1 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + appleEnableAutomaticSigning: 0 AndroidTargetDevice: 0 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} @@ -188,6 +244,9 @@ PlayerSettings: - m_BuildTarget: AndroidPlayer m_APIs: 08000000 m_Automatic: 0 + m_BuildTargetVRSettings: [] + openGLRequireES31: 0 + openGLRequireES31AEP: 0 webPlayerTemplate: APPLICATION:Default m_TemplateCustomTags: {} wiiUTitleID: 0005000011000000 @@ -208,39 +267,124 @@ PlayerSettings: wiiUGamePadStartupScreen: {fileID: 0} wiiUDrcBufferDisabled: 0 wiiUProfilerLibPath: + playModeTestRunnerEnabled: 0 actionOnDotNetUnhandledException: 1 enableInternalProfiler: 0 logObjCUncaughtExceptions: 1 enableCrashReportAPI: 0 + cameraUsageDescription: locationUsageDescription: - XboxTitleId: - XboxImageXexPath: - XboxSpaPath: - XboxGenerateSpa: 0 - XboxDeployKinectResources: 0 - XboxSplashScreen: {fileID: 0} - xboxEnableSpeech: 0 - xboxAdditionalTitleMemorySize: 0 - xboxDeployKinectHeadOrientation: 0 - xboxDeployKinectHeadPosition: 0 - ps3TitleConfigPath: - ps3DLCConfigPath: - ps3ThumbnailPath: - ps3BackgroundPath: - ps3SoundPath: - ps3NPAgeRating: 12 - ps3TrophyCommId: - ps3NpCommunicationPassphrase: - ps3TrophyPackagePath: - ps3BootCheckMaxSaveGameSizeKB: 128 - ps3TrophyCommSig: - ps3SaveGameSlots: 1 - ps3TrialMode: 0 - ps3VideoMemoryForAudio: 0 - ps3EnableVerboseMemoryStats: 0 - ps3UseSPUForUmbra: 0 - ps3EnableMoveSupport: 1 - ps3DisableDolbyEncoding: 0 + microphoneUsageDescription: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + 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} + 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} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchTouchScreenUsage: 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 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchDataLossConfirmation: 0 + switchSupportedNpadStyles: 3 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: @@ -252,7 +396,9 @@ PlayerSettings: ps4AppType: 0 ps4ParamSfxPath: ps4VideoOutPixelFormat: 0 - ps4VideoOutResolution: 4 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 120 ps4PronunciationXMLPath: ps4PronunciationSIGPath: ps4BackgroundImagePath: @@ -274,6 +420,7 @@ PlayerSettings: ps4ApplicationParam4: 0 ps4DownloadDataSize: 0 ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 ps4Passcode: 5xr84P2R391UXaLHbavJvFZGfO47XWS2 ps4UseDebugIl2cppLibs: 0 ps4pnSessions: 1 @@ -281,20 +428,27 @@ PlayerSettings: ps4pnFriends: 1 ps4pnGameCustomData: 1 playerPrefsSupport: 0 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 ps4ReprojectionSupport: 0 ps4UseAudio3dBackend: 0 ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 3 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 + ps4attribEyeToEyeDistanceSettingVR: 0 ps4IncludedModules: [] monoEnv: psp2Splashimage: {fileID: 0} @@ -345,8 +499,35 @@ PlayerSettings: psp2InfoBarColor: 0 psp2UseDebugIl2cppLibs: 0 psmSplashimage: {fileID: 0} + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} spritePackerPolicy: + webGLMemorySize: 256 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 0 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLUseWasm: 0 + webGLCompressionFormat: 1 scriptingDefineSymbols: {} + platformArchitecture: + iOS: 2 + scriptingBackend: + Android: 0 + Standalone: 0 + WebGL: 1 + iOS: 1 + incrementalIl2cppBuild: + iOS: 0 + additionalIl2CppArgs: + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 metroPackageName: _Packages metroPackageVersion: metroCertificatePath: @@ -372,29 +553,14 @@ PlayerSettings: metroFTAFileTypes: [] metroProtocolName: metroCompilationOverrides: 1 - blackberryDeviceAddress: - blackberryDevicePassword: - blackberryTokenPath: - blackberryTokenExires: - blackberryTokenAuthor: - blackberryTokenAuthorId: - blackberryCskPassword: - blackberrySaveLogPath: - blackberrySharedPermissions: 0 - blackberryCameraPermissions: 0 - blackberryGPSPermissions: 0 - blackberryDeviceIDPermissions: 0 - blackberryMicrophonePermissions: 0 - blackberryGamepadSupport: 0 - blackberryBuildId: 0 - blackberryLandscapeSplashScreen: {fileID: 0} - blackberryPortraitSplashScreen: {fileID: 0} - blackberrySquareSplashScreen: {fileID: 0} tizenProductDescription: tizenProductURL: tizenSigningProfileName: tizenGPSPermissions: 0 tizenMicrophonePermissions: 0 + tizenDeploymentTarget: + tizenDeploymentTargetType: -1 + tizenMinOSVersion: 1 n3dsUseExtSaveData: 0 n3dsCompressStaticMem: 1 n3dsExtSaveDataNumber: 0x12345 @@ -424,46 +590,26 @@ PlayerSettings: XboxOnePackageEncryption: 0 XboxOnePackageUpdateGranularity: 2 XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} XboxOneIsContentPackage: 0 XboxOneEnableGPUVariability: 0 XboxOneSockets: {} XboxOneSplashScreen: {fileID: 0} XboxOneAllowedProductIds: [] XboxOnePersistentLocalStorageSize: 0 - intPropertyNames: - - Android::ScriptingBackend - - Standalone::ScriptingBackend - - WebGL::ScriptingBackend - - WebGL::audioCompressionFormat - - WebGL::exceptionSupport - - WebGL::memorySize - - iOS::Architecture - - iOS::EnableIncrementalBuildSupportForIl2cpp - - iOS::ScriptingBackend - Android::ScriptingBackend: 0 - Standalone::ScriptingBackend: 0 - WebGL::ScriptingBackend: 1 - WebGL::audioCompressionFormat: 4 - WebGL::exceptionSupport: 1 - WebGL::memorySize: 256 - iOS::Architecture: 2 - iOS::EnableIncrementalBuildSupportForIl2cpp: 0 - iOS::ScriptingBackend: 1 - boolPropertyNames: - - WebGL::analyzeBuildSize - - WebGL::dataCaching - - WebGL::useEmbeddedResources - WebGL::analyzeBuildSize: 0 - WebGL::dataCaching: 0 - WebGL::useEmbeddedResources: 0 - stringPropertyNames: - - WebGL::emscriptenArgs - - WebGL::template - - additionalIl2CppArgs::additionalIl2CppArgs - WebGL::emscriptenArgs: - WebGL::template: APPLICATION:Default - additionalIl2CppArgs::additionalIl2CppArgs: + xboxOneScriptCompiler: 0 + vrEditorSettings: + daydream: + daydreamIconForeground: {fileID: 0} + daydreamIconBackground: {fileID: 0} + cloudServicesEnabled: {} + facebookSdkVersion: 7.9.1 + apiCompatibilityLevel: 2 cloudProjectId: projectName: organizationId: cloudEnabled: 0 + enableNewInputSystem: 0 diff --git a/AssetStore/ProjectSettings/ProjectVersion.txt b/AssetStore/ProjectSettings/ProjectVersion.txt index d4ad3ce51..cbfba31f0 100644 --- a/AssetStore/ProjectSettings/ProjectVersion.txt +++ b/AssetStore/ProjectSettings/ProjectVersion.txt @@ -1,2 +1 @@ -m_EditorVersion: 5.3.6f1 -m_StandardAssetsVersion: 0 +m_EditorVersion: 5.6.2p4 diff --git a/AssetStore/ProjectSettings/UnityAdsSettings.asset b/AssetStore/ProjectSettings/UnityAdsSettings.asset deleted file mode 100644 index 224050ce8..000000000 --- a/AssetStore/ProjectSettings/UnityAdsSettings.asset +++ /dev/null @@ -1,11 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!292 &1 -UnityAdsSettings: - m_ObjectHideFlags: 0 - m_Enabled: 0 - m_InitializeOnStartup: 1 - m_TestMode: 0 - m_EnabledPlatforms: 4294967295 - m_IosGameId: - m_AndroidGameId: diff --git a/AssetStore/ProjectSettings/UnityConnectSettings.asset b/AssetStore/ProjectSettings/UnityConnectSettings.asset index 9b7a57834..1cb99bba0 100644 Binary files a/AssetStore/ProjectSettings/UnityConnectSettings.asset and b/AssetStore/ProjectSettings/UnityConnectSettings.asset differ diff --git a/README.md b/README.md index 8ef8b21f2..5a13dc27b 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,63 @@ ![](https://raw.github.com/wiki/TouchScript/TouchScript/images/dvfu.jpg) -## TouchScript — multitouch library for Unity - -**TouchScript** is a multitouch library for Unity. Inspired by iOS, **TouchScript** makes handling complex gesture interactions on any touch surface much easier. - -> Warning! [Please read before upgrading](https://github.com/TouchScript/TouchScript/wiki/Upgrading). -> Please ask all questions on [the Forum](http://touchprefab.com/index.php). - -## Features -- **Supports many touch input methods starting from smartphones to giant touch surfaces: Windows 7/8 touch, mobile (iOS, Android, Windows Store/Windows Phone), TUIO, mouse.** -- **Abstracts touch and gesture logic from input methods and platforms. Your touch-related code will be the same everywhere.** -- **Manages simultaneous gesture recognition within scene hierarchy.** -- **Is infinitely extensible. You can add custom input methods, gestures and hit test logic in a matter of minutes.** -- Comes with many commonly used gestures. -- Supports all available platforms. -- Doesn't require Unity Pro. -- Highly efficient and optimized. -- Has very easy and intuitive API. -- Uses events in C# and SendMessage in UnityScript. -- Has PlayMaker actions. -- Takes into account DPI differences between a large touch surface and an iPad. -- Comes with many examples, is heavily documented with step-by-step tutorials. -- Groups touch points into clusters on big touch surfaces. -- Easy to test multitouch gestures without actual multitouch device using built-in second touch simulator (activated with ALT+CLICK), [TUIOPad on iOS](https://itunes.apple.com/us/app/tuiopad/id412446962) or [TUIODroid on Android](https://play.google.com/store/apps/details?id=tuioDroid.impl&hl=en"). [Read more](Testing-multitouch-on-a-PC). -- **It's free and open-source. Licensed under MIT license.** - -Developed by Valentin Simonov at [Interactive Lab](http://interactivelab.ru). - -## Documentation -Please refer to [Wiki](https://github.com/TouchScript/TouchScript/wiki) for up-to-date documentation and tutorials. -If you have questions please read the [FAQ](https://github.com/TouchScript/TouchScript/wiki/FAQ) first. After that search [the Forum](http://touchprefab.com/index.php). -If you are sure that you found a bug post an [issue](https://github.com/TouchScript/TouchScript/issues). -API documentation is available [here](http://touchscript.github.io/docs/index.html). - -## Consulting and contract work -If you require custom functionality for your project or consulting services please contact me at **v@lent.in**. +## TouchScript — multi-touch library for Unity + +When working on a project for mobile devices or PCs with touch input you will soon require basic gestures like tap, pan, pinch and zoom — they are not hard to implement manually using Unity API or using a package from Asset Store. The hard part is to make these gestures work together, e.g. to have a button with a tap gesture placed on a zoomable window. This is where you will need **TouchScript** — it makes handling complex gesture interactions on any touch surface an effortless job. + +## Why TouchScript? +- TouchScript abstracts touch and gesture logic from input methods and platforms. Your touch-related code will be the same everywhere. +- TouchScript supports many touch input methods starting from smartphones to giant touch surfaces: mouse, Windows 7/8 touch, mobile (iOS, Android, Windows Store/Windows Phone), TUIO. +- TouchScript includes common gesture implementations: press, release, tap, long press, flick, pinch/scale/rotate. +- TouchScript allows you to write your own gestures and custom pointer input logic. +- TouchScript manages gestures in transform hierarchy and makes sure that the most relevant gesture will receive touch input. +- TouchScript comes with many examples and is extensively documented. +- TouchScript makes it easy to test multi-touch gestures without an actual multi-touch device using built-in second touch simulator (activated with Alt + click), [TUIOPad on iOS](https://itunes.apple.com/us/app/tuiopad/id412446962) or [TUIODroid on Android](https://play.google.com/store/apps/details?id=tuioDroid.impl&hl=en"). [Read more](Testing-multitouch-on-a-PC). +- It's free and open-source. Licensed under MIT license. + +Developed by Valentin Simonov. + +## Getting started +### Downloading the package +To use **TouchScript** in your project you either need to +* download the [latest release from Github](https://github.com/TouchScript/TouchScript/releases), +* or get it from [Asset Store](https://www.assetstore.unity3d.com/en/#!/content/7394), +* or clone the [repository](https://github.com/TouchScript/TouchScript) and use the source ([more info on how to do it](https://github.com/TouchScript/TouchScript/wiki/How-to-Contribute)). + +### Your first TouchScript project +To test how TouchScript works, create an empty scene and drag two prefabs from `TouchScript/Prefabs` folder to the scene: `TouchManager` and `Cursors`. Press Play and click or touch (if your PC supports touch input) the Game View — you will see colored circles, pointer cursors. + +> Note: to simulate a second pointer you can hold Alt and click anywhere within the Game View. + +You can make any GameObject react to touch input — just attach one of the scripts called Gestures to it. TouchScript ships with a few built-in Gestures which you can find in `Component/TouchScript/Gestures` menu. It is also possible to write your own gestures. + +To test how built-in Gestures work, create an empty cube in the scene and attach a `TransformGesture` to it either from `Component` menu or `Add Component` button. Make the cube large enough to be able to touch it with two fingers. Attach another component called `Transformer` to the cube — this component listens to events from `TransformGesture` and applies translation, rotation and scaling to the GameObject. + +Press Play. Note how you can drag the object with one touch and scale or rotate it with two touches. Don't forget that you can use Alt + click to simulate a second pointer ([read more more about testing multi-touch gestures](https://github.com/TouchScript/TouchScript/wiki/Testing-multitouch-on-a-PC)). + +### Examples +TouchScript comes with many examples in `TouchScript/Examples` folder. Open `Examples.unity` scene and read description for every example to find out what it is about. + +[All examples are explaned here.](https://github.com/TouchScript/TouchScript/wiki/Examples) + +### What to read next +- [How to receive a pointer.](https://github.com/TouchScript/TouchScript/wiki/Pointer-Input) +- [What is a Gesture and how to work with it.](https://github.com/TouchScript/TouchScript/wiki/Gestures) +- [What is an Input Source and why it is needed.](https://github.com/TouchScript/TouchScript/wiki/Input-Sources) +- [What is a Layer and why it is needed.](https://github.com/TouchScript/TouchScript/wiki/Layers) +- [Some info on how TouchScript works internally.](https://github.com/TouchScript/TouchScript/wiki/Main-Ideas-Behind-TouchScript) +- [How to affect which objects can be touched.](https://github.com/TouchScript/TouchScript/wiki/Modifying-Hits) +- [How to change touch coordinates from an input device.](https://github.com/TouchScript/TouchScript/wiki/Remapping-Coordinates-From-an-Input-Source) +- [How to write a custom Gesture.](https://github.com/TouchScript/TouchScript/wiki/Tutorial.-Writing-a-Custom-Gesture.) +- [How you can help.](https://github.com/TouchScript/TouchScript/wiki/How-to-Contribute) + +## Need help? +> If you have a problem using TouchScript or running examples please check the [FAQ](FAQ) before submitting issues. + + - [FAQ](FAQ) +_Some of the questions have been already asked multiple times. Check if yours is in the list._ + - [Documentation](http://touchscript.github.io/docs/) +_Complete up-to-date generated docs with all public API annotated._ + - [Official Forum](http://touchprefab.com/index.php) +_Want to ask a question about TouchScript? Use the official Forum._ + - [Issues](https://github.com/TouchScript/TouchScript/issues) +_Found a bug? Got a feature request? Feel free to post it in Issues._ diff --git a/Source/Assets/TouchScript/Editor/Behaviors/Cursors/CursorManagerEditor.cs b/Source/Assets/TouchScript/Editor/Behaviors/Cursors/CursorManagerEditor.cs index 15538d63c..9e1a4a1e0 100644 --- a/Source/Assets/TouchScript/Editor/Behaviors/Cursors/CursorManagerEditor.cs +++ b/Source/Assets/TouchScript/Editor/Behaviors/Cursors/CursorManagerEditor.cs @@ -9,19 +9,17 @@ namespace TouchScript.Editor.Behaviors.Visualizer { - [CustomEditor(typeof(CursorManager))] - internal sealed class CursorManagerEditor : UnityEditor.Editor + internal sealed class CursorManagerEditor : UnityEditor.Editor { - - public static readonly GUIContent TEXT_DPI_HEADER = new GUIContent("Use DPI", "Scale touch pointer based on DPI."); - public static readonly GUIContent TEXT_CURSORS_HEADER = new GUIContent("Cursors", "Cursor prefabs used for different pointer types."); - public static readonly GUIContent TEXT_POINTER_SIZE = new GUIContent("Pointer size (cm)", "Pointer size in cm based on current DPI."); + public static readonly GUIContent TEXT_DPI_HEADER = new GUIContent("Use DPI", "Scale touch pointer based on DPI."); + public static readonly GUIContent TEXT_CURSORS_HEADER = new GUIContent("Cursors", "Cursor prefabs used for different pointer types."); + public static readonly GUIContent TEXT_POINTER_SIZE = new GUIContent("Pointer size (cm)", "Pointer size in cm based on current DPI."); public static readonly GUIContent TEXT_POINTER_PIXEL_SIZE = new GUIContent("Pointer size (px)", "Pointer size in pixels."); private SerializedProperty mousePointerProxy, touchPointerProxy, penPointerProxy, objectPointerProxy; private SerializedProperty useDPI, cursorSize, cursorPixelSize; - private SerializedProperty cursorsProps; + private SerializedProperty cursorsProps; private void OnEnable() { @@ -41,7 +39,7 @@ public override void OnInspectorGUI() { serializedObject.Update(); - GUILayout.Space(5); + GUILayout.Space(5); EditorGUILayout.PropertyField(useDPI, TEXT_DPI_HEADER); if (useDPI.boolValue) @@ -54,17 +52,17 @@ public override void OnInspectorGUI() } var display = GUIElements.Header(TEXT_CURSORS_HEADER, cursorsProps); - if (display) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(mousePointerProxy, new GUIContent("Mouse Pointer Proxy")); + if (display) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(mousePointerProxy, new GUIContent("Mouse Pointer Proxy")); EditorGUILayout.PropertyField(touchPointerProxy, new GUIContent("Touch Pointer Proxy")); EditorGUILayout.PropertyField(penPointerProxy, new GUIContent("Pen Pointer Proxy")); EditorGUILayout.PropertyField(objectPointerProxy, new GUIContent("Object Pointer Proxy")); EditorGUI.indentLevel--; - } + } serializedObject.ApplyModifiedProperties(); } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Behaviors/TransformerEditor.cs b/Source/Assets/TouchScript/Editor/Behaviors/TransformerEditor.cs index b7151ab8e..9ab5068d0 100644 --- a/Source/Assets/TouchScript/Editor/Behaviors/TransformerEditor.cs +++ b/Source/Assets/TouchScript/Editor/Behaviors/TransformerEditor.cs @@ -13,20 +13,20 @@ namespace TouchScript.Editor.Behaviors [CustomEditor(typeof(Transformer), true)] internal class TransformerEditor : UnityEditor.Editor { - public static readonly GUIContent TEXT_SMOOTHING_HEADER = new GUIContent("Smoothing", "Applies smoothing to transform actions. This allows to reduce jagged movements but adds some visual lag."); - public static readonly GUIContent TEXT_SMOOTHING_FACTOR = new GUIContent("Factor", "Indicates how much smoothing to apply. 0 - no smoothing, 100000 - maximum."); - public static readonly GUIContent TEXT_POSITION_THRESHOLD = new GUIContent("Position Threshold", "Minimum distance between target position and smoothed position when to stop automatic movement."); - public static readonly GUIContent TEXT_ROTATION_THRESHOLD = new GUIContent("Rotation Threshold", "Minimum angle between target rotation and smoothed rotation when to stop automatic movement."); - public static readonly GUIContent TEXT_SCALE_THRESHOLD = new GUIContent("Scale Threshold", "Minimum difference between target scale and smoothed scale when to stop automatic movement."); - public static readonly GUIContent TEXT_ALLOW_CHANGING = new GUIContent("Allow Changing From Outside", "Indicates if this transform can be changed from another script."); - public static readonly GUIContent TEXT_SMOOTHING_FACTOR_DESC = new GUIContent("Indicates how much smoothing to apply. \n0 - no smoothing, 100000 - maximum."); + public static readonly GUIContent TEXT_SMOOTHING_HEADER = new GUIContent("Smoothing", "Applies smoothing to transform actions. This allows to reduce jagged movements but adds some visual lag."); + public static readonly GUIContent TEXT_SMOOTHING_FACTOR = new GUIContent("Factor", "Indicates how much smoothing to apply. 0 - no smoothing, 100000 - maximum."); + public static readonly GUIContent TEXT_POSITION_THRESHOLD = new GUIContent("Position Threshold", "Minimum distance between target position and smoothed position when to stop automatic movement."); + public static readonly GUIContent TEXT_ROTATION_THRESHOLD = new GUIContent("Rotation Threshold", "Minimum angle between target rotation and smoothed rotation when to stop automatic movement."); + public static readonly GUIContent TEXT_SCALE_THRESHOLD = new GUIContent("Scale Threshold", "Minimum difference between target scale and smoothed scale when to stop automatic movement."); + public static readonly GUIContent TEXT_ALLOW_CHANGING = new GUIContent("Allow Changing From Outside", "Indicates if this transform can be changed from another script."); + public static readonly GUIContent TEXT_SMOOTHING_FACTOR_DESC = new GUIContent("Indicates how much smoothing to apply. \n0 - no smoothing, 100000 - maximum."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component receives transform data from Transform Gestures and applies changes to the GameObject."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component receives transform data from Transform Gestures and applies changes to the GameObject."); - private Transformer instance; + private Transformer instance; private SerializedProperty enableSmoothing, allowChangingFromOutside; - private PropertyInfo enableSmoothing_prop; + private PropertyInfo enableSmoothing_prop; protected virtual void OnEnable() { @@ -35,39 +35,38 @@ protected virtual void OnEnable() instance = target as Transformer; - var type = instance.GetType(); - enableSmoothing_prop = type.GetProperty("EnableSmoothing", BindingFlags.Instance | BindingFlags.Public); + var type = instance.GetType(); + enableSmoothing_prop = type.GetProperty("EnableSmoothing", BindingFlags.Instance | BindingFlags.Public); } public override void OnInspectorGUI() { #if UNITY_5_6_OR_NEWER - serializedObject.UpdateIfRequiredOrScript(); + serializedObject.UpdateIfRequiredOrScript(); #else serializedObject.UpdateIfDirtyOrScript(); #endif - GUILayout.Space(5); + GUILayout.Space(5); - var display = GUIElements.Header(TEXT_SMOOTHING_HEADER, enableSmoothing, enableSmoothing, enableSmoothing_prop); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!enableSmoothing.boolValue)) - { - instance.SmoothingFactor = EditorGUILayout.FloatField(TEXT_SMOOTHING_FACTOR, instance.SmoothingFactor); - EditorGUILayout.LabelField(TEXT_SMOOTHING_FACTOR_DESC, GUIElements.HelpBox); - instance.PositionThreshold = EditorGUILayout.FloatField(TEXT_POSITION_THRESHOLD, instance.PositionThreshold); - instance.RotationThreshold = EditorGUILayout.FloatField(TEXT_ROTATION_THRESHOLD, instance.RotationThreshold); - instance.ScaleThreshold = EditorGUILayout.FloatField(TEXT_SCALE_THRESHOLD, instance.ScaleThreshold); - EditorGUILayout.PropertyField(allowChangingFromOutside, TEXT_ALLOW_CHANGING); - } - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_SMOOTHING_HEADER, enableSmoothing, enableSmoothing, enableSmoothing_prop); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(!enableSmoothing.boolValue)) + { + instance.SmoothingFactor = EditorGUILayout.FloatField(TEXT_SMOOTHING_FACTOR, instance.SmoothingFactor); + EditorGUILayout.LabelField(TEXT_SMOOTHING_FACTOR_DESC, GUIElements.HelpBox); + instance.PositionThreshold = EditorGUILayout.FloatField(TEXT_POSITION_THRESHOLD, instance.PositionThreshold); + instance.RotationThreshold = EditorGUILayout.FloatField(TEXT_ROTATION_THRESHOLD, instance.RotationThreshold); + instance.ScaleThreshold = EditorGUILayout.FloatField(TEXT_SCALE_THRESHOLD, instance.ScaleThreshold); + EditorGUILayout.PropertyField(allowChangingFromOutside, TEXT_ALLOW_CHANGING); + } + EditorGUI.indentLevel--; + } EditorGUILayout.LabelField(TEXT_HELP, GUIElements.HelpBox); serializedObject.ApplyModifiedProperties(); } - } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/EditorResources.cs b/Source/Assets/TouchScript/Editor/EditorResources.cs index 2a455d37a..41f15a5a0 100644 --- a/Source/Assets/TouchScript/Editor/EditorResources.cs +++ b/Source/Assets/TouchScript/Editor/EditorResources.cs @@ -61,4 +61,4 @@ static bool searchForEditorResourcesPath(out string path) return true; } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/EditorUI/GUIElements.cs b/Source/Assets/TouchScript/Editor/EditorUI/GUIElements.cs index 02f40ce2d..0fdeaab5b 100644 --- a/Source/Assets/TouchScript/Editor/EditorUI/GUIElements.cs +++ b/Source/Assets/TouchScript/Editor/EditorUI/GUIElements.cs @@ -10,119 +10,119 @@ namespace TouchScript.Editor.EditorUI { internal static class GUIElements { - public static GUIStyle Box; - public static GUIStyle BoxLabel; + public static GUIStyle Box; + public static GUIStyle BoxLabel; - public static GUIStyle HelpBox; + public static GUIStyle HelpBox; public static GUIStyle HeaderBox; - public static GUIStyle HeaderCheckbox; - public static GUIStyle HeaderFoldout; + public static GUIStyle HeaderCheckbox; + public static GUIStyle HeaderFoldout; public static GUIStyle SmallText; - public static GUIStyle SmallTextRight; + public static GUIStyle SmallTextRight; public static GUIStyle SmallButton; - public static Texture2D PaneOptionsIcon; + public static Texture2D PaneOptionsIcon; static GUIElements() { - Box = new GUIStyle(GUI.skin.box) - { - margin = new RectOffset(0, 0, 1, 0), - padding = new RectOffset(0, 0, 0, 0), - contentOffset = new Vector2(0, 0), - alignment = TextAnchor.MiddleCenter, - }; - Box.normal.textColor = GUI.skin.label.normal.textColor; - - BoxLabel = new GUIStyle(GUI.skin.label) - { - fontSize = 9, - padding = new RectOffset(0, 0, 5, 0), - }; - - HelpBox = new GUIStyle("HelpBox") - { - wordWrap = true, - }; - - HeaderBox = new GUIStyle("ShurikenModuleTitle") - { - font = (new GUIStyle("Label")).font, - border = new RectOffset(15, 7, 4, 4), - fixedHeight = 22, - contentOffset = new Vector2(20f, -2f), - }; - - HeaderCheckbox = new GUIStyle("ShurikenCheckMark"); - HeaderFoldout = new GUIStyle("Foldout"); - - SmallText = new GUIStyle("miniLabel") - { - alignment = TextAnchor.UpperLeft, - }; - - SmallTextRight = new GUIStyle("miniLabel") - { - alignment = TextAnchor.UpperRight, - }; - - SmallButton = new GUIStyle("Button") - { - fontSize = SmallText.fontSize, - fontStyle = SmallText.fontStyle, - font = SmallText.font, - }; - - if (EditorGUIUtility.isProSkin) - PaneOptionsIcon = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/pane options.png"); - else - PaneOptionsIcon = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/LightSkin/Images/pane options.png"); + Box = new GUIStyle(GUI.skin.box) + { + margin = new RectOffset(0, 0, 1, 0), + padding = new RectOffset(0, 0, 0, 0), + contentOffset = new Vector2(0, 0), + alignment = TextAnchor.MiddleCenter, + }; + Box.normal.textColor = GUI.skin.label.normal.textColor; + + BoxLabel = new GUIStyle(GUI.skin.label) + { + fontSize = 9, + padding = new RectOffset(0, 0, 5, 0), + }; + + HelpBox = new GUIStyle("HelpBox") + { + wordWrap = true, + }; + + HeaderBox = new GUIStyle("ShurikenModuleTitle") + { + font = (new GUIStyle("Label")).font, + border = new RectOffset(15, 7, 4, 4), + fixedHeight = 22, + contentOffset = new Vector2(20f, -2f), + }; + + HeaderCheckbox = new GUIStyle("ShurikenCheckMark"); + HeaderFoldout = new GUIStyle("Foldout"); + + SmallText = new GUIStyle("miniLabel") + { + alignment = TextAnchor.UpperLeft, + }; + + SmallTextRight = new GUIStyle("miniLabel") + { + alignment = TextAnchor.UpperRight, + }; + + SmallButton = new GUIStyle("Button") + { + fontSize = SmallText.fontSize, + fontStyle = SmallText.fontStyle, + font = SmallText.font, + }; + + if (EditorGUIUtility.isProSkin) + PaneOptionsIcon = (Texture2D) EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/pane options.png"); + else + PaneOptionsIcon = (Texture2D) EditorGUIUtility.LoadRequired("Builtin Skins/LightSkin/Images/pane options.png"); } - public static bool Header(GUIContent title, SerializedProperty expanded, SerializedProperty enabled = null, PropertyInfo enabledProp = null) - { - var rect = GUILayoutUtility.GetRect(16f, 22f, HeaderBox); - GUI.Box(rect, title, HeaderBox); - - var display = expanded == null || expanded.isExpanded; - - var foldoutRect = new Rect(rect.x + 4f, rect.y + 3f, 13f, 13f); - var e = Event.current; - - if (e.type == EventType.Repaint) - { - if (enabled == null) HeaderFoldout.Draw(foldoutRect, false, false, display, false); - else HeaderCheckbox.Draw(foldoutRect, false, false, enabled.boolValue, false); - } - - if (e.type == EventType.MouseDown) - { - if (enabled != null) - { - const float kOffset = 2f; - foldoutRect.x -= kOffset; - foldoutRect.y -= kOffset; - foldoutRect.width += kOffset * 2f; - foldoutRect.height += kOffset * 2f; - - if (foldoutRect.Contains(e.mousePosition)) - { - enabled.boolValue = !enabled.boolValue; - if (enabledProp != null) enabledProp.SetValue(enabled.serializedObject.targetObject, enabled.boolValue, null); - e.Use(); - return display; - } - } - if (rect.Contains(e.mousePosition)) - { - display = !display; - expanded.isExpanded = !expanded.isExpanded; - e.Use(); - } - } - - return display; - } + public static bool Header(GUIContent title, SerializedProperty expanded, SerializedProperty enabled = null, PropertyInfo enabledProp = null) + { + var rect = GUILayoutUtility.GetRect(16f, 22f, HeaderBox); + GUI.Box(rect, title, HeaderBox); + + var display = expanded == null || expanded.isExpanded; + + var foldoutRect = new Rect(rect.x + 4f, rect.y + 3f, 13f, 13f); + var e = Event.current; + + if (e.type == EventType.Repaint) + { + if (enabled == null) HeaderFoldout.Draw(foldoutRect, false, false, display, false); + else HeaderCheckbox.Draw(foldoutRect, false, false, enabled.boolValue, false); + } + + if (e.type == EventType.MouseDown) + { + if (enabled != null) + { + const float kOffset = 2f; + foldoutRect.x -= kOffset; + foldoutRect.y -= kOffset; + foldoutRect.width += kOffset * 2f; + foldoutRect.height += kOffset * 2f; + + if (foldoutRect.Contains(e.mousePosition)) + { + enabled.boolValue = !enabled.boolValue; + if (enabledProp != null) enabledProp.SetValue(enabled.serializedObject.targetObject, enabled.boolValue, null); + e.Use(); + return display; + } + } + if (rect.Contains(e.mousePosition)) + { + display = !display; + expanded.isExpanded = !expanded.isExpanded; + e.Use(); + } + } + + return display; + } public static bool BasicHelpBox(GUIContent text) { @@ -134,4 +134,4 @@ public static bool BasicHelpBox(GUIContent text) return GUI.Button(rect, "Switch to Advanced", SmallButton); } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/EditorUI/GUIUtils.cs b/Source/Assets/TouchScript/Editor/EditorUI/GUIUtils.cs index 61c1e7ca3..db12ed199 100644 --- a/Source/Assets/TouchScript/Editor/EditorUI/GUIUtils.cs +++ b/Source/Assets/TouchScript/Editor/EditorUI/GUIUtils.cs @@ -6,29 +6,25 @@ namespace TouchScript.Editor.EditorUI { - public static class GUIUtils { + public static Rect GetPaddedRect(int minHeight, int padding, bool expandHeight = false) + { + Rect rect; + if (expandHeight) + rect = GUILayoutUtility.GetRect(padding * 2, minHeight + padding * 2, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); + else + rect = GUILayoutUtility.GetRect(padding * 2, minHeight + padding * 2, GUILayout.ExpandWidth(true)); + ContractRect(ref rect, padding); + return rect; + } - public static Rect GetPaddedRect(int minHeight, int padding, bool expandHeight = false) - { - Rect rect; - if (expandHeight) - rect = GUILayoutUtility.GetRect(padding * 2, minHeight + padding * 2, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); - else - rect = GUILayoutUtility.GetRect(padding * 2, minHeight + padding * 2, GUILayout.ExpandWidth(true)); - ContractRect(ref rect, padding); - return rect; - } - - public static void ContractRect(ref Rect rect, int delta) - { - rect.x += delta; - rect.y += delta; - rect.width -= delta * 2; - rect.height -= delta * 2; - } - - } - + public static void ContractRect(ref Rect rect, int delta) + { + rect.x += delta; + rect.y += delta; + rect.width -= delta * 2; + rect.height -= delta * 2; + } + } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/EditorUI/PagedList.cs b/Source/Assets/TouchScript/Editor/EditorUI/PagedList.cs index cddeae0ca..5ebd45c7b 100644 --- a/Source/Assets/TouchScript/Editor/EditorUI/PagedList.cs +++ b/Source/Assets/TouchScript/Editor/EditorUI/PagedList.cs @@ -8,10 +8,8 @@ namespace TouchScript.Editor.EditorUI { - - public class PagedList - { - + public class PagedList + { private class Styles { public int HeaderHeight = 0; @@ -25,106 +23,100 @@ private class Styles public GUIContent TextPrev = new GUIContent("< Prev"); public GUIContent TextNext = new GUIContent("Next >"); - public int GetIntFieldSize(int value) - { - if (value < 10) return FooterTextWidth + 8; - if (value < 100) return 2 * FooterTextWidth + 8; - if (value < 1000) return 3 * FooterTextWidth + 8; - return 4; - } - } - - public int ItemHeight { get; set; } - public int Count - { - get + public int GetIntFieldSize(int value) { - return count; + if (value < 10) return FooterTextWidth + 8; + if (value < 100) return 2 * FooterTextWidth + 8; + if (value < 1000) return 3 * FooterTextWidth + 8; + return 4; } + } + + public int ItemHeight { get; set; } + + public int Count + { + get { return count; } set { if (count == value) return; count = value; reset(); - } + } } + public int PagesTotal { - get - { - return pagesTotal; - } + get { return pagesTotal; } } + public int SelectedId { - get - { - return selectedId; - } + get { return selectedId; } } private static Styles styles; - private Action onSelectionChange; - private Action drawItem; + private Action onSelectionChange; + private Action drawItem; private int count = 0; // Starts from 1 - private int page = 1; + private int page = 1; private int pagesTotal = 1; private int itemsPerPage = 1; - private int selectedId = -1; - private int oldSelectedId = -1; + private int selectedId = -1; + private int oldSelectedId = -1; - public PagedList(int itemHeight, Action drawItem, Action onSelectionChange) - { + public PagedList(int itemHeight, Action drawItem, Action onSelectionChange) + { if (styles == null) styles = new Styles(); - ItemHeight = itemHeight; - this.onSelectionChange = onSelectionChange; - this.drawItem = drawItem; - } + ItemHeight = itemHeight; + this.onSelectionChange = onSelectionChange; + this.drawItem = drawItem; + } - public int FitHeight(int numberOfItems) - { - return ItemHeight * numberOfItems + styles.FooterHeight + styles.HeaderHeight; - } + public int FitHeight(int numberOfItems) + { + return ItemHeight * numberOfItems + styles.FooterHeight + styles.HeaderHeight; + } - public void Draw(Rect rect) - { - var h = rect.height; - h -= styles.HeaderHeight + styles.FooterHeight; - if (h < 0) return; - rect.y += styles.HeaderHeight; - rect.height = ItemHeight; + public void Draw(Rect rect) + { + var h = rect.height; + h -= styles.HeaderHeight + styles.FooterHeight; + if (h < 0) return; + rect.y += styles.HeaderHeight; + rect.height = ItemHeight; - itemsPerPage = Mathf.FloorToInt(h / 22f); - pagesTotal = Mathf.CeilToInt((float)count / itemsPerPage); + itemsPerPage = Mathf.FloorToInt(h / 22f); + pagesTotal = Mathf.CeilToInt((float) count / itemsPerPage); int start = (Count - 1) - (page - 1) * itemsPerPage; - if (start < 0) return; - - var i = start; - var t = 0; - while (t < itemsPerPage) - { - if (i < 0) draw(-1, rect); - else draw(i, rect); - rect.y += ItemHeight; - i--; - t++; - } + if (start < 0) return; + + var i = start; + var t = 0; + while (t < itemsPerPage) + { + if (i < 0) draw(-1, rect); + else draw(i, rect); + rect.y += ItemHeight; + i--; + t++; + } rect.height = styles.FooterHeight; drawFooter(rect); - if (oldSelectedId != selectedId) - { - oldSelectedId = selectedId; - onSelectionChange(selectedId); - } - } + if (oldSelectedId != selectedId) + { + oldSelectedId = selectedId; + onSelectionChange(selectedId); + } + } private void drawFooter(Rect parentRect) { @@ -146,8 +138,8 @@ private void drawFooter(Rect parentRect) rect.width = 16; GUI.Label(rect, "of"); - rect.x += rect.width + styles.FooterButtonSpace; - rect.width = styles.GetIntFieldSize(page); + rect.x += rect.width + styles.FooterButtonSpace; + rect.width = styles.GetIntFieldSize(page); using (var scope = new EditorGUI.DisabledScope(true)) { @@ -157,29 +149,29 @@ private void drawFooter(Rect parentRect) rect.x += rect.width + styles.FooterButtonSpace; rect.width = styles.FooterButtonWidth; if (GUI.Button(rect, styles.TextNext)) - { + { setPage(page + 1); - } + } } - private void draw(int id, Rect rect) - { - switch (Event.current.type) - { - case EventType.Repaint: - case EventType.Layout: - drawItem(id, rect, selectedId == id); - break; - case EventType.MouseDown: - if (rect.Contains(Event.current.mousePosition)) - { - selectedId = id; + private void draw(int id, Rect rect) + { + switch (Event.current.type) + { + case EventType.Repaint: + case EventType.Layout: + drawItem(id, rect, selectedId == id); + break; + case EventType.MouseDown: + if (rect.Contains(Event.current.mousePosition)) + { + selectedId = id; Event.current.Use(); //GUI.changed = true; - } - break; - } - } + } + break; + } + } private void setPage(int newPage) { @@ -190,10 +182,9 @@ private void setPage(int newPage) private void reset() { - page = 1; - selectedId = -1; - oldSelectedId = -1; + page = 1; + selectedId = -1; + oldSelectedId = -1; } - - } + } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/FlickGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/FlickGestureEditor.cs index d9efa4d78..971c6ba11 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/FlickGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/FlickGestureEditor.cs @@ -11,14 +11,14 @@ namespace TouchScript.Editor.Gestures [CustomEditor(typeof(FlickGesture), true)] internal sealed class FlickGestureEditor : GestureEditor { - public static readonly GUIContent DIRECTION = new GUIContent("Direction", "Flick direction."); - public static readonly GUIContent MOVEMENT_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm pointers must move for the gesture to begin."); - public static readonly GUIContent FLICK_TIME = new GUIContent("Flick Time (sec)", "Time interval in seconds during which pointers must move by for the gesture to be recognized."); - public static readonly GUIContent MIN_DISTANCE = new GUIContent("Minimum Distance (cm)", "Minimum distance in cm pointers must move in seconds for the gesture to be recognized."); + public static readonly GUIContent DIRECTION = new GUIContent("Direction", "Flick direction."); + public static readonly GUIContent MOVEMENT_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm pointers must move for the gesture to begin."); + public static readonly GUIContent FLICK_TIME = new GUIContent("Flick Time (sec)", "Time interval in seconds during which pointers must move by for the gesture to be recognized."); + public static readonly GUIContent MIN_DISTANCE = new GUIContent("Minimum Distance (cm)", "Minimum distance in cm pointers must move in seconds for the gesture to be recognized."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component a fast flick gesture started over the GameObject."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component a fast flick gesture started over the GameObject."); - private SerializedProperty direction; + private SerializedProperty direction; private SerializedProperty flickTime; private SerializedProperty minDistance; private SerializedProperty movementThreshold; @@ -33,10 +33,10 @@ protected override void OnEnable() direction = serializedObject.FindProperty("direction"); } - protected override void drawBasic() - { + protected override void drawBasic() + { EditorGUILayout.PropertyField(direction, DIRECTION); - } + } protected override void drawGeneral() { @@ -47,10 +47,9 @@ protected override void drawGeneral() EditorGUILayout.PropertyField(minDistance, MIN_DISTANCE); } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } - + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/GestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/GestureEditor.cs index 482c35f48..1232e8a97 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/GestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/GestureEditor.cs @@ -16,35 +16,37 @@ namespace TouchScript.Editor.Gestures internal class GestureEditor : UnityEditor.Editor { private const string FRIENDLY_GESTURES_PROP = "friendlyGestures"; - - public static readonly GUIContent TEXT_GENERAL_HEADER = new GUIContent("General settings", "General settings."); - public static readonly GUIContent TEXT_LIMITS_HEADER = new GUIContent("Limits", "Properties that limit the gesture."); - public static readonly GUIContent TEXT_GESTURES_HEADER = new GUIContent("Interaction with other Gestures", "Settings which allow this gesture to interact with other gestures."); - public static readonly GUIContent TEXT_ADVANCED_HEADER = new GUIContent("Advanced", "Advanced properties."); - public static readonly GUIContent TEXT_USE_SEND_MESSAGE_HEADER = new GUIContent("Use SendMessage", "Enables sending events through SendMessage. Warnning: this method is slow!"); - public static readonly GUIContent TEXT_USE_UNITY_EVENTS_HEADER = new GUIContent("Use Unity Events", "Enables sending events through Unity Events."); - - public static readonly GUIContent TEXT_FRIENDLY = new GUIContent("Friendly Gestures", "List of gestures which can work together with this gesture."); - public static readonly GUIContent TEXT_DEBUG_MODE = new GUIContent("Debug", "Turns on gesture debug mode."); - public static readonly GUIContent TEXT_SEND_STATE_CHANGE_MESSAGES = new GUIContent("Send State Change Messages", "If checked, the gesture will send a message for every state change. Gestures usually have their own more specific messages, so you should keep this toggle unchecked unless you really want state change messages."); - public static readonly GUIContent TEXT_SEND_MESSAGE_TARGET = new GUIContent("Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); - public static readonly GUIContent TEXT_SEND_STATE_CHANGE_EVENTS = new GUIContent("Send State Change Events", "If checked, the gesture will send a events for every state change. Gestures usually have their own more specific messages, so you should keep this toggle unchecked unless you really want state change events."); - public static readonly GUIContent TEXT_REQUIRE_GESTURE_TO_FAIL = new GUIContent("Require Other Gesture to Fail", "Another gesture must fail for this gesture to start."); - public static readonly GUIContent TEXT_LIMIT_POINTERS = new GUIContent(" Limit Pointers", ""); - - protected bool shouldDrawAdvanced = false; - protected bool shouldDrawGeneral = true; - - private Gesture instance; + + public static readonly GUIContent TEXT_GENERAL_HEADER = new GUIContent("General settings", "General settings."); + public static readonly GUIContent TEXT_LIMITS_HEADER = new GUIContent("Limits", "Properties that limit the gesture."); + public static readonly GUIContent TEXT_GESTURES_HEADER = new GUIContent("Interaction with other Gestures", "Settings which allow this gesture to interact with other gestures."); + public static readonly GUIContent TEXT_ADVANCED_HEADER = new GUIContent("Advanced", "Advanced properties."); + public static readonly GUIContent TEXT_USE_SEND_MESSAGE_HEADER = new GUIContent("Use SendMessage", "Enables sending events through SendMessage. Warnning: this method is slow!"); + public static readonly GUIContent TEXT_USE_UNITY_EVENTS_HEADER = new GUIContent("Use Unity Events", "Enables sending events through Unity Events."); + + public static readonly GUIContent TEXT_FRIENDLY = new GUIContent("Friendly Gestures", "List of gestures which can work together with this gesture."); + public static readonly GUIContent TEXT_DEBUG_MODE = new GUIContent("Debug", "Turns on gesture debug mode."); + public static readonly GUIContent TEXT_SEND_STATE_CHANGE_MESSAGES = new GUIContent("Send State Change Messages", "If checked, the gesture will send a message for every state change. Gestures usually have their own more specific messages, so you should keep this toggle unchecked unless you really want state change messages."); + public static readonly GUIContent TEXT_SEND_MESSAGE_TARGET = new GUIContent("Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); + public static readonly GUIContent TEXT_SEND_STATE_CHANGE_EVENTS = new GUIContent("Send State Change Events", "If checked, the gesture will send a events for every state change. Gestures usually have their own more specific messages, so you should keep this toggle unchecked unless you really want state change events."); + public static readonly GUIContent TEXT_REQUIRE_GESTURE_TO_FAIL = new GUIContent("Require Other Gesture to Fail", "Another gesture must fail for this gesture to start."); + public static readonly GUIContent TEXT_LIMIT_POINTERS = new GUIContent(" Limit Pointers", ""); + + protected bool shouldDrawAdvanced = false; + protected bool shouldDrawGeneral = true; + + private Gesture instance; private SerializedProperty basicEditor; + private SerializedProperty debugMode, friendlyGestures, requireGestureToFail, - minPointers, maxPointers, - useSendMessage, sendMessageTarget, sendStateChangeMessages, - useUnityEvents, sendStateChangeEvents; - private SerializedProperty OnStateChange; - private SerializedProperty advancedProps, limitsProps, generalProps; - private PropertyInfo useUnityEvents_prop, useSendMessage_prop; + minPointers, maxPointers, + useSendMessage, sendMessageTarget, sendStateChangeMessages, + useUnityEvents, sendStateChangeEvents; + + private SerializedProperty OnStateChange; + private SerializedProperty advancedProps, limitsProps, generalProps; + private PropertyInfo useUnityEvents_prop, useSendMessage_prop; private ReorderableList friendlyGesturesList; private int indexToRemove = -1; @@ -52,11 +54,11 @@ internal class GestureEditor : UnityEditor.Editor protected virtual void OnEnable() { - instance = target as Gesture; + instance = target as Gesture; advancedProps = serializedObject.FindProperty("advancedProps"); - limitsProps = serializedObject.FindProperty("limitsProps"); - generalProps = serializedObject.FindProperty("generalProps"); + limitsProps = serializedObject.FindProperty("limitsProps"); + generalProps = serializedObject.FindProperty("generalProps"); basicEditor = serializedObject.FindProperty("basicEditor"); debugMode = serializedObject.FindProperty("debugMode"); @@ -65,16 +67,16 @@ protected virtual void OnEnable() useSendMessage = serializedObject.FindProperty("useSendMessage"); sendMessageTarget = serializedObject.FindProperty("sendMessageTarget"); sendStateChangeMessages = serializedObject.FindProperty("sendStateChangeMessages"); - useUnityEvents = serializedObject.FindProperty("useUnityEvents"); - sendStateChangeEvents = serializedObject.FindProperty("sendStateChangeEvents"); + useUnityEvents = serializedObject.FindProperty("useUnityEvents"); + sendStateChangeEvents = serializedObject.FindProperty("sendStateChangeEvents"); minPointers = serializedObject.FindProperty("minPointers"); maxPointers = serializedObject.FindProperty("maxPointers"); - OnStateChange = serializedObject.FindProperty("OnStateChange"); + OnStateChange = serializedObject.FindProperty("OnStateChange"); - var type = instance.GetType(); - useUnityEvents_prop = type.GetProperty("UseUnityEvents", BindingFlags.Instance | BindingFlags.Public); - useSendMessage_prop = type.GetProperty("UseSendMessage", BindingFlags.Instance | BindingFlags.Public); + var type = instance.GetType(); + useUnityEvents_prop = type.GetProperty("UseUnityEvents", BindingFlags.Instance | BindingFlags.Public); + useSendMessage_prop = type.GetProperty("UseSendMessage", BindingFlags.Instance | BindingFlags.Public); minPointersFloat = minPointers.intValue; maxPointersFloat = maxPointers.intValue; @@ -100,162 +102,153 @@ protected virtual void OnEnable() public override void OnInspectorGUI() { #if UNITY_5_6_OR_NEWER - serializedObject.UpdateIfRequiredOrScript(); + serializedObject.UpdateIfRequiredOrScript(); #else serializedObject.UpdateIfDirtyOrScript(); #endif - GUILayout.Space(5); - bool display; + GUILayout.Space(5); + bool display; - if (basicEditor.boolValue) - { + if (basicEditor.boolValue) + { drawBasic(); - if (GUIElements.BasicHelpBox(getHelpText())) - { - basicEditor.boolValue = false; - Repaint(); - } - } - else - { - if (shouldDrawGeneral) - { - display = GUIElements.Header(TEXT_GENERAL_HEADER, generalProps); - if (display) - { - EditorGUI.indentLevel++; - drawGeneral(); - EditorGUI.indentLevel--; - } - } - - drawOtherGUI(); - - display = GUIElements.Header(TEXT_LIMITS_HEADER, limitsProps); - if (display) - { - EditorGUI.indentLevel++; - drawLimits(); - EditorGUI.indentLevel--; - } - - display = GUIElements.Header(TEXT_GESTURES_HEADER, friendlyGestures); - if (display) - { - EditorGUI.indentLevel++; - drawFriendlyGestures(); - drawRequireToFail(); - GUILayout.Space(5); - EditorGUI.indentLevel--; - } - - display = GUIElements.Header(TEXT_USE_UNITY_EVENTS_HEADER, useUnityEvents, useUnityEvents, useUnityEvents_prop); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!useUnityEvents.boolValue)) - { - drawUnityEvents(); - } - EditorGUI.indentLevel--; - } - - display = GUIElements.Header(TEXT_USE_SEND_MESSAGE_HEADER, useSendMessage, useSendMessage, useSendMessage_prop); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!useSendMessage.boolValue)) - { - drawSendMessage(); - } - EditorGUI.indentLevel--; - } - - if (shouldDrawAdvanced) - { - display = GUIElements.Header(TEXT_ADVANCED_HEADER, advancedProps); - if (display) - { - EditorGUI.indentLevel++; - drawAdvanced(); - EditorGUI.indentLevel--; - } - } + if (GUIElements.BasicHelpBox(getHelpText())) + { + basicEditor.boolValue = false; + Repaint(); + } + } + else + { + if (shouldDrawGeneral) + { + display = GUIElements.Header(TEXT_GENERAL_HEADER, generalProps); + if (display) + { + EditorGUI.indentLevel++; + drawGeneral(); + EditorGUI.indentLevel--; + } + } + + drawOtherGUI(); + + display = GUIElements.Header(TEXT_LIMITS_HEADER, limitsProps); + if (display) + { + EditorGUI.indentLevel++; + drawLimits(); + EditorGUI.indentLevel--; + } + + display = GUIElements.Header(TEXT_GESTURES_HEADER, friendlyGestures); + if (display) + { + EditorGUI.indentLevel++; + drawFriendlyGestures(); + drawRequireToFail(); + GUILayout.Space(5); + EditorGUI.indentLevel--; + } + + display = GUIElements.Header(TEXT_USE_UNITY_EVENTS_HEADER, useUnityEvents, useUnityEvents, useUnityEvents_prop); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(!useUnityEvents.boolValue)) + { + drawUnityEvents(); + } + EditorGUI.indentLevel--; + } + + display = GUIElements.Header(TEXT_USE_SEND_MESSAGE_HEADER, useSendMessage, useSendMessage, useSendMessage_prop); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(!useSendMessage.boolValue)) + { + drawSendMessage(); + } + EditorGUI.indentLevel--; + } + + if (shouldDrawAdvanced) + { + display = GUIElements.Header(TEXT_ADVANCED_HEADER, advancedProps); + if (display) + { + EditorGUI.indentLevel++; + drawAdvanced(); + EditorGUI.indentLevel--; + } + } drawDebug(); - } + } serializedObject.ApplyModifiedProperties(); } - protected virtual void drawBasic() - { - - } + protected virtual void drawBasic() {} protected virtual GUIContent getHelpText() { return new GUIContent(""); } - protected virtual void drawOtherGUI() - { - - } - - protected virtual void drawGeneral() - { - - } - - protected virtual void drawLimits() - { - var limitPointers = (minPointers.intValue > 0) || (maxPointers.intValue > 0); - var newLimitPointers = EditorGUILayout.ToggleLeft(TEXT_LIMIT_POINTERS, limitPointers); - if (newLimitPointers) - { - if (!limitPointers) - { - minPointersFloat = 0; - maxPointersFloat = 10; - } - else - { - minPointersFloat = (float) minPointers.intValue; - maxPointersFloat = (float) maxPointers.intValue; - } - //or this values doesn't change from script properly - EditorGUI.indentLevel++; - EditorGUILayout.LabelField("Min: " + (int)minPointersFloat + ", Max: " + (int)maxPointersFloat); - EditorGUILayout.MinMaxSlider(ref minPointersFloat, ref maxPointersFloat, 0, 10, GUILayout.MaxWidth(150)); - EditorGUI.indentLevel--; - } - else - { - if (limitPointers) - { - minPointersFloat = 0; - maxPointersFloat = 0; - } - } - - minPointers.intValue = (int)minPointersFloat; - maxPointers.intValue = (int)maxPointersFloat; - } - - protected virtual void drawFriendlyGestures() - { - GUILayout.Space(5); - drawGestureList(friendlyGestures, addFriendlyGesture); - GUILayout.Space(5); - } - - protected virtual void drawUnityEvents() - { - EditorGUILayout.PropertyField(OnStateChange); - EditorGUILayout.PropertyField(sendStateChangeEvents, TEXT_SEND_STATE_CHANGE_EVENTS); - } + protected virtual void drawOtherGUI() {} + + protected virtual void drawGeneral() {} + + protected virtual void drawLimits() + { + var limitPointers = (minPointers.intValue > 0) || (maxPointers.intValue > 0); + var newLimitPointers = EditorGUILayout.ToggleLeft(TEXT_LIMIT_POINTERS, limitPointers); + if (newLimitPointers) + { + if (!limitPointers) + { + minPointersFloat = 0; + maxPointersFloat = 10; + } + else + { + minPointersFloat = (float) minPointers.intValue; + maxPointersFloat = (float) maxPointers.intValue; + } + //or this values doesn't change from script properly + EditorGUI.indentLevel++; + EditorGUILayout.LabelField("Min: " + (int) minPointersFloat + ", Max: " + (int) maxPointersFloat); + EditorGUILayout.MinMaxSlider(ref minPointersFloat, ref maxPointersFloat, 0, 10, GUILayout.MaxWidth(150)); + EditorGUI.indentLevel--; + } + else + { + if (limitPointers) + { + minPointersFloat = 0; + maxPointersFloat = 0; + } + } + + minPointers.intValue = (int) minPointersFloat; + maxPointers.intValue = (int) maxPointersFloat; + } + + protected virtual void drawFriendlyGestures() + { + GUILayout.Space(5); + drawGestureList(friendlyGestures, addFriendlyGesture); + GUILayout.Space(5); + } + + protected virtual void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnStateChange); + EditorGUILayout.PropertyField(sendStateChangeEvents, TEXT_SEND_STATE_CHANGE_EVENTS); + } protected virtual void drawSendMessage() { @@ -263,20 +256,18 @@ protected virtual void drawSendMessage() EditorGUILayout.PropertyField(sendStateChangeMessages, TEXT_SEND_STATE_CHANGE_MESSAGES); } - protected virtual void drawAdvanced() + protected virtual void drawAdvanced() {} + + protected virtual void drawDebug() { + if (debugMode == null) return; + EditorGUILayout.PropertyField(debugMode, TEXT_DEBUG_MODE); } - protected virtual void drawDebug() - { - if (debugMode == null) return; - EditorGUILayout.PropertyField(debugMode, TEXT_DEBUG_MODE); - } - - protected virtual void drawRequireToFail() - { - EditorGUILayout.PropertyField(requireGestureToFail, TEXT_REQUIRE_GESTURE_TO_FAIL); - } + protected virtual void drawRequireToFail() + { + EditorGUILayout.PropertyField(requireGestureToFail, TEXT_REQUIRE_GESTURE_TO_FAIL); + } #region Gesture List @@ -286,11 +277,11 @@ private void drawGestureList(SerializedProperty prop, Action cm."); + public static readonly GUIContent TEXT_TIME_TO_PRESS = new GUIContent("Time to Press (sec)", "Limit maximum number of simultaneous pointers."); + public static readonly GUIContent TEXT_DISTANCE_LIMIT = new GUIContent("Limit Movement (cm)", "Gesture fails if fingers move more than cm."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when this GameObject is being pressed for seconds."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when this GameObject is being pressed for seconds."); - private SerializedProperty distanceLimit, timeToPress; - private SerializedProperty OnLongPress; + private SerializedProperty distanceLimit, timeToPress; + private SerializedProperty OnLongPress; protected override void OnEnable() { timeToPress = serializedObject.FindProperty("timeToPress"); distanceLimit = serializedObject.FindProperty("distanceLimit"); - OnLongPress = serializedObject.FindProperty("OnLongPress"); + OnLongPress = serializedObject.FindProperty("OnLongPress"); - base.OnEnable(); + base.OnEnable(); } - protected override void drawBasic() - { + protected override void drawBasic() + { EditorGUILayout.PropertyField(timeToPress, TEXT_TIME_TO_PRESS); - } + } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } - protected override void drawGeneral () - { - EditorGUILayout.PropertyField(timeToPress, TEXT_TIME_TO_PRESS); + protected override void drawGeneral() + { + EditorGUILayout.PropertyField(timeToPress, TEXT_TIME_TO_PRESS); - base.drawGeneral(); - } + base.drawGeneral(); + } - protected override void drawLimits () - { + protected override void drawLimits() + { EditorGUILayout.PropertyField(distanceLimit, TEXT_DISTANCE_LIMIT); - base.drawLimits(); + base.drawLimits(); } - protected override void drawUnityEvents () - { - EditorGUILayout.PropertyField(OnLongPress); + protected override void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnLongPress); - base.drawUnityEvents (); - } + base.drawUnityEvents(); + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/MetaGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/MetaGestureEditor.cs index c8803f031..1d50c7784 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/MetaGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/MetaGestureEditor.cs @@ -8,21 +8,21 @@ namespace TouchScript.Editor.Gestures { - [CustomEditor(typeof(MetaGesture), true)] - internal sealed class MetaGestureEditor : GestureEditor - { - public static readonly GUIContent TEXT_HELP = new GUIContent("This component serves as a proxy from TouchScript gesture recognition logic to C# events. It catches pointers like a normal event and dispatches events for every event of caught pointers."); + [CustomEditor(typeof(MetaGesture), true)] + internal sealed class MetaGestureEditor : GestureEditor + { + public static readonly GUIContent TEXT_HELP = new GUIContent("This component serves as a proxy from TouchScript gesture recognition logic to C# events. It catches pointers like a normal event and dispatches events for every event of caught pointers."); - protected override void OnEnable() - { - base.OnEnable(); + protected override void OnEnable() + { + base.OnEnable(); shouldDrawGeneral = false; - } + } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } - } -} + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/PressGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/PressGestureEditor.cs index 8d394260a..5c00da861 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/PressGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/PressGestureEditor.cs @@ -11,38 +11,38 @@ namespace TouchScript.Editor.Gestures [CustomEditor(typeof(PressGesture), true)] internal sealed class PressGestureEditor : GestureEditor { - public static readonly GUIContent TEXT_IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores pointers from children."); + public static readonly GUIContent TEXT_IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores pointers from children."); public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when at least one pointer is pressed over this GameObject."); private SerializedProperty ignoreChildren; - private SerializedProperty OnPress; + private SerializedProperty OnPress; protected override void OnEnable() { ignoreChildren = serializedObject.FindProperty("ignoreChildren"); - OnPress = serializedObject.FindProperty("OnPress"); + OnPress = serializedObject.FindProperty("OnPress"); - base.OnEnable(); + base.OnEnable(); } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } - protected override void drawGeneral() + protected override void drawGeneral() { EditorGUILayout.PropertyField(ignoreChildren, TEXT_IGNORE_CHILDREN); - base.drawGeneral(); + base.drawGeneral(); } - protected override void drawUnityEvents () - { - EditorGUILayout.PropertyField(OnPress); + protected override void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnPress); - base.drawUnityEvents(); - } + base.drawUnityEvents(); + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs index ef554a102..ff2b1ec22 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs @@ -11,38 +11,38 @@ namespace TouchScript.Editor.Gestures [CustomEditor(typeof(ReleaseGesture), true)] internal sealed class ReleaseGestureEditor : GestureEditor { - public static readonly GUIContent TEXT_IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores pointers from children."); + public static readonly GUIContent TEXT_IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores pointers from children."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when all pointers are lifted off from this GameObject."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when all pointers are lifted off from this GameObject."); - private SerializedProperty ignoreChildren; - private SerializedProperty OnRelease; + private SerializedProperty ignoreChildren; + private SerializedProperty OnRelease; protected override void OnEnable() { ignoreChildren = serializedObject.FindProperty("ignoreChildren"); - OnRelease = serializedObject.FindProperty("OnRelease"); + OnRelease = serializedObject.FindProperty("OnRelease"); - base.OnEnable(); + base.OnEnable(); } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } - protected override void drawGeneral() + protected override void drawGeneral() { EditorGUILayout.PropertyField(ignoreChildren, TEXT_IGNORE_CHILDREN); - base.drawGeneral(); + base.drawGeneral(); } - protected override void drawUnityEvents () - { - EditorGUILayout.PropertyField(OnRelease); + protected override void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnRelease); - base.drawUnityEvents(); - } + base.drawUnityEvents(); + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TapGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TapGestureEditor.cs index 75c018cda..eacfcc60b 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TapGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TapGestureEditor.cs @@ -11,73 +11,72 @@ namespace TouchScript.Editor.Gestures [CustomEditor(typeof(TapGesture), true)] internal sealed class TapGestureEditor : GestureEditor { - public static readonly GUIContent TEXT_TIME_LIMIT = new GUIContent("Limit Time (sec)", "Gesture fails if in seconds user didn't do the required number of taps."); - public static readonly GUIContent TEXT_DISTANCE_LIMIT = new GUIContent("Limit Movement (cm)", "Gesture fails if taps are made more than cm away from the first pointer position."); - public static readonly GUIContent TEXT_NUMBER_OF_TAPS_REQUIRED = new GUIContent("Number of Taps Required", "Number of taps required for this gesture to be recognized."); - public static readonly GUIContent TEXT_COMBINE_POINTERS = new GUIContent("Combine Pointers", "When several fingers are used to perform a tap, pointers released not earlier than seconds ago are used to calculate gesture's final screen position."); - public static readonly GUIContent TEXT_COMBINE_TOUCH_POINTERS = new GUIContent("Combine Interval (sec)", TEXT_COMBINE_POINTERS.tooltip); + public static readonly GUIContent TEXT_TIME_LIMIT = new GUIContent("Limit Time (sec)", "Gesture fails if in seconds user didn't do the required number of taps."); + public static readonly GUIContent TEXT_DISTANCE_LIMIT = new GUIContent("Limit Movement (cm)", "Gesture fails if taps are made more than cm away from the first pointer position."); + public static readonly GUIContent TEXT_NUMBER_OF_TAPS_REQUIRED = new GUIContent("Number of Taps Required", "Number of taps required for this gesture to be recognized."); + public static readonly GUIContent TEXT_COMBINE_POINTERS = new GUIContent("Combine Pointers", "When several fingers are used to perform a tap, pointers released not earlier than seconds ago are used to calculate gesture's final screen position."); + public static readonly GUIContent TEXT_COMBINE_TOUCH_POINTERS = new GUIContent("Combine Interval (sec)", TEXT_COMBINE_POINTERS.tooltip); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when this GameObject is tapped."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a gesture when this GameObject is tapped."); - private SerializedProperty numberOfTapsRequired, distanceLimit, timeLimit, combinePointers, combinePointersInterval; - private SerializedProperty OnTap; + private SerializedProperty numberOfTapsRequired, distanceLimit, timeLimit, combinePointers, combinePointersInterval; + private SerializedProperty OnTap; protected override void OnEnable() { numberOfTapsRequired = serializedObject.FindProperty("numberOfTapsRequired"); timeLimit = serializedObject.FindProperty("timeLimit"); distanceLimit = serializedObject.FindProperty("distanceLimit"); - combinePointers = serializedObject.FindProperty("combinePointers"); - combinePointersInterval = serializedObject.FindProperty("combinePointersInterval"); + combinePointers = serializedObject.FindProperty("combinePointers"); + combinePointersInterval = serializedObject.FindProperty("combinePointersInterval"); - OnTap = serializedObject.FindProperty("OnTap"); + OnTap = serializedObject.FindProperty("OnTap"); - base.OnEnable(); + base.OnEnable(); } protected override void drawBasic() { - EditorGUIUtility.labelWidth = 180; - EditorGUILayout.IntPopup(numberOfTapsRequired, new[] { new GUIContent("One"), new GUIContent("Two"), new GUIContent("Three") }, new[] { 1, 2, 3 }, TEXT_NUMBER_OF_TAPS_REQUIRED, GUILayout.ExpandWidth(true)); - } + EditorGUIUtility.labelWidth = 180; + EditorGUILayout.IntPopup(numberOfTapsRequired, new[] {new GUIContent("One"), new GUIContent("Two"), new GUIContent("Three")}, new[] {1, 2, 3}, TEXT_NUMBER_OF_TAPS_REQUIRED, GUILayout.ExpandWidth(true)); + } protected override GUIContent getHelpText() { return TEXT_HELP; } - protected override void drawGeneral() - { - EditorGUIUtility.labelWidth = 180; - EditorGUILayout.IntPopup(numberOfTapsRequired, new[] {new GUIContent("One"), new GUIContent("Two"), new GUIContent("Three")}, new[] {1, 2, 3}, TEXT_NUMBER_OF_TAPS_REQUIRED, GUILayout.ExpandWidth(true)); - EditorGUILayout.PropertyField(combinePointers, TEXT_COMBINE_POINTERS); - if (combinePointers.boolValue) - { - EditorGUIUtility.labelWidth = 160; - EditorGUILayout.BeginHorizontal(); - GUILayout.Label(GUIContent.none, GUILayout.Width(10)); - EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); - EditorGUILayout.PropertyField(combinePointersInterval, TEXT_COMBINE_TOUCH_POINTERS); - EditorGUILayout.EndVertical(); - EditorGUILayout.EndHorizontal(); - } - base.drawGeneral (); - } + protected override void drawGeneral() + { + EditorGUIUtility.labelWidth = 180; + EditorGUILayout.IntPopup(numberOfTapsRequired, new[] {new GUIContent("One"), new GUIContent("Two"), new GUIContent("Three")}, new[] {1, 2, 3}, TEXT_NUMBER_OF_TAPS_REQUIRED, GUILayout.ExpandWidth(true)); + EditorGUILayout.PropertyField(combinePointers, TEXT_COMBINE_POINTERS); + if (combinePointers.boolValue) + { + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(GUIContent.none, GUILayout.Width(10)); + EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); + EditorGUILayout.PropertyField(combinePointersInterval, TEXT_COMBINE_TOUCH_POINTERS); + EditorGUILayout.EndVertical(); + EditorGUILayout.EndHorizontal(); + } + base.drawGeneral(); + } - protected override void drawLimits() + protected override void drawLimits() { EditorGUILayout.PropertyField(timeLimit, TEXT_TIME_LIMIT); EditorGUILayout.PropertyField(distanceLimit, TEXT_DISTANCE_LIMIT); - base.drawLimits(); + base.drawLimits(); } - protected override void drawUnityEvents() - { - EditorGUILayout.PropertyField(OnTap); - - base.drawUnityEvents(); - } + protected override void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnTap); + base.drawUnityEvents(); + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/OnePointTransformGestureBaseEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/OnePointTransformGestureBaseEditor.cs index 650b93783..b2016ecfd 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/OnePointTransformGestureBaseEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/OnePointTransformGestureBaseEditor.cs @@ -8,53 +8,51 @@ namespace TouchScript.Editor.Gestures.TransformGestures.Base { - internal class OnePointTransformGestureBaseEditor : TransformGestureBaseEditor + internal class OnePointTransformGestureBaseEditor : TransformGestureBaseEditor { - protected override void drawBasic() { - var typeValue = type.intValue; - int newType = 0; - EditorGUILayout.LabelField(TEXT_TYPE); + var typeValue = type.intValue; + int newType = 0; + EditorGUILayout.LabelField(TEXT_TYPE); - var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); - rect.x += 10; - rect.width = 70; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, - (typeValue & (int)TransformGesture.TransformType.Rotation) != 0)) - newType |= (int)TransformGesture.TransformType.Rotation; - rect.x += rect.width; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, - (typeValue & (int)TransformGesture.TransformType.Scaling) != 0)) - newType |= (int)TransformGesture.TransformType.Scaling; - type.intValue = newType; + var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); + rect.x += 10; + rect.width = 70; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, + (typeValue & (int) TransformGesture.TransformType.Rotation) != 0)) + newType |= (int) TransformGesture.TransformType.Rotation; + rect.x += rect.width; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, + (typeValue & (int) TransformGesture.TransformType.Scaling) != 0)) + newType |= (int) TransformGesture.TransformType.Scaling; + type.intValue = newType; } - protected override void drawGeneral() + protected override void drawGeneral() { var typeValue = type.intValue; int newType = 0; EditorGUILayout.LabelField(TEXT_TYPE); EditorGUI.indentLevel--; - var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); - rect.x += 26; - rect.width = 70; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, - (typeValue & (int)TransformGesture.TransformType.Rotation) != 0)) - newType |= (int)TransformGesture.TransformType.Rotation; - rect.x += rect.width; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, - (typeValue & (int)TransformGesture.TransformType.Scaling) != 0)) - newType |= (int)TransformGesture.TransformType.Scaling; - type.intValue = newType; - EditorGUI.indentLevel++; - - EditorGUIUtility.labelWidth = 160; - EditorGUILayout.PropertyField(screenTransformThreshold, TEXT_SCREEN_TRANSFORM_THRESHOLD); - - base.drawGeneral(); + var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); + rect.x += 26; + rect.width = 70; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, + (typeValue & (int) TransformGesture.TransformType.Rotation) != 0)) + newType |= (int) TransformGesture.TransformType.Rotation; + rect.x += rect.width; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, + (typeValue & (int) TransformGesture.TransformType.Scaling) != 0)) + newType |= (int) TransformGesture.TransformType.Scaling; + type.intValue = newType; + EditorGUI.indentLevel++; + + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.PropertyField(screenTransformThreshold, TEXT_SCREEN_TRANSFORM_THRESHOLD); + + base.drawGeneral(); } - } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TransformGestureBaseEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TransformGestureBaseEditor.cs index e493a1d01..fec57b9a4 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TransformGestureBaseEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TransformGestureBaseEditor.cs @@ -9,134 +9,133 @@ namespace TouchScript.Editor.Gestures.TransformGestures.Base { - internal class TransformGestureBaseEditor : GestureEditor - { - public static readonly GUIContent TEXT_PROJECTION_HEADER = new GUIContent("Projection", "Screen to 3D object projection parameters."); - - - public static readonly GUIContent TEXT_TYPE = new GUIContent("Transform Type", "Specifies what gestures should be detected: Translation, Rotation, Scaling."); - public static readonly GUIContent TEXT_TYPE_TRANSLATION = new GUIContent("Translation", "Dragging with one ore more fingers."); - public static readonly GUIContent TEXT_TYPE_ROTATION = new GUIContent("Rotation", "Rotating with two or more fingers."); - public static readonly GUIContent TEXT_TYPE_SCALING = new GUIContent("Scaling", "Scaling with two or more fingers."); - public static readonly GUIContent TEXT_MIN_SCREEN_POINTS_DISTANCE = new GUIContent("Min Points Distance (cm)", "Minimum distance between two pointers (clusters) in cm to consider this gesture started. Used to prevent fake pointers spawned near real ones on cheap multitouch hardware to mess everything up."); - public static readonly GUIContent TEXT_SCREEN_TRANSFORM_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm pointers must move for the gesture to begin."); - - public static readonly GUIContent TEXT_PROJECTION = new GUIContent("Projection Type", "Method used to project 2d screen positions of pointers into 3d space."); + internal class TransformGestureBaseEditor : GestureEditor + { + public static readonly GUIContent TEXT_PROJECTION_HEADER = new GUIContent("Projection", "Screen to 3D object projection parameters."); + + public static readonly GUIContent TEXT_TYPE = new GUIContent("Transform Type", "Specifies what gestures should be detected: Translation, Rotation, Scaling."); + public static readonly GUIContent TEXT_TYPE_TRANSLATION = new GUIContent("Translation", "Dragging with one ore more fingers."); + public static readonly GUIContent TEXT_TYPE_ROTATION = new GUIContent("Rotation", "Rotating with two or more fingers."); + public static readonly GUIContent TEXT_TYPE_SCALING = new GUIContent("Scaling", "Scaling with two or more fingers."); + public static readonly GUIContent TEXT_MIN_SCREEN_POINTS_DISTANCE = new GUIContent("Min Points Distance (cm)", "Minimum distance between two pointers (clusters) in cm to consider this gesture started. Used to prevent fake pointers spawned near real ones on cheap multitouch hardware to mess everything up."); + public static readonly GUIContent TEXT_SCREEN_TRANSFORM_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm pointers must move for the gesture to begin."); + + public static readonly GUIContent TEXT_PROJECTION = new GUIContent("Projection Type", "Method used to project 2d screen positions of pointers into 3d space."); public static readonly GUIContent TEXT_PROJECTION_LAYER = new GUIContent("Transform plane is parallel to the camera."); public static readonly GUIContent TEXT_PROJECTION_OBJECT = new GUIContent("Transform plane is relative to the object."); public static readonly GUIContent TEXT_PROJECTION_GLOBAL = new GUIContent("Transform plane is relative to the world."); - public static readonly GUIContent TEXT_PROJECTION_NORMAL = new GUIContent("Projection Normal", "Normal of the plane in 3d space where pointers' positions are projected."); + public static readonly GUIContent TEXT_PROJECTION_NORMAL = new GUIContent("Projection Normal", "Normal of the plane in 3d space where pointers' positions are projected."); - protected SerializedProperty type, minScreenPointsDistance, screenTransformThreshold; - protected SerializedProperty OnTransformStart, OnTransform, OnTransformComplete; + protected SerializedProperty type, minScreenPointsDistance, screenTransformThreshold; + protected SerializedProperty OnTransformStart, OnTransform, OnTransformComplete; - public SerializedProperty projection, projectionPlaneNormal; - public SerializedProperty projectionProps; + public SerializedProperty projection, projectionPlaneNormal; + public SerializedProperty projectionProps; - private Texture2D xy, xz, yz, unknown, selector; - private Color selectorColor = new Color(1, 1, 1, .05f); - private Color selectorColorSelected = new Color(1, 1, 1, .9f); + private Texture2D xy, xz, yz, unknown, selector; + private Color selectorColor = new Color(1, 1, 1, .05f); + private Color selectorColorSelected = new Color(1, 1, 1, .9f); protected bool customProjection = false; - protected override void OnEnable() - { - type = serializedObject.FindProperty("type"); - minScreenPointsDistance = serializedObject.FindProperty("minScreenPointsDistance"); - screenTransformThreshold = serializedObject.FindProperty("screenTransformThreshold"); - OnTransformStart = serializedObject.FindProperty("OnTransformStart"); - OnTransform = serializedObject.FindProperty("OnTransform"); - OnTransformComplete = serializedObject.FindProperty("OnTransformComplete"); - - projection = serializedObject.FindProperty("projection"); - projectionPlaneNormal = serializedObject.FindProperty("projectionPlaneNormal"); - projectionProps = serializedObject.FindProperty("projectionProps"); - - xy = EditorResources.Load("Icons/xy.png"); - xz = EditorResources.Load("Icons/xz.png"); - yz = EditorResources.Load("Icons/yz.png"); - unknown = EditorResources.Load("Icons/unknown.png"); - selector = EditorResources.Load("Icons/selector.png"); - - base.OnEnable(); - } - - protected override void drawUnityEvents () - { - EditorGUILayout.PropertyField(OnTransformStart); - EditorGUILayout.PropertyField(OnTransform); - EditorGUILayout.PropertyField(OnTransformComplete); - - base.drawUnityEvents (); - } + protected override void OnEnable() + { + type = serializedObject.FindProperty("type"); + minScreenPointsDistance = serializedObject.FindProperty("minScreenPointsDistance"); + screenTransformThreshold = serializedObject.FindProperty("screenTransformThreshold"); + OnTransformStart = serializedObject.FindProperty("OnTransformStart"); + OnTransform = serializedObject.FindProperty("OnTransform"); + OnTransformComplete = serializedObject.FindProperty("OnTransformComplete"); + + projection = serializedObject.FindProperty("projection"); + projectionPlaneNormal = serializedObject.FindProperty("projectionPlaneNormal"); + projectionProps = serializedObject.FindProperty("projectionProps"); + + xy = EditorResources.Load("Icons/xy.png"); + xz = EditorResources.Load("Icons/xz.png"); + yz = EditorResources.Load("Icons/yz.png"); + unknown = EditorResources.Load("Icons/unknown.png"); + selector = EditorResources.Load("Icons/selector.png"); + + base.OnEnable(); + } + + protected override void drawUnityEvents() + { + EditorGUILayout.PropertyField(OnTransformStart); + EditorGUILayout.PropertyField(OnTransform); + EditorGUILayout.PropertyField(OnTransformComplete); + + base.drawUnityEvents(); + } protected void initCustomProjection() { - var v = projectionPlaneNormal.vector3Value; - customProjection = !(v == Vector3.up || v == Vector3.right || v == Vector3.forward); + var v = projectionPlaneNormal.vector3Value; + customProjection = !(v == Vector3.up || v == Vector3.right || v == Vector3.forward); } protected bool drawProjection(bool custom) { - EditorGUILayout.PropertyField(projection, TEXT_PROJECTION); - switch (projection.enumValueIndex) - { - case (int)TransformGesture.ProjectionType.Layer: + EditorGUILayout.PropertyField(projection, TEXT_PROJECTION); + switch (projection.enumValueIndex) + { + case (int) TransformGesture.ProjectionType.Layer: EditorGUILayout.LabelField(TEXT_PROJECTION_LAYER, GUIElements.HelpBox); - break; - case (int)TransformGesture.ProjectionType.Object: + break; + case (int) TransformGesture.ProjectionType.Object: EditorGUILayout.LabelField(TEXT_PROJECTION_OBJECT, GUIElements.HelpBox); - break; - case (int)TransformGesture.ProjectionType.Global: + break; + case (int) TransformGesture.ProjectionType.Global: EditorGUILayout.LabelField(TEXT_PROJECTION_GLOBAL, GUIElements.HelpBox); - break; - } - - if (projection.enumValueIndex != (int)TransformGesture.ProjectionType.Layer) - { - var v = projectionPlaneNormal.vector3Value; + break; + } + + if (projection.enumValueIndex != (int) TransformGesture.ProjectionType.Layer) + { + var v = projectionPlaneNormal.vector3Value; var rect = GUILayoutUtility.GetRect(0, 35, GUILayout.ExpandWidth(true)); - rect.width = 44; - rect.x += 10; - GUI.DrawTexture(rect, yz); - if (drawSelector(rect, !custom && v == Vector3.right)) + rect.width = 44; + rect.x += 10; + GUI.DrawTexture(rect, yz); + if (drawSelector(rect, !custom && v == Vector3.right)) { projectionPlaneNormal.vector3Value = Vector3.right; custom = false; } - rect.x += rect.width + 5; - GUI.DrawTexture(rect, xz); + rect.x += rect.width + 5; + GUI.DrawTexture(rect, xz); if (drawSelector(rect, !custom && v == Vector3.up)) { projectionPlaneNormal.vector3Value = Vector3.up; custom = false; } - rect.x += rect.width + 5; - GUI.DrawTexture(rect, xy); + rect.x += rect.width + 5; + GUI.DrawTexture(rect, xy); if (drawSelector(rect, !custom && v == Vector3.forward)) { projectionPlaneNormal.vector3Value = Vector3.forward; custom = false; } - rect.x += rect.width + 10; - GUI.DrawTexture(rect, unknown); + rect.x += rect.width + 10; + GUI.DrawTexture(rect, unknown); if (drawSelector(rect, custom)) custom = true; if (custom) EditorGUILayout.PropertyField(projectionPlaneNormal, TEXT_PROJECTION_NORMAL); - } + } return custom; } - protected bool drawSelector(Rect rect, bool selected) - { - GUI.color = selected ? selectorColorSelected : selectorColor; - GUI.DrawTexture(rect, selector); - GUI.color = Color.white; + protected bool drawSelector(Rect rect, bool selected) + { + GUI.color = selected ? selectorColorSelected : selectorColor; + GUI.DrawTexture(rect, selector); + GUI.color = Color.white; if (Event.current.type == EventType.MouseUp && rect.Contains(Event.current.mousePosition)) { @@ -144,8 +143,6 @@ protected bool drawSelector(Rect rect, bool selected) return true; } return false; - } - - } -} - + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TwoPointTransformGestureBaseEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TwoPointTransformGestureBaseEditor.cs index e49e978e5..4cb6492f4 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TwoPointTransformGestureBaseEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/Base/TwoPointTransformGestureBaseEditor.cs @@ -8,64 +8,63 @@ namespace TouchScript.Editor.Gestures.TransformGestures.Base { - internal class TwoPointTransformGestureBaseEditor : TransformGestureBaseEditor + internal class TwoPointTransformGestureBaseEditor : TransformGestureBaseEditor { - - protected override void drawBasic() - { - var typeValue = type.intValue; - int newType = 0; - EditorGUILayout.LabelField(TEXT_TYPE); + protected override void drawBasic() + { + var typeValue = type.intValue; + int newType = 0; + EditorGUILayout.LabelField(TEXT_TYPE); var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); rect.x += 10; rect.width = 90; if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_TRANSLATION, - (typeValue & (int)TransformGesture.TransformType.Translation) != 0)) - newType |= (int)TransformGesture.TransformType.Translation; + (typeValue & (int) TransformGesture.TransformType.Translation) != 0)) + newType |= (int) TransformGesture.TransformType.Translation; rect.x += rect.width; rect.width = 70; if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, - (typeValue & (int)TransformGesture.TransformType.Rotation) != 0)) - newType |= (int)TransformGesture.TransformType.Rotation; + (typeValue & (int) TransformGesture.TransformType.Rotation) != 0)) + newType |= (int) TransformGesture.TransformType.Rotation; rect.x += rect.width; if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, - (typeValue & (int)TransformGesture.TransformType.Scaling) != 0)) - newType |= (int)TransformGesture.TransformType.Scaling; + (typeValue & (int) TransformGesture.TransformType.Scaling) != 0)) + newType |= (int) TransformGesture.TransformType.Scaling; type.intValue = newType; - } + } protected override void drawGeneral() { - var typeValue = type.intValue; - int newType = 0; - EditorGUILayout.LabelField(TEXT_TYPE); - EditorGUI.indentLevel--; + var typeValue = type.intValue; + int newType = 0; + EditorGUILayout.LabelField(TEXT_TYPE); + EditorGUI.indentLevel--; - var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); - rect.x += 26; - rect.width = 90; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_TRANSLATION, - (typeValue & (int)TransformGesture.TransformType.Translation) != 0)) - newType |= (int)TransformGesture.TransformType.Translation; - rect.x += rect.width; - rect.width = 70; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, - (typeValue & (int)TransformGesture.TransformType.Rotation) != 0)) - newType |= (int)TransformGesture.TransformType.Rotation; - rect.x += rect.width; - if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, - (typeValue & (int)TransformGesture.TransformType.Scaling) != 0)) - newType |= (int)TransformGesture.TransformType.Scaling; - type.intValue = newType; + var rect = GUILayoutUtility.GetRect(0, 20, GUILayout.ExpandWidth(true)); + rect.x += 26; + rect.width = 90; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_TRANSLATION, + (typeValue & (int) TransformGesture.TransformType.Translation) != 0)) + newType |= (int) TransformGesture.TransformType.Translation; + rect.x += rect.width; + rect.width = 70; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_ROTATION, + (typeValue & (int) TransformGesture.TransformType.Rotation) != 0)) + newType |= (int) TransformGesture.TransformType.Rotation; + rect.x += rect.width; + if (EditorGUI.ToggleLeft(rect, TEXT_TYPE_SCALING, + (typeValue & (int) TransformGesture.TransformType.Scaling) != 0)) + newType |= (int) TransformGesture.TransformType.Scaling; + type.intValue = newType; - EditorGUI.indentLevel++; + EditorGUI.indentLevel++; EditorGUIUtility.labelWidth = 160; EditorGUILayout.PropertyField(minScreenPointsDistance, TEXT_MIN_SCREEN_POINTS_DISTANCE); EditorGUILayout.PropertyField(screenTransformThreshold, TEXT_SCREEN_TRANSFORM_THRESHOLD); - base.drawGeneral(); + base.drawGeneral(); } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/PinnedTransformGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/PinnedTransformGestureEditor.cs index 56649e5b4..42a21a75a 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/PinnedTransformGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/PinnedTransformGestureEditor.cs @@ -13,39 +13,37 @@ namespace TouchScript.Editor.Gestures.TransformGestures [CustomEditor(typeof(PinnedTransformGesture), true)] internal class PinnedTransformGestureEditor : OnePointTransformGestureBaseEditor { - - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of rotation and scaling gestures on the GameObject if it was pinned to the world position."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of rotation and scaling gestures on the GameObject if it was pinned to the world position."); protected override void OnEnable() { - base.OnEnable(); + base.OnEnable(); initCustomProjection(); } - protected override void drawBasic() - { - base.drawBasic(); + protected override void drawBasic() + { + base.drawBasic(); customProjection = drawProjection(customProjection); - } - - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } - - protected override void drawOtherGUI() - { - var display = GUIElements.Header(TEXT_PROJECTION_HEADER, projectionProps); - if (display) - { - EditorGUI.indentLevel++; - customProjection = drawProjection(customProjection); - EditorGUILayout.Space(); - EditorGUI.indentLevel--; - } - } + } + + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } + protected override void drawOtherGUI() + { + var display = GUIElements.Header(TEXT_PROJECTION_HEADER, projectionProps); + if (display) + { + EditorGUI.indentLevel++; + customProjection = drawProjection(customProjection); + EditorGUILayout.Space(); + EditorGUI.indentLevel--; + } + } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/ScreenTransformGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/ScreenTransformGestureEditor.cs index cd1c4bc96..c30fa37f3 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/ScreenTransformGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/ScreenTransformGestureEditor.cs @@ -12,13 +12,11 @@ namespace TouchScript.Editor.Gestures.TransformGestures [CustomEditor(typeof(ScreenTransformGesture), true)] internal class ScreenTransformGestureEditor : TwoPointTransformGestureBaseEditor { + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of translation, rotation and scaling gestures on the GameObject in screen space."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of translation, rotation and scaling gestures on the GameObject in screen space."); - - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } - - } -} + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/TransformGestureEditor.cs b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/TransformGestureEditor.cs index 8ad2620c1..d205e6f0e 100644 --- a/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/TransformGestureEditor.cs +++ b/Source/Assets/TouchScript/Editor/Gestures/TransformGestures/TransformGestureEditor.cs @@ -13,13 +13,12 @@ namespace TouchScript.Editor.Gestures.TransformGestures [CustomEditor(typeof(TransformGesture), true)] internal class TransformGestureEditor : TwoPointTransformGestureBaseEditor { - - public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of translation, rotation and scaling gestures on the GameObject."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component recognizes a combination of translation, rotation and scaling gestures on the GameObject."); protected override void OnEnable() { - base.OnEnable(); + base.OnEnable(); initCustomProjection(); } @@ -28,25 +27,24 @@ protected override void drawBasic() { base.drawBasic(); - customProjection = drawProjection(customProjection); + customProjection = drawProjection(customProjection); } - protected override GUIContent getHelpText() - { - return TEXT_HELP; - } + protected override GUIContent getHelpText() + { + return TEXT_HELP; + } - protected override void drawOtherGUI() + protected override void drawOtherGUI() { - var display = GUIElements.Header(TEXT_PROJECTION_HEADER, projectionProps); - if (display) - { - EditorGUI.indentLevel++; - customProjection = drawProjection(customProjection); + var display = GUIElements.Header(TEXT_PROJECTION_HEADER, projectionProps); + if (display) + { + EditorGUI.indentLevel++; + customProjection = drawProjection(customProjection); EditorGUILayout.Space(); - EditorGUI.indentLevel--; - } + EditorGUI.indentLevel--; + } } - } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/InputSources/InputSourceEditor.cs b/Source/Assets/TouchScript/Editor/InputSources/InputSourceEditor.cs index 7cc5c5ee4..030363f56 100644 --- a/Source/Assets/TouchScript/Editor/InputSources/InputSourceEditor.cs +++ b/Source/Assets/TouchScript/Editor/InputSources/InputSourceEditor.cs @@ -10,14 +10,10 @@ namespace TouchScript.Editor.InputSources { public class InputSourceEditor : UnityEditor.Editor { - protected virtual void OnEnable() - { - } + protected virtual void OnEnable() {} - public override void OnInspectorGUI() - { - } + public override void OnInspectorGUI() {} protected virtual void drawAdvanced() {} } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/InputSources/StandardInputEditor.cs b/Source/Assets/TouchScript/Editor/InputSources/StandardInputEditor.cs index 572d1a8f2..b6cc02970 100644 --- a/Source/Assets/TouchScript/Editor/InputSources/StandardInputEditor.cs +++ b/Source/Assets/TouchScript/Editor/InputSources/StandardInputEditor.cs @@ -9,28 +9,30 @@ namespace TouchScript.Editor.InputSources { - [CustomEditor(typeof (StandardInput), true)] + [CustomEditor(typeof(StandardInput), true)] internal sealed class StandardInputEditor : InputSourceEditor { - public static readonly GUIContent TEXT_GENERAL_HEADER = new GUIContent("General", "General settings."); - public static readonly GUIContent TEXT_WINDOWS_HEADER = new GUIContent("Windows", "Windows specific settings."); + public static readonly GUIContent TEXT_GENERAL_HEADER = new GUIContent("General", "General settings."); + public static readonly GUIContent TEXT_WINDOWS_HEADER = new GUIContent("Windows", "Windows specific settings."); public static readonly GUIContent TEXT_WEBGL_HEADER = new GUIContent("WebGL", "WebGL specific settings."); public static readonly GUIContent TEXT_EMULATE_MOUSE = new GUIContent("Emulate Second Mouse Pointer", "If selected, you can press ALT to make a stationary mouse pointer. This is used to simulate multi-touch."); - public static readonly GUIContent TEXT_WINDOWS_API = new GUIContent("Select which touch API to use:\n - Windows 8 — new WM_POINTER API,\n - Windows 7 — old WM_TOUCH API,\n - Unity — Unity's WM_TOUCH implementation,\n - None — no touch."); - public static readonly GUIContent TEXT_WINDOWS8 = new GUIContent("Windows 8+ API"); - public static readonly GUIContent TEXT_WINDOWS7 = new GUIContent("Windows 7 API"); - public static readonly GUIContent TEXT_WINDOWS8_MOUSE = new GUIContent("Enable Mouse on Windows 8+"); - public static readonly GUIContent TEXT_WINDOWS7_MOUSE = new GUIContent("Enable Mouse on Windows 7"); - public static readonly GUIContent TEXT_UWP_MOUSE = new GUIContent("Enable Mouse on UWP"); + public static readonly GUIContent TEXT_WINDOWS_API = new GUIContent("Select which touch API to use:\n - Windows 8 — new WM_POINTER API,\n - Windows 7 — old WM_TOUCH API,\n - Unity — Unity's WM_TOUCH implementation,\n - None — no touch."); + public static readonly GUIContent TEXT_WINDOWS8 = new GUIContent("Windows 8+ API"); + public static readonly GUIContent TEXT_WINDOWS7 = new GUIContent("Windows 7 API"); + public static readonly GUIContent TEXT_WINDOWS8_MOUSE = new GUIContent("Enable Mouse on Windows 8+"); + public static readonly GUIContent TEXT_WINDOWS7_MOUSE = new GUIContent("Enable Mouse on Windows 7"); + public static readonly GUIContent TEXT_UWP_MOUSE = new GUIContent("Enable Mouse on UWP"); public static readonly GUIContent TEXT_HELP = new GUIContent("This component gathers input data from various devices like touch, mouse and pen on all platforms."); private SerializedProperty basicEditor; + private SerializedProperty windows8Touch, windows7Touch, webGLTouch, windows8Mouse, - windows7Mouse, universalWindowsMouse, emulateSecondMousePointer; - private SerializedProperty generalProps, windowsProps, webglProps; + windows7Mouse, universalWindowsMouse, emulateSecondMousePointer; + + private SerializedProperty generalProps, windowsProps, webglProps; private StandardInput instance; @@ -48,42 +50,42 @@ protected override void OnEnable() universalWindowsMouse = serializedObject.FindProperty("universalWindowsMouse"); emulateSecondMousePointer = serializedObject.FindProperty("emulateSecondMousePointer"); - generalProps = serializedObject.FindProperty("generalProps"); - windowsProps = serializedObject.FindProperty("windowsProps"); + generalProps = serializedObject.FindProperty("generalProps"); + windowsProps = serializedObject.FindProperty("windowsProps"); webglProps = serializedObject.FindProperty("webglProps"); } public override void OnInspectorGUI() { #if UNITY_5_6_OR_NEWER - serializedObject.UpdateIfRequiredOrScript(); + serializedObject.UpdateIfRequiredOrScript(); #else serializedObject.UpdateIfDirtyOrScript(); #endif - GUILayout.Space(5); + GUILayout.Space(5); - if (basicEditor.boolValue) - { + if (basicEditor.boolValue) + { EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(emulateSecondMousePointer, TEXT_EMULATE_MOUSE); - if (EditorGUI.EndChangeCheck()) - { - instance.EmulateSecondMousePointer = emulateSecondMousePointer.boolValue; - } - - if (GUIElements.BasicHelpBox(TEXT_HELP)) - { - basicEditor.boolValue = false; - Repaint(); - } - } - else - { - drawGeneral(); - drawWindows(); - drawWebGL(); - } + EditorGUILayout.PropertyField(emulateSecondMousePointer, TEXT_EMULATE_MOUSE); + if (EditorGUI.EndChangeCheck()) + { + instance.EmulateSecondMousePointer = emulateSecondMousePointer.boolValue; + } + + if (GUIElements.BasicHelpBox(TEXT_HELP)) + { + basicEditor.boolValue = false; + Repaint(); + } + } + else + { + drawGeneral(); + drawWindows(); + drawWebGL(); + } serializedObject.ApplyModifiedProperties(); base.OnInspectorGUI(); @@ -91,46 +93,45 @@ public override void OnInspectorGUI() private void drawGeneral() { - var display = GUIElements.Header(TEXT_GENERAL_HEADER, generalProps); - if (display) - { - EditorGUI.indentLevel++; - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(emulateSecondMousePointer, TEXT_EMULATE_MOUSE); - if (EditorGUI.EndChangeCheck()) - { - instance.EmulateSecondMousePointer = emulateSecondMousePointer.boolValue; - } - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_GENERAL_HEADER, generalProps); + if (display) + { + EditorGUI.indentLevel++; + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(emulateSecondMousePointer, TEXT_EMULATE_MOUSE); + if (EditorGUI.EndChangeCheck()) + { + instance.EmulateSecondMousePointer = emulateSecondMousePointer.boolValue; + } + EditorGUI.indentLevel--; + } } private void drawWindows() { - var display = GUIElements.Header(TEXT_WINDOWS_HEADER, windowsProps); - if (display) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(windows8Touch, TEXT_WINDOWS8); - EditorGUILayout.PropertyField(windows7Touch, TEXT_WINDOWS7); - EditorGUILayout.LabelField(TEXT_WINDOWS_API, GUIElements.HelpBox); - EditorGUILayout.PropertyField(windows8Mouse, TEXT_WINDOWS8_MOUSE); - EditorGUILayout.PropertyField(windows7Mouse, TEXT_WINDOWS7_MOUSE); - EditorGUILayout.PropertyField(universalWindowsMouse, TEXT_UWP_MOUSE); - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_WINDOWS_HEADER, windowsProps); + if (display) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(windows8Touch, TEXT_WINDOWS8); + EditorGUILayout.PropertyField(windows7Touch, TEXT_WINDOWS7); + EditorGUILayout.LabelField(TEXT_WINDOWS_API, GUIElements.HelpBox); + EditorGUILayout.PropertyField(windows8Mouse, TEXT_WINDOWS8_MOUSE); + EditorGUILayout.PropertyField(windows7Mouse, TEXT_WINDOWS7_MOUSE); + EditorGUILayout.PropertyField(universalWindowsMouse, TEXT_UWP_MOUSE); + EditorGUI.indentLevel--; + } } private void drawWebGL() { - var display = GUIElements.Header(TEXT_WEBGL_HEADER, webglProps); - if (display) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(webGLTouch); - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_WEBGL_HEADER, webglProps); + if (display) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(webGLTouch); + EditorGUI.indentLevel--; + } } - } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Layers/FullscreenLayerEditor.cs b/Source/Assets/TouchScript/Editor/Layers/FullscreenLayerEditor.cs index 9f87df0f5..ed516d04f 100644 --- a/Source/Assets/TouchScript/Editor/Layers/FullscreenLayerEditor.cs +++ b/Source/Assets/TouchScript/Editor/Layers/FullscreenLayerEditor.cs @@ -12,10 +12,9 @@ namespace TouchScript.Editor.Layers [CustomEditor(typeof(FullscreenLayer))] internal sealed class FullscreenLayerEditor : UnityEditor.Editor { + public static readonly GUIContent TEXT_HELP = new GUIContent("This component receives all pointers which were not caught by other layers. It sets poitners' Target property to itself, so all fullscreen gestures must be attached to the same GameObject as FullscreenGesture."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component receives all pointers which were not caught by other layers. It sets poitners' Target property to itself, so all fullscreen gestures must be attached to the same GameObject as FullscreenGesture."); - - private SerializedProperty type, camera; + private SerializedProperty type, camera; private FullscreenLayer instance; private void OnEnable() @@ -34,10 +33,10 @@ public override void OnInspectorGUI() EditorGUILayout.PropertyField(type); if (EditorGUI.EndChangeCheck()) { - instance.Type = (FullscreenLayer.LayerType)type.enumValueIndex; + instance.Type = (FullscreenLayer.LayerType) type.enumValueIndex; } - if (type.enumValueIndex == (int)FullscreenLayer.LayerType.Camera) + if (type.enumValueIndex == (int) FullscreenLayer.LayerType.Camera) { EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(camera); @@ -50,4 +49,4 @@ public override void OnInspectorGUI() EditorGUILayout.LabelField(TEXT_HELP, GUIElements.HelpBox); } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Layers/StandardLayerEditor.cs b/Source/Assets/TouchScript/Editor/Layers/StandardLayerEditor.cs index a54b560e6..37406e88e 100644 --- a/Source/Assets/TouchScript/Editor/Layers/StandardLayerEditor.cs +++ b/Source/Assets/TouchScript/Editor/Layers/StandardLayerEditor.cs @@ -12,19 +12,19 @@ namespace TouchScript.Editor.Layers [CustomEditor(typeof(StandardLayer), true)] internal class StandardLayerEditor : UnityEditor.Editor { - public static readonly GUIContent TEXT_ADVANCED_HEADER = new GUIContent("Advanced", "Advanced properties."); - public static readonly GUIContent TEXT_HIT_HEADER = new GUIContent("Hit test options", "Options which control what types of objects this layer should search under pointers."); + public static readonly GUIContent TEXT_ADVANCED_HEADER = new GUIContent("Advanced", "Advanced properties."); + public static readonly GUIContent TEXT_HIT_HEADER = new GUIContent("Hit test options", "Options which control what types of objects this layer should search under pointers."); - public static readonly GUIContent TEXT_3D_OBJECTS = new GUIContent("Hit 3D Objects", "Layer should raycast 3D objects."); - public static readonly GUIContent TEXT_2D_OBJECTS = new GUIContent("Hit 2D Objects", "Layer should raycast 2D objects."); - public static readonly GUIContent TEXT_WORLD_UI = new GUIContent("Hit World UI", "Layer should raycast World Space UI."); - public static readonly GUIContent TEXT_SS_UI = new GUIContent("Hit Screen Space UI", "Layer should raycast Screen Space UI."); - public static readonly GUIContent TEXT_LAYER_MASK = new GUIContent("Layer Mask", "Layer mask."); - public static readonly GUIContent TEXT_HIT_FILTERS = new GUIContent("Use Hit FIlters", "Layer should test for individual HitTest objects."); + public static readonly GUIContent TEXT_3D_OBJECTS = new GUIContent("Hit 3D Objects", "Layer should raycast 3D objects."); + public static readonly GUIContent TEXT_2D_OBJECTS = new GUIContent("Hit 2D Objects", "Layer should raycast 2D objects."); + public static readonly GUIContent TEXT_WORLD_UI = new GUIContent("Hit World UI", "Layer should raycast World Space UI."); + public static readonly GUIContent TEXT_SS_UI = new GUIContent("Hit Screen Space UI", "Layer should raycast Screen Space UI."); + public static readonly GUIContent TEXT_LAYER_MASK = new GUIContent("Layer Mask", "Layer mask."); + public static readonly GUIContent TEXT_HIT_FILTERS = new GUIContent("Use Hit FIlters", "Layer should test for individual HitTest objects."); - public static readonly GUIContent TEXT_HELP = new GUIContent("This component assigns target GameObjects in the scene for pressed pointers."); + public static readonly GUIContent TEXT_HELP = new GUIContent("This component assigns target GameObjects in the scene for pressed pointers."); - private SerializedProperty advancedProps, hitProps; + private SerializedProperty advancedProps, hitProps; private SerializedProperty basicEditor; private SerializedProperty hit3DObjects; private SerializedProperty hit2DObjects; @@ -51,67 +51,66 @@ protected virtual void OnEnable() public override void OnInspectorGUI() { #if UNITY_5_6_OR_NEWER - serializedObject.UpdateIfRequiredOrScript(); + serializedObject.UpdateIfRequiredOrScript(); #else serializedObject.UpdateIfDirtyOrScript(); #endif GUILayout.Space(5); - if (basicEditor.boolValue) - { - drawHit(); - - if (GUIElements.BasicHelpBox(TEXT_HELP)) - { - basicEditor.boolValue = false; - Repaint(); - } - } - else - { + if (basicEditor.boolValue) + { + drawHit(); + + if (GUIElements.BasicHelpBox(TEXT_HELP)) + { + basicEditor.boolValue = false; + Repaint(); + } + } + else + { drawHit(); drawAdvanced(); - } + } serializedObject.ApplyModifiedProperties(); } private void drawHit() { - var display = GUIElements.Header(TEXT_HIT_HEADER, hitProps); - if (display) - { - EditorGUI.indentLevel++; - doDrawHit(); - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_HIT_HEADER, hitProps); + if (display) + { + EditorGUI.indentLevel++; + doDrawHit(); + EditorGUI.indentLevel--; + } } protected virtual void doDrawHit() - { - EditorGUILayout.PropertyField(hitScreenSpaceUI, TEXT_SS_UI); - EditorGUILayout.PropertyField(hit3DObjects, TEXT_3D_OBJECTS); - EditorGUILayout.PropertyField(hit2DObjects, TEXT_2D_OBJECTS); - EditorGUILayout.PropertyField(hitWorldSpaceUI, TEXT_WORLD_UI); - EditorGUILayout.PropertyField(layerMask, TEXT_LAYER_MASK); - } + { + EditorGUILayout.PropertyField(hitScreenSpaceUI, TEXT_SS_UI); + EditorGUILayout.PropertyField(hit3DObjects, TEXT_3D_OBJECTS); + EditorGUILayout.PropertyField(hit2DObjects, TEXT_2D_OBJECTS); + EditorGUILayout.PropertyField(hitWorldSpaceUI, TEXT_WORLD_UI); + EditorGUILayout.PropertyField(layerMask, TEXT_LAYER_MASK); + } private void drawAdvanced() { - var display = GUIElements.Header(TEXT_ADVANCED_HEADER, advancedProps); - if (display) - { - EditorGUI.indentLevel++; - doDrawAdvanced(); - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_ADVANCED_HEADER, advancedProps); + if (display) + { + EditorGUI.indentLevel++; + doDrawAdvanced(); + EditorGUI.indentLevel--; + } } protected virtual void doDrawAdvanced() { EditorGUILayout.PropertyField(useHitFilters, TEXT_HIT_FILTERS); } - } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/TouchManagerEditor.cs b/Source/Assets/TouchScript/Editor/TouchManagerEditor.cs index a9326d228..b5486f592 100644 --- a/Source/Assets/TouchScript/Editor/TouchManagerEditor.cs +++ b/Source/Assets/TouchScript/Editor/TouchManagerEditor.cs @@ -19,17 +19,17 @@ namespace TouchScript.Editor internal sealed class TouchManagerEditor : UnityEditor.Editor { public static readonly GUIContent TEXT_LAYERS_HELP = new GUIContent("Layers at the top get to process pointer input first."); - public static readonly GUIContent TEXT_LAYERS_HEADER = new GUIContent("Pointer Layers", "Sorted array of Pointer Layers in the scene."); - public static readonly GUIContent TEXT_USE_SEND_MESSAGE_HEADER = new GUIContent("Use SendMessage", "Enables sending events through SendMessage. Warnning: this method is slow!"); - public static readonly GUIContent TEXT_USE_UNITY_EVENTS_HEADER = new GUIContent("Use Unity Events", "Enables sending events through Unity Events."); - public static readonly GUIContent TEXT_DEFAULTS_HEADER = new GUIContent("Defaults", "Default actions when some of TouchScript components are not present in the scene."); - - public static readonly GUIContent TEXT_DEBUG_MODE = new GUIContent("Debug", "Turns on debug mode."); - public static readonly GUIContent TEXT_DISPLAY_DEVICE = new GUIContent("Display Device", "Display device properties where such parameters as target DPI are stored."); - public static readonly GUIContent TEXT_CREATE_CAMERA_LAYER = new GUIContent("Create Camera Layer", "Indicates if TouchScript should create a CameraLayer for you if no layers present in a scene. This is usually a desired behavior but sometimes you would want to turn this off if you are using TouchScript only to get input from some device."); - public static readonly GUIContent TEXT_CREATE_STANDARD_INPUT = new GUIContent("Create Standard Input", ""); - public static readonly GUIContent TEXT_SEND_MESSAGE_TARGET = new GUIContent("Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); - public static readonly GUIContent TEXT_SEND_MESSAGE_EVENTS = new GUIContent("Events", "Which events should be sent as Unity Messages."); + public static readonly GUIContent TEXT_LAYERS_HEADER = new GUIContent("Pointer Layers", "Sorted array of Pointer Layers in the scene."); + public static readonly GUIContent TEXT_USE_SEND_MESSAGE_HEADER = new GUIContent("Use SendMessage", "Enables sending events through SendMessage. Warnning: this method is slow!"); + public static readonly GUIContent TEXT_USE_UNITY_EVENTS_HEADER = new GUIContent("Use Unity Events", "Enables sending events through Unity Events."); + public static readonly GUIContent TEXT_DEFAULTS_HEADER = new GUIContent("Defaults", "Default actions when some of TouchScript components are not present in the scene."); + + public static readonly GUIContent TEXT_DEBUG_MODE = new GUIContent("Debug", "Turns on debug mode."); + public static readonly GUIContent TEXT_DISPLAY_DEVICE = new GUIContent("Display Device", "Display device properties where such parameters as target DPI are stored."); + public static readonly GUIContent TEXT_CREATE_CAMERA_LAYER = new GUIContent("Create Camera Layer", "Indicates if TouchScript should create a CameraLayer for you if no layers present in a scene. This is usually a desired behavior but sometimes you would want to turn this off if you are using TouchScript only to get input from some device."); + public static readonly GUIContent TEXT_CREATE_STANDARD_INPUT = new GUIContent("Create Standard Input", ""); + public static readonly GUIContent TEXT_SEND_MESSAGE_TARGET = new GUIContent("Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); + public static readonly GUIContent TEXT_SEND_MESSAGE_EVENTS = new GUIContent("Events", "Which events should be sent as Unity Messages."); public static readonly GUIContent TEXT_HELP = new GUIContent("This component holds TouchScript configuration options for a scene."); @@ -37,11 +37,14 @@ internal sealed class TouchManagerEditor : UnityEditor.Editor private ReorderableList layersList; private SerializedProperty basicEditor; private SerializedProperty debugMode; - private SerializedProperty layers, displayDevice, shouldCreateCameraLayer, shouldCreateStandardInput, - useSendMessage, sendMessageTarget, sendMessageEvents; - private SerializedProperty OnFrameStart, OnFrameFinish, OnPointersAdd, OnPointersUpdate, OnPointersPress, - OnPointersRelease, OnPointersRemove, OnPointersCancel, useUnityEvents; - private PropertyInfo useUnityEvents_prop, useSendMessage_prop; + + private SerializedProperty layers, displayDevice, shouldCreateCameraLayer, shouldCreateStandardInput, + useSendMessage, sendMessageTarget, sendMessageEvents; + + private SerializedProperty OnFrameStart, OnFrameFinish, OnPointersAdd, OnPointersUpdate, OnPointersPress, + OnPointersRelease, OnPointersRemove, OnPointersCancel, useUnityEvents; + + private PropertyInfo useUnityEvents_prop, useSendMessage_prop; private void OnEnable() { @@ -59,24 +62,24 @@ private void OnEnable() sendMessageEvents = serializedObject.FindProperty("sendMessageEvents"); useUnityEvents = serializedObject.FindProperty("useUnityEvents"); - OnFrameStart = serializedObject.FindProperty("OnFrameStart"); - OnFrameFinish = serializedObject.FindProperty("OnFrameFinish"); - OnPointersAdd = serializedObject.FindProperty("OnPointersAdd"); - OnPointersUpdate = serializedObject.FindProperty("OnPointersUpdate"); - OnPointersPress = serializedObject.FindProperty("OnPointersPress"); - OnPointersRelease = serializedObject.FindProperty("OnPointersRelease"); - OnPointersRemove = serializedObject.FindProperty("OnPointersRemove"); - OnPointersCancel = serializedObject.FindProperty("OnPointersCancel"); - - var type = instance.GetType(); - useUnityEvents_prop = type.GetProperty("UseUnityEvents", BindingFlags.Instance | BindingFlags.Public); - useSendMessage_prop = type.GetProperty("UseSendMessage", BindingFlags.Instance | BindingFlags.Public); + OnFrameStart = serializedObject.FindProperty("OnFrameStart"); + OnFrameFinish = serializedObject.FindProperty("OnFrameFinish"); + OnPointersAdd = serializedObject.FindProperty("OnPointersAdd"); + OnPointersUpdate = serializedObject.FindProperty("OnPointersUpdate"); + OnPointersPress = serializedObject.FindProperty("OnPointersPress"); + OnPointersRelease = serializedObject.FindProperty("OnPointersRelease"); + OnPointersRemove = serializedObject.FindProperty("OnPointersRemove"); + OnPointersCancel = serializedObject.FindProperty("OnPointersCancel"); + + var type = instance.GetType(); + useUnityEvents_prop = type.GetProperty("UseUnityEvents", BindingFlags.Instance | BindingFlags.Public); + useSendMessage_prop = type.GetProperty("UseSendMessage", BindingFlags.Instance | BindingFlags.Public); refresh(); layersList = new ReorderableList(serializedObject, layers, true, false, false, false); - layersList.headerHeight = 0; - layersList.footerHeight = 0; + layersList.headerHeight = 0; + layersList.footerHeight = 0; layersList.drawElementCallback += (rect, index, active, focused) => { rect.height = 16; @@ -95,12 +98,12 @@ private void OnEnable() public override void OnInspectorGUI() { #if UNITY_5_6_OR_NEWER - serializedObject.UpdateIfRequiredOrScript(); + serializedObject.UpdateIfRequiredOrScript(); #else serializedObject.UpdateIfDirtyOrScript(); #endif - GUILayout.Space(5); + GUILayout.Space(5); if (basicEditor.boolValue) { @@ -121,99 +124,99 @@ public override void OnInspectorGUI() drawDebug(); } - GUILayout.Label("v. " + TouchManager.VERSION + (string.IsNullOrEmpty(TouchManager.VERSION_SUFFIX) ? "" : " " + TouchManager.VERSION_SUFFIX), GUIElements.SmallTextRight); + GUILayout.Label("v. " + TouchManager.VERSION + (string.IsNullOrEmpty(TouchManager.VERSION_SUFFIX) ? "" : " " + TouchManager.VERSION_SUFFIX), GUIElements.SmallTextRight); serializedObject.ApplyModifiedProperties(); } private void drawDefaults() { - var display = GUIElements.Header(TEXT_DEFAULTS_HEADER, shouldCreateCameraLayer); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(Application.isPlaying)) - { - EditorGUILayout.PropertyField(shouldCreateCameraLayer, TEXT_CREATE_CAMERA_LAYER); - EditorGUILayout.PropertyField(shouldCreateStandardInput, TEXT_CREATE_STANDARD_INPUT); - } - - var r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.objectField); - var label = EditorGUI.BeginProperty(r, TEXT_DISPLAY_DEVICE, displayDevice); - EditorGUI.BeginChangeCheck(); - r = EditorGUI.PrefixLabel(r, label); - var newDevice = EditorGUI.ObjectField(r, instance.DisplayDevice as Object, typeof(IDisplayDevice), true) as IDisplayDevice; - if (EditorGUI.EndChangeCheck()) - { - instance.DisplayDevice = newDevice; - EditorUtility.SetDirty(instance); - } - EditorGUI.EndProperty(); - - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_DEFAULTS_HEADER, shouldCreateCameraLayer); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(Application.isPlaying)) + { + EditorGUILayout.PropertyField(shouldCreateCameraLayer, TEXT_CREATE_CAMERA_LAYER); + EditorGUILayout.PropertyField(shouldCreateStandardInput, TEXT_CREATE_STANDARD_INPUT); + } + + var r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.objectField); + var label = EditorGUI.BeginProperty(r, TEXT_DISPLAY_DEVICE, displayDevice); + EditorGUI.BeginChangeCheck(); + r = EditorGUI.PrefixLabel(r, label); + var newDevice = EditorGUI.ObjectField(r, instance.DisplayDevice as Object, typeof(IDisplayDevice), true) as IDisplayDevice; + if (EditorGUI.EndChangeCheck()) + { + instance.DisplayDevice = newDevice; + EditorUtility.SetDirty(instance); + } + EditorGUI.EndProperty(); + + EditorGUI.indentLevel--; + } } private void drawLayers() { - var display = GUIElements.Header(TEXT_LAYERS_HEADER, layers); - if (display) - { + var display = GUIElements.Header(TEXT_LAYERS_HEADER, layers); + if (display) + { EditorGUILayout.LabelField(TEXT_LAYERS_HELP, GUIElements.HelpBox); - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(Application.isPlaying)) - { - layersList.DoLayoutList(); - } - EditorGUI.indentLevel--; - } - } + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(Application.isPlaying)) + { + layersList.DoLayoutList(); + } + EditorGUI.indentLevel--; + } + } private void drawUnityEvents() { - var display = GUIElements.Header(TEXT_USE_UNITY_EVENTS_HEADER, useUnityEvents, useUnityEvents, useUnityEvents_prop); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!useUnityEvents.boolValue)) - { - EditorGUILayout.PropertyField(OnFrameStart); - EditorGUILayout.PropertyField(OnFrameFinish); - EditorGUILayout.PropertyField(OnPointersAdd); - EditorGUILayout.PropertyField(OnPointersUpdate); - EditorGUILayout.PropertyField(OnPointersPress); - EditorGUILayout.PropertyField(OnPointersRelease); - EditorGUILayout.PropertyField(OnPointersRemove); - EditorGUILayout.PropertyField(OnPointersCancel); - } - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_USE_UNITY_EVENTS_HEADER, useUnityEvents, useUnityEvents, useUnityEvents_prop); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(!useUnityEvents.boolValue)) + { + EditorGUILayout.PropertyField(OnFrameStart); + EditorGUILayout.PropertyField(OnFrameFinish); + EditorGUILayout.PropertyField(OnPointersAdd); + EditorGUILayout.PropertyField(OnPointersUpdate); + EditorGUILayout.PropertyField(OnPointersPress); + EditorGUILayout.PropertyField(OnPointersRelease); + EditorGUILayout.PropertyField(OnPointersRemove); + EditorGUILayout.PropertyField(OnPointersCancel); + } + EditorGUI.indentLevel--; + } } private void drawSendMessage() { - var display = GUIElements.Header(TEXT_USE_SEND_MESSAGE_HEADER, useSendMessage, useSendMessage, useSendMessage_prop); - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!useSendMessage.boolValue)) - { - EditorGUILayout.PropertyField(sendMessageTarget, TEXT_SEND_MESSAGE_TARGET); - - var r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.layerMaskField); - var label = EditorGUI.BeginProperty(r, TEXT_SEND_MESSAGE_EVENTS, sendMessageEvents); - EditorGUI.BeginChangeCheck(); - r = EditorGUI.PrefixLabel(r, label); - var sMask = (TouchManager.MessageType)EditorGUI.EnumMaskField(r, instance.SendMessageEvents); - if (EditorGUI.EndChangeCheck()) - { - instance.SendMessageEvents = sMask; - EditorUtility.SetDirty(instance); - } - EditorGUI.EndProperty(); - } - EditorGUI.indentLevel--; - } + var display = GUIElements.Header(TEXT_USE_SEND_MESSAGE_HEADER, useSendMessage, useSendMessage, useSendMessage_prop); + if (display) + { + EditorGUI.indentLevel++; + using (new EditorGUI.DisabledGroupScope(!useSendMessage.boolValue)) + { + EditorGUILayout.PropertyField(sendMessageTarget, TEXT_SEND_MESSAGE_TARGET); + + var r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.layerMaskField); + var label = EditorGUI.BeginProperty(r, TEXT_SEND_MESSAGE_EVENTS, sendMessageEvents); + EditorGUI.BeginChangeCheck(); + r = EditorGUI.PrefixLabel(r, label); + var sMask = (TouchManager.MessageType) EditorGUI.EnumMaskField(r, instance.SendMessageEvents); + if (EditorGUI.EndChangeCheck()) + { + instance.SendMessageEvents = sMask; + EditorUtility.SetDirty(instance); + } + EditorGUI.EndProperty(); + } + EditorGUI.indentLevel--; + } } private void drawDebug() @@ -230,15 +233,15 @@ private void refresh() { layers.arraySize = 0; LayerManager.Instance.ForEach((l) => - { - layers.arraySize++; - layers.GetArrayElementAtIndex(layers.arraySize - 1).objectReferenceValue = l; - return true; - }); + { + layers.arraySize++; + layers.GetArrayElementAtIndex(layers.arraySize - 1).objectReferenceValue = l; + return true; + }); } else { - var allLayers = FindObjectsOfType(typeof (TouchLayer)).Cast().ToList(); + var allLayers = FindObjectsOfType(typeof(TouchLayer)).Cast().ToList(); var toRemove = new List(); for (var i = 0; i < layers.arraySize; i++) { diff --git a/Source/Assets/TouchScript/Editor/TouchScriptSettingsWindow.cs b/Source/Assets/TouchScript/Editor/TouchScriptSettingsWindow.cs index 0afdc12a7..8645a087b 100644 --- a/Source/Assets/TouchScript/Editor/TouchScriptSettingsWindow.cs +++ b/Source/Assets/TouchScript/Editor/TouchScriptSettingsWindow.cs @@ -8,30 +8,28 @@ namespace TouchScript.Editor { - - [InitializeOnLoad] + [InitializeOnLoad] class TouchScriptSettingsWindow : EditorWindow { - private const string SHOW_AT_STARTUP = "TouchScript.ShowSettingsOnStartup"; - private const string DEFINE_DEBUG = "TOUCHSCRIPT_DEBUG"; - private const string DEFINE_TUIO = "TOUCHSCRIPT_TUIO"; + private const string DEFINE_DEBUG = "TOUCHSCRIPT_DEBUG"; + private const string DEFINE_TUIO = "TOUCHSCRIPT_TUIO"; private static bool showAtStartup = true; - private static TouchScriptSettingsWindowSO so; + private static TouchScriptSettingsWindowSO so; - private static bool initialized; - private static int width = 500; - private static int height = 500; - private static GUIStyle header; - private static GUIStyle bold; + private static bool initialized; + private static int width = 500; + private static int height = 500; + private static GUIStyle header; + private static GUIStyle bold; - private static Dictionary enabledDefines = new Dictionary() - { - { DEFINE_DEBUG, false }, - { DEFINE_TUIO, false }, - }; + private static Dictionary enabledDefines = new Dictionary() + { + {DEFINE_DEBUG, false}, + {DEFINE_TUIO, false}, + }; [MenuItem("Window/TouchScript/Settings", false, 0)] static void createWindow() @@ -45,149 +43,146 @@ static void createWindow() static TouchScriptSettingsWindow() { - EditorApplication.update += doShow; + EditorApplication.update += doShow; } - private static void doShow() - { - EditorApplication.update -= doShow; - showAtStartup = EditorPrefs.GetBool(SHOW_AT_STARTUP, true); - - if (so == null) - { - var sos = Resources.FindObjectsOfTypeAll(); - if (sos.Length > 0) so = sos[0]; - } - if (so == null) - { - so = ScriptableObject.CreateInstance(); - if (showAtStartup) createWindow(); - } - } + private static void doShow() + { + EditorApplication.update -= doShow; + showAtStartup = EditorPrefs.GetBool(SHOW_AT_STARTUP, true); + + if (so == null) + { + var sos = Resources.FindObjectsOfTypeAll(); + if (sos.Length > 0) so = sos[0]; + } + if (so == null) + { + so = ScriptableObject.CreateInstance(); + if (showAtStartup) createWindow(); + } + } private void OnEnable() { - updateEnabledDefines(); + updateEnabledDefines(); } - private void OnDisable() - { - } + private void OnDisable() {} private void OnGUI() { - init(); - - var headerRect = GUILayoutUtility.GetRect(width, 165); - GUI.Box(headerRect, "v. " + TouchManager.VERSION - + (string.IsNullOrEmpty(TouchManager.VERSION_SUFFIX) ? "" : " " + TouchManager.VERSION_SUFFIX), header); - - EditorGUILayout.BeginHorizontal(); - GUILayout.Space(10); - EditorGUILayout.BeginVertical(); - GUILayout.Space(10); - - EditorGUILayout.LabelField("Thank you for choosing TouchScript!", bold); - - EditorGUI.indentLevel++; - drawListElement("FAQ", "Some of the questions have been already asked multiple times. \nCheck if yours is in the list.", - "https://github.com/TouchScript/TouchScript/wiki/FAQ"); - drawListElement("Documentation", "Complete up-to-date generated docs with all public API annotated.", - "http://touchscript.github.io/docs/"); - drawListElement("Official Forum", "Want to ask a question about TouchScript? Use the official Forum.", - "http://touchprefab.com/index.php"); - drawListElement("Issues", "Found a bug? Feel free to post it in Github Issues.", - "https://github.com/TouchScript/TouchScript/issues"); - EditorGUI.indentLevel--; - - EditorGUILayout.LabelField("Options", bold); - - EditorGUI.indentLevel++; - setDefine(DEFINE_DEBUG, EditorGUILayout.ToggleLeft("Enable Debug Mode", enabledDefines[DEFINE_DEBUG])); - EditorGUILayout.LabelField("Enables " + DEFINE_DEBUG + " define to turn on some TouchScript debug features.", EditorStyles.miniLabel); - setDefine(DEFINE_TUIO, EditorGUILayout.ToggleLeft("Enable TUIO", enabledDefines[DEFINE_TUIO])); - EditorGUILayout.LabelField("Enables " + DEFINE_TUIO + " define, this adds TUIO protocol support.", EditorStyles.miniLabel); - - EditorGUILayout.EndVertical(); - GUILayout.Space(10); - EditorGUILayout.EndHorizontal(); - - drawShowAtStartup(); + init(); + + var headerRect = GUILayoutUtility.GetRect(width, 165); + GUI.Box(headerRect, "v. " + TouchManager.VERSION + + (string.IsNullOrEmpty(TouchManager.VERSION_SUFFIX) ? "" : " " + TouchManager.VERSION_SUFFIX), header); + + EditorGUILayout.BeginHorizontal(); + GUILayout.Space(10); + EditorGUILayout.BeginVertical(); + GUILayout.Space(10); + + EditorGUILayout.LabelField("Thank you for choosing TouchScript!", bold); + + EditorGUI.indentLevel++; + drawListElement("FAQ", "Some of the questions have been already asked multiple times. \nCheck if yours is in the list.", + "https://github.com/TouchScript/TouchScript/wiki/FAQ"); + drawListElement("Documentation", "Complete up-to-date generated docs with all public API annotated.", + "http://touchscript.github.io/docs/"); + drawListElement("Official Forum", "Want to ask a question about TouchScript? Use the official Forum.", + "http://touchprefab.com/index.php"); + drawListElement("Issues", "Found a bug? Feel free to post it in Github Issues.", + "https://github.com/TouchScript/TouchScript/issues"); + EditorGUI.indentLevel--; + + EditorGUILayout.LabelField("Options", bold); + + EditorGUI.indentLevel++; + setDefine(DEFINE_DEBUG, EditorGUILayout.ToggleLeft("Enable Debug Mode", enabledDefines[DEFINE_DEBUG])); + EditorGUILayout.LabelField("Enables " + DEFINE_DEBUG + " define to turn on some TouchScript debug features.", EditorStyles.miniLabel); + setDefine(DEFINE_TUIO, EditorGUILayout.ToggleLeft("Enable TUIO", enabledDefines[DEFINE_TUIO])); + EditorGUILayout.LabelField("Enables " + DEFINE_TUIO + " define, this adds TUIO protocol support.", EditorStyles.miniLabel); + + EditorGUILayout.EndVertical(); + GUILayout.Space(10); + EditorGUILayout.EndHorizontal(); + + drawShowAtStartup(); } - private void init() - { - if (initialized) return; - initialized = true; + private void init() + { + if (initialized) return; + initialized = true; - header = new GUIStyle(); + header = new GUIStyle(); header.normal.background = EditorResources.Load("SettingsWindow/Header.png"); header.normal.textColor = Color.white; - header.padding = new RectOffset(0, 70, 102, 0); - header.alignment = TextAnchor.UpperRight; - - bold = new GUIStyle(EditorStyles.largeLabel); - bold.fontStyle = FontStyle.Bold; - bold.fontSize = 18; - bold.wordWrap = true; - } - - private void drawListElement(string header, string content, string url) - { - GUILayout.BeginVertical(); - EditorGUILayout.LabelField("> " + header, EditorStyles.boldLabel); - EditorGUILayout.LabelField(content, EditorStyles.wordWrappedLabel); - GUILayout.EndVertical(); - - if (!string.IsNullOrEmpty(url)) - { - var rect = GUILayoutUtility.GetLastRect(); - EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link); - if (Event.current.type == EventType.mouseDown && rect.Contains(Event.current.mousePosition)) - Application.OpenURL(url); - } - } - - private void drawShowAtStartup() - { - bool show = GUI.Toggle(new Rect(10, height - 24, 120, 30), showAtStartup, "Show at startup"); - if (show != showAtStartup) - { - showAtStartup = show; - EditorPrefs.SetBool(SHOW_AT_STARTUP, showAtStartup); - } - } - - private void updateEnabledDefines() - { - var defines = new List(PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';')); - var keys = new List(enabledDefines.Keys); - foreach (var define in keys) - { - if (defines.Contains(define)) enabledDefines[define] = true; - else enabledDefines[define] = false; - } - } - - private void setDefine(string name, bool value) - { - if (!enabledDefines.ContainsKey(name)) return; - if (enabledDefines[name] == value) return; - - enabledDefines[name] = value; - var defines = new List(PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';')); - if (value) defines.Add(name); - else defines.Remove(name); - PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", defines.ToArray())); - } - - } - - public class TouchScriptSettingsWindowSO : ScriptableObject - { - private void Awake() - { - hideFlags = HideFlags.HideAndDontSave; - } - } -} + header.padding = new RectOffset(0, 70, 102, 0); + header.alignment = TextAnchor.UpperRight; + + bold = new GUIStyle(EditorStyles.largeLabel); + bold.fontStyle = FontStyle.Bold; + bold.fontSize = 18; + bold.wordWrap = true; + } + + private void drawListElement(string header, string content, string url) + { + GUILayout.BeginVertical(); + EditorGUILayout.LabelField("> " + header, EditorStyles.boldLabel); + EditorGUILayout.LabelField(content, EditorStyles.wordWrappedLabel); + GUILayout.EndVertical(); + + if (!string.IsNullOrEmpty(url)) + { + var rect = GUILayoutUtility.GetLastRect(); + EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link); + if (Event.current.type == EventType.mouseDown && rect.Contains(Event.current.mousePosition)) + Application.OpenURL(url); + } + } + + private void drawShowAtStartup() + { + bool show = GUI.Toggle(new Rect(10, height - 24, 120, 30), showAtStartup, "Show at startup"); + if (show != showAtStartup) + { + showAtStartup = show; + EditorPrefs.SetBool(SHOW_AT_STARTUP, showAtStartup); + } + } + + private void updateEnabledDefines() + { + var defines = new List(PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';')); + var keys = new List(enabledDefines.Keys); + foreach (var define in keys) + { + if (defines.Contains(define)) enabledDefines[define] = true; + else enabledDefines[define] = false; + } + } + + private void setDefine(string name, bool value) + { + if (!enabledDefines.ContainsKey(name)) return; + if (enabledDefines[name] == value) return; + + enabledDefines[name] = value; + var defines = new List(PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';')); + if (value) defines.Add(name); + else defines.Remove(name); + PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", defines.ToArray())); + } + } + + public class TouchScriptSettingsWindowSO : ScriptableObject + { + private void Awake() + { + hideFlags = HideFlags.HideAndDontSave; + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs b/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs index a4ea70aab..3920f081c 100644 --- a/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs +++ b/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs @@ -32,13 +32,13 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten switch (property.propertyType) { case SerializedPropertyType.ObjectReference: - property.objectReferenceValue = (Object)getNullValue(property); + property.objectReferenceValue = (Object) getNullValue(property); break; case SerializedPropertyType.Integer: - property.intValue = (int)getNullValue(property); + property.intValue = (int) getNullValue(property); break; case SerializedPropertyType.Float: - property.floatValue = (float)getNullValue(property); + property.floatValue = (float) getNullValue(property); break; } } @@ -46,7 +46,7 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten { EditorGUI.BeginChangeCheck(); EditorGUI.LabelField(new Rect(position.x + 14, position.y + 18, 50, 16), new GUIContent("Value", label.tooltip)); - position = new Rect(position.x + 54, position.y + 18, Mathf.Min(position.width - 54, 100), 16); + position = new Rect(position.x + 54, position.y + 18, Mathf.Min(position.width - 54, 100), 16); switch (property.propertyType) { case SerializedPropertyType.ObjectReference: @@ -139,7 +139,7 @@ private void Begin(Rect position, SerializedProperty property, GUIContent label) label = EditorGUI.BeginProperty(position, label, property); label.text = " " + label.text; position.height = 16; - EditorGUIUtility.labelWidth = 180; + EditorGUIUtility.labelWidth = 180; expanded = EditorGUI.ToggleLeft(position, label, expanded == true); } @@ -161,9 +161,9 @@ private bool isNull(SerializedProperty property) case SerializedPropertyType.ObjectReference: return ReferenceEquals(property.objectReferenceValue, getNullValue(property)); case SerializedPropertyType.Integer: - return property.intValue == (int)getNullValue(property); + return property.intValue == (int) getNullValue(property); case SerializedPropertyType.Float: - return property.floatValue == (float)getNullValue(property); + return property.floatValue == (float) getNullValue(property); } return false; } @@ -183,4 +183,4 @@ private object getNullValue(SerializedProperty property) return null; } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs b/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs index 2a6e5ae51..c0c456bc4 100644 --- a/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs +++ b/Source/Assets/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs @@ -24,4 +24,4 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten EditorGUI.EndProperty(); } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Camera/Camera.unity.meta b/Source/Assets/TouchScript/Examples/Camera/Camera.unity.meta index b080cc30d..5c8bc3030 100644 --- a/Source/Assets/TouchScript/Examples/Camera/Camera.unity.meta +++ b/Source/Assets/TouchScript/Examples/Camera/Camera.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 9bc4a96ba8ead427ab54f883160abc15 DefaultImporter: - userData: "2" + userData: "3" diff --git a/Source/Assets/TouchScript/Examples/Camera/Scripts/CameraController.cs b/Source/Assets/TouchScript/Examples/Camera/Scripts/CameraController.cs index fdb638a4d..72874fd94 100644 --- a/Source/Assets/TouchScript/Examples/Camera/Scripts/CameraController.cs +++ b/Source/Assets/TouchScript/Examples/Camera/Scripts/CameraController.cs @@ -39,16 +39,16 @@ private void OnDisable() private void manipulationTransformedHandler(object sender, System.EventArgs e) { - var rotation = Quaternion.Euler(ManipulationGesture.DeltaPosition.y/Screen.height*RotationSpeed, - -ManipulationGesture.DeltaPosition.x/Screen.width*RotationSpeed, + var rotation = Quaternion.Euler(ManipulationGesture.DeltaPosition.y / Screen.height * RotationSpeed, + -ManipulationGesture.DeltaPosition.x / Screen.width * RotationSpeed, ManipulationGesture.DeltaRotation); pivot.localRotation *= rotation; - cam.transform.localPosition += Vector3.forward*(ManipulationGesture.DeltaScale - 1f)*ZoomSpeed; + cam.transform.localPosition += Vector3.forward * (ManipulationGesture.DeltaScale - 1f) * ZoomSpeed; } private void twoFingerTransformHandler(object sender, System.EventArgs e) { - pivot.localPosition += pivot.rotation*TwoFingerMoveGesture.DeltaPosition*PanSpeed; + pivot.localPosition += pivot.rotation * TwoFingerMoveGesture.DeltaPosition * PanSpeed; } } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Checkers/Checkers.unity.meta b/Source/Assets/TouchScript/Examples/Checkers/Checkers.unity.meta index 35dcd603c..21cb61b30 100644 --- a/Source/Assets/TouchScript/Examples/Checkers/Checkers.unity.meta +++ b/Source/Assets/TouchScript/Examples/Checkers/Checkers.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 6ba58961df0a14cad91763f92bda13b9 DefaultImporter: - userData: "4" + userData: "5" diff --git a/Source/Assets/TouchScript/Examples/Colors/Colors.unity.meta b/Source/Assets/TouchScript/Examples/Colors/Colors.unity.meta index e00912d5d..f611b96b5 100644 --- a/Source/Assets/TouchScript/Examples/Colors/Colors.unity.meta +++ b/Source/Assets/TouchScript/Examples/Colors/Colors.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: c56b29ea5ec5a4713b65552d4a8bd9ac DefaultImporter: - userData: + userData: "7" diff --git a/Source/Assets/TouchScript/Examples/Colors/Scripts/Circle.cs b/Source/Assets/TouchScript/Examples/Colors/Scripts/Circle.cs index 77a9931ea..8f1196083 100644 --- a/Source/Assets/TouchScript/Examples/Colors/Scripts/Circle.cs +++ b/Source/Assets/TouchScript/Examples/Colors/Scripts/Circle.cs @@ -36,8 +36,8 @@ private void OnTriggerEnter2D(Collider2D other) var otherColor = otherCircle.Kill(); var scale = - Mathf.Sqrt(otherCircle.transform.localScale.x*otherCircle.transform.localScale.x + - transform.localScale.x*transform.localScale.x); + Mathf.Sqrt(otherCircle.transform.localScale.x * otherCircle.transform.localScale.x + + transform.localScale.x * transform.localScale.x); var color = Color.Lerp(GetComponent().sharedMaterial.color, otherColor, .5f); var obj = Instantiate(gameObject) as GameObject; diff --git a/Source/Assets/TouchScript/Examples/Cube/Cube.unity.meta b/Source/Assets/TouchScript/Examples/Cube/Cube.unity.meta index 54ac72230..18eee7b08 100644 --- a/Source/Assets/TouchScript/Examples/Cube/Cube.unity.meta +++ b/Source/Assets/TouchScript/Examples/Cube/Cube.unity.meta @@ -3,6 +3,6 @@ guid: 179bea80bb29f49ab9d5761fc9d3738b timeCreated: 1451049198 licenseType: Pro DefaultImporter: - userData: + userData: "8" assetBundleName: assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Cube/Scripts/CustomPointerProxy.cs b/Source/Assets/TouchScript/Examples/Cube/Scripts/CustomPointerProxy.cs index 7e9810db5..3fe57c913 100644 --- a/Source/Assets/TouchScript/Examples/Cube/Scripts/CustomPointerProxy.cs +++ b/Source/Assets/TouchScript/Examples/Cube/Scripts/CustomPointerProxy.cs @@ -5,14 +5,15 @@ using TouchScript.Behaviors.Cursors; using TouchScript.Pointers; -namespace TouchScript.Examples.Cube +namespace TouchScript.Examples.Cube { /// public class CustomPointerProxy : PointerCursor { - protected override void updateOnce(IPointer pointer) { + protected override void updateOnce(IPointer pointer) + { if (pointer.InputSource is RedirectInput) Hide(); - + base.updateOnce(pointer); } } diff --git a/Source/Assets/TouchScript/Examples/Cube/Scripts/Init.cs b/Source/Assets/TouchScript/Examples/Cube/Scripts/Init.cs index dfccb4da7..4afc392b7 100644 --- a/Source/Assets/TouchScript/Examples/Cube/Scripts/Init.cs +++ b/Source/Assets/TouchScript/Examples/Cube/Scripts/Init.cs @@ -5,17 +5,18 @@ using UnityEngine; using TouchScript.Layers; -namespace TouchScript.Examples.Cube +namespace TouchScript.Examples.Cube { /// - public class Init : MonoBehaviour + public class Init : MonoBehaviour { - void Start () { + void Start() + { var d = GetComponent(); - var go = GameObject.Find("Scene Camera"); + var go = GameObject.Find("Scene Camera"); go.GetComponent().Delegate = d; go = GameObject.Find("Camera"); - go.GetComponent().Delegate = d; + go.GetComponent().Delegate = d; } } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Cube/Scripts/LayerDelegate.cs b/Source/Assets/TouchScript/Examples/Cube/Scripts/LayerDelegate.cs index 3fc8fe4de..4c0762420 100644 --- a/Source/Assets/TouchScript/Examples/Cube/Scripts/LayerDelegate.cs +++ b/Source/Assets/TouchScript/Examples/Cube/Scripts/LayerDelegate.cs @@ -12,15 +12,14 @@ namespace TouchScript.Examples.Cube /// public class LayerDelegate : MonoBehaviour, ILayerDelegate { - public RedirectInput Source; public TouchLayer RenderTextureLayer; public bool ShouldReceivePointer(TouchLayer layer, IPointer pointer) { if (layer == RenderTextureLayer) - return pointer.InputSource == (IInputSource)Source; - return pointer.InputSource != (IInputSource)Source; + return pointer.InputSource == (IInputSource) Source; + return pointer.InputSource != (IInputSource) Source; } } -} +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Cube/Scripts/RedirectInput.cs b/Source/Assets/TouchScript/Examples/Cube/Scripts/RedirectInput.cs index 1d9c98ddf..cd87ed47f 100644 --- a/Source/Assets/TouchScript/Examples/Cube/Scripts/RedirectInput.cs +++ b/Source/Assets/TouchScript/Examples/Cube/Scripts/RedirectInput.cs @@ -15,7 +15,6 @@ namespace TouchScript.Examples.Cube /// public class RedirectInput : InputSource { - public int Width = 512; public int Height = 512; @@ -40,7 +39,7 @@ public override bool CancelPointer(Pointer pointer, bool shouldReturn) map.Add(pointer.Id, newPointer); } } - return true; + return true; } protected override void OnEnable() @@ -77,7 +76,7 @@ private Vector2 processCoords(Vector2 value) private void pointerPressedHandler(object sender, MetaGestureEventArgs metaGestureEventArgs) { var pointer = metaGestureEventArgs.Pointer; - if (pointer.InputSource == (IInputSource)this) return; + if (pointer.InputSource == (IInputSource) this) return; var newPointer = PointerFactory.Create(pointer.Type, this); newPointer.CopyFrom(pointer); @@ -90,9 +89,9 @@ private void pointerPressedHandler(object sender, MetaGestureEventArgs metaGestu private void pointerUpdatedHandler(object sender, MetaGestureEventArgs metaGestureEventArgs) { - var pointer = metaGestureEventArgs.Pointer; + var pointer = metaGestureEventArgs.Pointer; - if (pointer.InputSource == (IInputSource)this) return; + if (pointer.InputSource == (IInputSource) this) return; Pointer newPointer; if (!map.TryGetValue(pointer.Id, out newPointer)) return; @@ -106,7 +105,7 @@ private void pointerUpdatedHandler(object sender, MetaGestureEventArgs metaGestu private void pointerReleasedHandler(object sender, MetaGestureEventArgs metaGestureEventArgs) { var pointer = metaGestureEventArgs.Pointer; - if (pointer.InputSource == (IInputSource)this) return; + if (pointer.InputSource == (IInputSource) this) return; Pointer newPointer; if (!map.TryGetValue(pointer.Id, out newPointer)) return; @@ -118,14 +117,12 @@ private void pointerReleasedHandler(object sender, MetaGestureEventArgs metaGest private void pointerCancelledhandler(object sender, MetaGestureEventArgs metaGestureEventArgs) { var pointer = metaGestureEventArgs.Pointer; - if (pointer.InputSource == (IInputSource)this) return; + if (pointer.InputSource == (IInputSource) this) return; Pointer newPointer; if (!map.TryGetValue(pointer.Id, out newPointer)) return; map.Remove(pointer.Id); cancelPointer(newPointer); } - } - } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Examples.unity b/Source/Assets/TouchScript/Examples/Examples.unity index f6e0f851d..e68c675ed 100644 --- a/Source/Assets/TouchScript/Examples/Examples.unity +++ b/Source/Assets/TouchScript/Examples/Examples.unity @@ -1,19 +1,19 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!29 &1 -SceneSettings: +OcclusionCullingSettings: m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] + 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: 6 + serializedVersion: 8 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -25,6 +25,7 @@ RenderSettings: m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} m_HaloStrength: 0.5 m_FlareStrength: 1 @@ -37,12 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 9 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,48 +54,70 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 8 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 m_LightingDataAsset: {fileID: 0} - m_RuntimeCPUUsage: 25 + m_ShadowMaskMode: 2 --- !u!196 &5 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 + agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 agentSlope: 45 agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 - accuratePlacement: 0 minRegionArea: 2 - cellSize: 0.16666666 manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 m_NavMeshData: {fileID: 0} --- !u!1 &15691937 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 15691938} - - 222: {fileID: 15691940} - - 114: {fileID: 15691939} + - component: {fileID: 15691938} + - component: {fileID: 15691940} + - component: {fileID: 15691939} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -111,10 +134,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1037999862} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -165,11 +188,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 16824282} - - 222: {fileID: 16824284} - - 114: {fileID: 16824283} + - component: {fileID: 16824282} + - component: {fileID: 16824284} + - component: {fileID: 16824283} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -186,10 +209,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 758236082} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -239,10 +262,10 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 37557109} - - 114: {fileID: 37557110} + - component: {fileID: 37557109} + - component: {fileID: 37557110} m_Layer: 5 m_Name: Examples m_TagString: Untagged @@ -259,12 +282,12 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1317055114} - {fileID: 767854197} m_Father: {fileID: 2032927211} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: 0} @@ -287,13 +310,13 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} + - component: {fileID: 62216952} + - component: {fileID: 62216957} + - component: {fileID: 62216956} + - component: {fileID: 62216955} + - component: {fileID: 62216954} m_Layer: 0 m_Name: Camera m_TagString: MainCamera @@ -310,10 +333,10 @@ Transform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!81 &62216954 AudioListener: m_ObjectHideFlags: 0 @@ -365,6 +388,8 @@ Camera: m_TargetDisplay: 0 m_TargetEye: 3 m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 @@ -374,13 +399,13 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 96104532} - - 222: {fileID: 96104536} - - 114: {fileID: 96104535} - - 114: {fileID: 96104534} - - 114: {fileID: 96104533} + - component: {fileID: 96104532} + - component: {fileID: 96104536} + - component: {fileID: 96104535} + - component: {fileID: 96104534} + - component: {fileID: 96104533} m_Layer: 5 m_Name: Previous m_TagString: Untagged @@ -397,11 +422,11 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1784197137} m_Father: {fileID: 666412329} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -515,10 +540,10 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 4: {fileID: 174295523} - - 114: {fileID: 174295522} + - component: {fileID: 174295523} + - component: {fileID: 174295522} m_Layer: 0 m_Name: EventSystem m_TagString: Untagged @@ -549,21 +574,21 @@ Transform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1654745587} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &201561626 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 201561627} - - 222: {fileID: 201561630} - - 114: {fileID: 201561629} - - 114: {fileID: 201561628} + - component: {fileID: 201561627} + - component: {fileID: 201561630} + - component: {fileID: 201561629} + - component: {fileID: 201561628} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -580,10 +605,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 870787322} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -690,11 +715,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 299753859} - - 222: {fileID: 299753861} - - 114: {fileID: 299753860} + - component: {fileID: 299753859} + - component: {fileID: 299753861} + - component: {fileID: 299753860} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -711,10 +736,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1037999862} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -758,12 +783,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 309713871} - - 222: {fileID: 309713874} - - 114: {fileID: 309713873} - - 114: {fileID: 309713872} + - component: {fileID: 309713871} + - component: {fileID: 309713874} + - component: {fileID: 309713873} + - component: {fileID: 309713872} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -780,10 +805,10 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.6333333, y: 1.6333333, z: 1.6333333} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1402896514} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} @@ -847,12 +872,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 321008078} - - 222: {fileID: 321008081} - - 114: {fileID: 321008080} - - 114: {fileID: 321008079} + - component: {fileID: 321008078} + - component: {fileID: 321008081} + - component: {fileID: 321008080} + - component: {fileID: 321008079} m_Layer: 5 m_Name: Portal m_TagString: Untagged @@ -869,14 +894,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1449561975} - {fileID: 1241691652} - {fileID: 1894139120} - {fileID: 329812103} m_Father: {fileID: 2098255038} - m_RootOrder: 6 + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -938,11 +963,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 329812103} - - 222: {fileID: 329812105} - - 114: {fileID: 329812104} + - component: {fileID: 329812103} + - component: {fileID: 329812105} + - component: {fileID: 329812104} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -959,10 +984,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 321008078} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -1006,12 +1031,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 341179473} - - 222: {fileID: 341179476} - - 114: {fileID: 341179475} - - 114: {fileID: 341179474} + - component: {fileID: 341179473} + - component: {fileID: 341179476} + - component: {fileID: 341179475} + - component: {fileID: 341179474} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -1028,10 +1053,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 574950114} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -1138,12 +1163,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 357107825} - - 222: {fileID: 357107828} - - 114: {fileID: 357107827} - - 114: {fileID: 357107826} + - component: {fileID: 357107825} + - component: {fileID: 357107828} + - component: {fileID: 357107827} + - component: {fileID: 357107826} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -1160,10 +1185,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1037999862} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -1227,12 +1252,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 363049655} - - 222: {fileID: 363049658} - - 114: {fileID: 363049657} - - 114: {fileID: 363049656} + - component: {fileID: 363049655} + - component: {fileID: 363049658} + - component: {fileID: 363049657} + - component: {fileID: 363049656} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -1249,10 +1274,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 758236082} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -1359,11 +1384,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 385551183} - - 222: {fileID: 385551185} - - 114: {fileID: 385551184} + - component: {fileID: 385551183} + - component: {fileID: 385551185} + - component: {fileID: 385551184} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -1380,10 +1405,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1004776690} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -1433,12 +1458,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 406504771} - - 222: {fileID: 406504774} - - 114: {fileID: 406504773} - - 114: {fileID: 406504772} + - component: {fileID: 406504771} + - component: {fileID: 406504774} + - component: {fileID: 406504773} + - component: {fileID: 406504772} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -1455,10 +1480,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1037999862} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -1565,11 +1590,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 452970292} - - 222: {fileID: 452970294} - - 114: {fileID: 452970293} + - component: {fileID: 452970292} + - component: {fileID: 452970294} + - component: {fileID: 452970293} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -1586,10 +1611,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 870787322} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -1633,12 +1658,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 507770921} - - 222: {fileID: 507770920} - - 114: {fileID: 507770919} - - 114: {fileID: 507770918} + - component: {fileID: 507770921} + - component: {fileID: 507770920} + - component: {fileID: 507770919} + - component: {fileID: 507770918} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -1708,10 +1733,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 621592926} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -1722,11 +1747,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 558528359} - - 222: {fileID: 558528361} - - 114: {fileID: 558528360} + - component: {fileID: 558528359} + - component: {fileID: 558528361} + - component: {fileID: 558528360} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -1743,10 +1768,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 2076713667} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -1790,12 +1815,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 574950114} - - 222: {fileID: 574950117} - - 114: {fileID: 574950116} - - 114: {fileID: 574950115} + - component: {fileID: 574950114} + - component: {fileID: 574950117} + - component: {fileID: 574950116} + - component: {fileID: 574950115} m_Layer: 5 m_Name: Taps m_TagString: Untagged @@ -1812,14 +1837,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1800191864} - {fileID: 745674114} - {fileID: 341179473} - {fileID: 865431078} m_Father: {fileID: 2098255038} - m_RootOrder: 0 + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -1881,11 +1906,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 595145115} - - 222: {fileID: 595145117} - - 114: {fileID: 595145116} + - component: {fileID: 595145115} + - component: {fileID: 595145117} + - component: {fileID: 595145116} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -1902,10 +1927,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 601448587} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -1956,12 +1981,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 601448587} - - 222: {fileID: 601448590} - - 114: {fileID: 601448589} - - 114: {fileID: 601448588} + - component: {fileID: 601448587} + - component: {fileID: 601448590} + - component: {fileID: 601448589} + - component: {fileID: 601448588} m_Layer: 5 m_Name: Raw Input m_TagString: Untagged @@ -1978,14 +2003,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1260024592} - {fileID: 595145115} - {fileID: 2001542684} - {fileID: 2073758707} m_Father: {fileID: 2098255038} - m_RootOrder: 8 + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -2047,12 +2072,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 606054179} - - 114: {fileID: 606054182} - - 222: {fileID: 606054181} - - 114: {fileID: 606054180} + - component: {fileID: 606054179} + - component: {fileID: 606054182} + - component: {fileID: 606054181} + - component: {fileID: 606054180} m_Layer: 5 m_Name: Viewport m_TagString: Untagged @@ -2069,11 +2094,11 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 2098255038} m_Father: {fileID: 1317055114} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 25, y: -43} @@ -2129,12 +2154,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 621592926} - - 222: {fileID: 621592929} - - 114: {fileID: 621592928} - - 114: {fileID: 621592927} + - component: {fileID: 621592926} + - component: {fileID: 621592929} + - component: {fileID: 621592928} + - component: {fileID: 621592927} m_Layer: 5 m_Name: Cube m_TagString: Untagged @@ -2151,14 +2176,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 507770921} - {fileID: 749901011} - {fileID: 842217637} - {fileID: 2088901649} m_Father: {fileID: 2098255038} - m_RootOrder: 5 + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -2220,10 +2245,10 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 666412329} - - 114: {fileID: 666412330} + - component: {fileID: 666412329} + - component: {fileID: 666412330} m_Layer: 5 m_Name: Buttons m_TagString: Untagged @@ -2240,13 +2265,13 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 96104532} - {fileID: 1412835668} - {fileID: 1778454010} m_Father: {fileID: 2032927211} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: -141, y: 35} @@ -2272,16 +2297,18 @@ MonoBehaviour: m_Spacing: 2 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 --- !u!1 &700544018 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 700544019} - - 222: {fileID: 700544021} - - 114: {fileID: 700544020} + - component: {fileID: 700544019} + - component: {fileID: 700544021} + - component: {fileID: 700544020} m_Layer: 5 m_Name: Ribbon m_TagString: Untagged @@ -2298,11 +2325,11 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1924054934} m_Father: {fileID: 1317055114} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.9607719} m_AnchorMax: {x: 0.5, y: 0.9607719} m_AnchoredPosition: {x: 0.000020981002, y: 7.3999023} @@ -2346,11 +2373,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 745674114} - - 222: {fileID: 745674116} - - 114: {fileID: 745674115} + - component: {fileID: 745674114} + - component: {fileID: 745674116} + - component: {fileID: 745674115} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -2367,10 +2394,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 574950114} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -2420,11 +2447,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 749901011} - - 222: {fileID: 749901013} - - 114: {fileID: 749901012} + - component: {fileID: 749901011} + - component: {fileID: 749901013} + - component: {fileID: 749901012} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -2441,10 +2468,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 621592926} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -2494,12 +2521,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 758236082} - - 222: {fileID: 758236085} - - 114: {fileID: 758236084} - - 114: {fileID: 758236083} + - component: {fileID: 758236082} + - component: {fileID: 758236085} + - component: {fileID: 758236084} + - component: {fileID: 758236083} m_Layer: 5 m_Name: Checkers m_TagString: Untagged @@ -2516,14 +2543,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1280257797} - {fileID: 16824282} - {fileID: 363049655} - {fileID: 1987127154} m_Father: {fileID: 2098255038} - m_RootOrder: 2 + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -2585,12 +2612,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 767854197} - - 222: {fileID: 767854200} - - 114: {fileID: 767854199} - - 114: {fileID: 767854198} + - component: {fileID: 767854197} + - component: {fileID: 767854200} + - component: {fileID: 767854199} + - component: {fileID: 767854198} m_Layer: 5 m_Name: Close m_TagString: Untagged @@ -2607,10 +2634,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 37557109} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: -31.199997, y: -39.700195} @@ -2706,12 +2733,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 801696179} - - 222: {fileID: 801696182} - - 114: {fileID: 801696181} - - 114: {fileID: 801696180} + - component: {fileID: 801696179} + - component: {fileID: 801696182} + - component: {fileID: 801696181} + - component: {fileID: 801696180} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -2728,10 +2755,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 2076713667} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -2790,17 +2817,106 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 801696178} +--- !u!1 &812982524 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 812982525} + - component: {fileID: 812982528} + - component: {fileID: 812982527} + - component: {fileID: 812982526} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &812982525 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 812982524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1920151151} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 33.699997, y: 21.6} + m_SizeDelta: {x: -94.8, y: -68.2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &812982526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 812982524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 0 +--- !u!114 &812982527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 812982524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: e423173afdece4d3fa49ed8e89391fce, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: pull +--- !u!222 &812982528 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 812982524} --- !u!1 &842217636 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 842217637} - - 222: {fileID: 842217640} - - 114: {fileID: 842217639} - - 114: {fileID: 842217638} + - component: {fileID: 842217637} + - component: {fileID: 842217640} + - component: {fileID: 842217639} + - component: {fileID: 842217638} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -2817,10 +2933,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 621592926} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -2927,11 +3043,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 865431078} - - 222: {fileID: 865431080} - - 114: {fileID: 865431079} + - component: {fileID: 865431078} + - component: {fileID: 865431080} + - component: {fileID: 865431079} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -2948,10 +3064,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 574950114} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -2995,12 +3111,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 870787322} - - 222: {fileID: 870787325} - - 114: {fileID: 870787324} - - 114: {fileID: 870787323} + - component: {fileID: 870787322} + - component: {fileID: 870787325} + - component: {fileID: 870787324} + - component: {fileID: 870787323} m_Layer: 5 m_Name: Camera m_TagString: Untagged @@ -3017,14 +3133,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 879805661} - {fileID: 1030186641} - {fileID: 201561627} - {fileID: 452970292} m_Father: {fileID: 2098255038} - m_RootOrder: 1 + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -3086,12 +3202,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 879805661} - - 222: {fileID: 879805664} - - 114: {fileID: 879805663} - - 114: {fileID: 879805662} + - component: {fileID: 879805661} + - component: {fileID: 879805664} + - component: {fileID: 879805663} + - component: {fileID: 879805662} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -3108,10 +3224,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 870787322} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -3175,12 +3291,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 962873577} - - 222: {fileID: 962873580} - - 114: {fileID: 962873579} - - 114: {fileID: 962873578} + - component: {fileID: 962873577} + - component: {fileID: 962873580} + - component: {fileID: 962873579} + - component: {fileID: 962873578} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -3197,10 +3313,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1004776690} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -3307,12 +3423,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1004776690} - - 222: {fileID: 1004776693} - - 114: {fileID: 1004776692} - - 114: {fileID: 1004776691} + - component: {fileID: 1004776690} + - component: {fileID: 1004776693} + - component: {fileID: 1004776692} + - component: {fileID: 1004776691} m_Layer: 5 m_Name: Multiuser m_TagString: Untagged @@ -3329,14 +3445,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 2008717908} - {fileID: 385551183} - {fileID: 962873577} - {fileID: 1608867050} m_Father: {fileID: 2098255038} - m_RootOrder: 4 + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -3398,11 +3514,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1030186641} - - 222: {fileID: 1030186643} - - 114: {fileID: 1030186642} + - component: {fileID: 1030186641} + - component: {fileID: 1030186643} + - component: {fileID: 1030186642} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -3419,10 +3535,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 870787322} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -3473,12 +3589,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1037999862} - - 222: {fileID: 1037999865} - - 114: {fileID: 1037999864} - - 114: {fileID: 1037999863} + - component: {fileID: 1037999862} + - component: {fileID: 1037999865} + - component: {fileID: 1037999864} + - component: {fileID: 1037999863} m_Layer: 5 m_Name: Colors m_TagString: Untagged @@ -3495,14 +3611,14 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 357107825} - {fileID: 15691938} - {fileID: 406504771} - {fileID: 299753859} m_Father: {fileID: 2098255038} - m_RootOrder: 7 + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -3564,11 +3680,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1168732683} - - 222: {fileID: 1168732685} - - 114: {fileID: 1168732684} + - component: {fileID: 1168732683} + - component: {fileID: 1168732685} + - component: {fileID: 1168732684} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -3585,10 +3701,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 2076713667} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -3638,12 +3754,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1173809306} - - 222: {fileID: 1173809309} - - 114: {fileID: 1173809308} - - 114: {fileID: 1173809307} + - component: {fileID: 1173809306} + - component: {fileID: 1173809309} + - component: {fileID: 1173809308} + - component: {fileID: 1173809307} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -3660,10 +3776,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1778454010} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -1} @@ -3727,11 +3843,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1241691652} - - 222: {fileID: 1241691654} - - 114: {fileID: 1241691653} + - component: {fileID: 1241691652} + - component: {fileID: 1241691654} + - component: {fileID: 1241691653} m_Layer: 5 m_Name: Description m_TagString: Untagged @@ -3748,10 +3864,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 321008078} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 15.699997, y: -4.8999996} @@ -3801,12 +3917,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1260024592} - - 222: {fileID: 1260024595} - - 114: {fileID: 1260024594} - - 114: {fileID: 1260024593} + - component: {fileID: 1260024592} + - component: {fileID: 1260024595} + - component: {fileID: 1260024594} + - component: {fileID: 1260024593} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -3823,10 +3939,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 601448587} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -3890,12 +4006,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1280257797} - - 222: {fileID: 1280257800} - - 114: {fileID: 1280257799} - - 114: {fileID: 1280257798} + - component: {fileID: 1280257797} + - component: {fileID: 1280257800} + - component: {fileID: 1280257799} + - component: {fileID: 1280257798} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -3912,10 +4028,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 758236082} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -3979,12 +4095,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1317055114} - - 114: {fileID: 1317055117} - - 222: {fileID: 1317055116} - - 114: {fileID: 1317055115} + - component: {fileID: 1317055114} + - component: {fileID: 1317055117} + - component: {fileID: 1317055116} + - component: {fileID: 1317055115} m_Layer: 5 m_Name: Examples List m_TagString: Untagged @@ -4001,12 +4117,12 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 606054179} - {fileID: 700544019} m_Father: {fileID: 37557109} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: -0, y: -10} @@ -4081,12 +4197,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1361172027} - - 222: {fileID: 1361172030} - - 114: {fileID: 1361172029} - - 114: {fileID: 1361172028} + - component: {fileID: 1361172027} + - component: {fileID: 1361172030} + - component: {fileID: 1361172029} + - component: {fileID: 1361172028} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -4103,10 +4219,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 2076713667} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -4213,12 +4329,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1402896514} - - 223: {fileID: 1402896517} - - 114: {fileID: 1402896516} - - 114: {fileID: 1402896515} + - component: {fileID: 1402896514} + - component: {fileID: 1402896517} + - component: {fileID: 1402896516} + - component: {fileID: 1402896515} m_Layer: 5 m_Name: Canvas m_TagString: Untagged @@ -4235,11 +4351,11 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 309713871} m_Father: {fileID: 0} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -4284,7 +4400,7 @@ Canvas: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1402896513} m_Enabled: 0 - serializedVersion: 2 + serializedVersion: 3 m_RenderMode: 0 m_Camera: {fileID: 0} m_PlaneDistance: 100 @@ -4293,21 +4409,90 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!1 &1411566800 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1411566801} + - component: {fileID: 1411566803} + - component: {fileID: 1411566802} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1411566801 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1411566800} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1920151151} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -86.3, y: 3.8} + m_SizeDelta: {x: 46, y: 54} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1411566802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1411566800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ed91d97df020e4a8cb289e68e82485be, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1411566803 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1411566800} --- !u!1 &1412835664 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1412835668} - - 222: {fileID: 1412835667} - - 114: {fileID: 1412835666} - - 114: {fileID: 1412835665} - - 114: {fileID: 1412835669} + - component: {fileID: 1412835668} + - component: {fileID: 1412835667} + - component: {fileID: 1412835666} + - component: {fileID: 1412835665} + - component: {fileID: 1412835669} m_Layer: 5 m_Name: List m_TagString: Untagged @@ -4409,11 +4594,11 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1487808224} m_Father: {fileID: 666412329} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -4442,12 +4627,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1449561975} - - 222: {fileID: 1449561978} - - 114: {fileID: 1449561977} - - 114: {fileID: 1449561976} + - component: {fileID: 1449561975} + - component: {fileID: 1449561978} + - component: {fileID: 1449561977} + - component: {fileID: 1449561976} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -4464,10 +4649,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 321008078} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -4531,12 +4716,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1487808224} - - 222: {fileID: 1487808226} - - 114: {fileID: 1487808225} - - 114: {fileID: 1487808227} + - component: {fileID: 1487808224} + - component: {fileID: 1487808226} + - component: {fileID: 1487808225} + - component: {fileID: 1487808227} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -4553,10 +4738,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1412835668} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 2} @@ -4615,36 +4800,242 @@ MonoBehaviour: m_EffectColor: {r: 0, g: 0, b: 0, a: 0.297} m_EffectDistance: {x: 1, y: -1} m_UseGraphicAlpha: 1 ---- !u!1 &1608867049 +--- !u!1 &1562323887 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1608867050} - - 222: {fileID: 1608867052} - - 114: {fileID: 1608867051} + - component: {fileID: 1562323888} + - component: {fileID: 1562323890} + - component: {fileID: 1562323889} m_Layer: 5 - m_Name: Image + m_Name: Description m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1608867050 +--- !u!224 &1562323888 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1608867049} + m_GameObject: {fileID: 1562323887} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1920151151} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15.699997, y: -4.8999996} + m_SizeDelta: {x: -131.9, y: -51.2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1562323889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1562323887} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 8 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 8 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Shows how to write a custom gesture. +--- !u!222 &1562323890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1562323887} +--- !u!1 &1567954097 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1567954098} + - component: {fileID: 1567954101} + - component: {fileID: 1567954100} + - component: {fileID: 1567954099} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1567954098 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567954097} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1920151151} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 100, y: -4.9} + m_SizeDelta: {x: 36.7, y: 36.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1567954099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567954097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.75735295, g: 1, b: 0.769067, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1567954100} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1654745588} + m_MethodName: LoadLevel + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: Pull + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 37557110} + m_MethodName: ShowHide + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1567954100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567954097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 5410db89f39a24e0fa785adf88e19b01, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1567954101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567954097} +--- !u!1 &1608867049 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1608867050} + - component: {fileID: 1608867052} + - component: {fileID: 1608867051} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1608867050 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1608867049} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1004776690} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -4688,11 +5079,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 4: {fileID: 1654745587} - - 114: {fileID: 1654745588} - - 114: {fileID: 1654745589} + - component: {fileID: 1654745587} + - component: {fileID: 1654745588} + - component: {fileID: 1654745589} m_Layer: 0 m_Name: Examples m_TagString: Untagged @@ -4709,12 +5100,12 @@ Transform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 174295523} - {fileID: 2032927211} m_Father: {fileID: 0} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1654745588 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4738,7 +5129,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Name: ScreenSpace UI Layer + basicEditor: 1 advancedProps: 0 + hitProps: 0 hit3DObjects: 0 hit2DObjects: 0 hitWorldSpaceUI: 0 @@ -4752,13 +5145,13 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1778454010} - - 222: {fileID: 1778454014} - - 114: {fileID: 1778454013} - - 114: {fileID: 1778454012} - - 114: {fileID: 1778454011} + - component: {fileID: 1778454010} + - component: {fileID: 1778454014} + - component: {fileID: 1778454013} + - component: {fileID: 1778454012} + - component: {fileID: 1778454011} m_Layer: 5 m_Name: Next m_TagString: Untagged @@ -4775,11 +5168,11 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1173809306} m_Father: {fileID: 666412329} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -4893,12 +5286,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1784197137} - - 222: {fileID: 1784197140} - - 114: {fileID: 1784197139} - - 114: {fileID: 1784197138} + - component: {fileID: 1784197137} + - component: {fileID: 1784197140} + - component: {fileID: 1784197139} + - component: {fileID: 1784197138} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -4915,10 +5308,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 96104532} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -2} @@ -4982,12 +5375,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1800191864} - - 222: {fileID: 1800191867} - - 114: {fileID: 1800191866} - - 114: {fileID: 1800191865} + - component: {fileID: 1800191864} + - component: {fileID: 1800191867} + - component: {fileID: 1800191866} + - component: {fileID: 1800191865} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -5004,10 +5397,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 574950114} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -5071,12 +5464,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1894139120} - - 222: {fileID: 1894139123} - - 114: {fileID: 1894139122} - - 114: {fileID: 1894139121} + - component: {fileID: 1894139120} + - component: {fileID: 1894139123} + - component: {fileID: 1894139122} + - component: {fileID: 1894139121} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -5093,10 +5486,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 321008078} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -5198,17 +5591,108 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1894139119} +--- !u!1 &1920151150 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1920151151} + - component: {fileID: 1920151154} + - component: {fileID: 1920151153} + - component: {fileID: 1920151152} + m_Layer: 5 + m_Name: Pull + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1920151151 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920151150} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999774, y: 0.99999774, z: 0.99999774} + m_Children: + - {fileID: 812982525} + - {fileID: 1562323888} + - {fileID: 1567954098} + - {fileID: 1411566801} + m_Father: {fileID: 2098255038} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1920151152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920151150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 80 + m_PreferredWidth: -1 + m_PreferredHeight: 80 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &1920151153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920151150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: b8fce26041bc947319fee43a8ec9bb5d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1920151154 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920151150} --- !u!1 &1924054933 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1924054934} - - 222: {fileID: 1924054937} - - 114: {fileID: 1924054936} - - 114: {fileID: 1924054935} + - component: {fileID: 1924054934} + - component: {fileID: 1924054937} + - component: {fileID: 1924054936} + - component: {fileID: 1924054935} m_Layer: 5 m_Name: Examples m_TagString: Untagged @@ -5225,10 +5709,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 700544019} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0.000024319, y: 7.9} @@ -5292,11 +5776,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 1987127154} - - 222: {fileID: 1987127156} - - 114: {fileID: 1987127155} + - component: {fileID: 1987127154} + - component: {fileID: 1987127156} + - component: {fileID: 1987127155} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -5313,10 +5797,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 758236082} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -5360,12 +5844,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2001542684} - - 222: {fileID: 2001542687} - - 114: {fileID: 2001542686} - - 114: {fileID: 2001542685} + - component: {fileID: 2001542684} + - component: {fileID: 2001542687} + - component: {fileID: 2001542686} + - component: {fileID: 2001542685} m_Layer: 5 m_Name: Button m_TagString: Untagged @@ -5382,10 +5866,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 601448587} m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 100, y: -4.9} @@ -5492,12 +5976,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2008717908} - - 222: {fileID: 2008717911} - - 114: {fileID: 2008717910} - - 114: {fileID: 2008717909} + - component: {fileID: 2008717908} + - component: {fileID: 2008717911} + - component: {fileID: 2008717910} + - component: {fileID: 2008717909} m_Layer: 5 m_Name: Title m_TagString: Untagged @@ -5514,10 +5998,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1004776690} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 33.699997, y: 21.6} @@ -5581,12 +6065,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2032927211} - - 223: {fileID: 2032927214} - - 114: {fileID: 2032927213} - - 114: {fileID: 2032927212} + - component: {fileID: 2032927211} + - component: {fileID: 2032927214} + - component: {fileID: 2032927213} + - component: {fileID: 2032927212} m_Layer: 5 m_Name: Canvas m_TagString: Untagged @@ -5603,12 +6087,12 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 666412329} - {fileID: 37557109} m_Father: {fileID: 1654745587} m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -5658,7 +6142,7 @@ Canvas: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2032927210} m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_RenderMode: 0 m_Camera: {fileID: 0} m_PlaneDistance: 100 @@ -5667,6 +6151,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -5675,11 +6160,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2073758707} - - 222: {fileID: 2073758709} - - 114: {fileID: 2073758708} + - component: {fileID: 2073758707} + - component: {fileID: 2073758709} + - component: {fileID: 2073758708} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -5696,10 +6181,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 601448587} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -5743,12 +6228,12 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2076713667} - - 222: {fileID: 2076713670} - - 114: {fileID: 2076713669} - - 114: {fileID: 2076713668} + - component: {fileID: 2076713667} + - component: {fileID: 2076713670} + - component: {fileID: 2076713669} + - component: {fileID: 2076713668} m_Layer: 5 m_Name: Photos m_TagString: Untagged @@ -5765,7 +6250,6 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 801696179} - {fileID: 1168732683} @@ -5773,6 +6257,7 @@ RectTransform: - {fileID: 558528359} m_Father: {fileID: 2098255038} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -5834,11 +6319,11 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2088901649} - - 222: {fileID: 2088901651} - - 114: {fileID: 2088901650} + - component: {fileID: 2088901649} + - component: {fileID: 2088901651} + - component: {fileID: 2088901650} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -5855,10 +6340,10 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 621592926} m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -86.3, y: 3.8} @@ -5902,10 +6387,10 @@ GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 4 + serializedVersion: 5 m_Component: - - 224: {fileID: 2098255038} - - 114: {fileID: 2098255039} + - component: {fileID: 2098255038} + - component: {fileID: 2098255039} m_Layer: 5 m_Name: Content m_TagString: Untagged @@ -5922,23 +6407,24 @@ RectTransform: 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: + - {fileID: 601448587} - {fileID: 574950114} - {fileID: 870787322} - - {fileID: 758236082} - {fileID: 2076713667} - - {fileID: 1004776690} - - {fileID: 621592926} + - {fileID: 758236082} - {fileID: 321008078} - {fileID: 1037999862} - - {fileID: 601448587} + - {fileID: 621592926} + - {fileID: 1004776690} + - {fileID: 1920151151} m_Father: {fileID: 606054179} m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 734} + m_SizeDelta: {x: 0, y: 815} m_Pivot: {x: 0, y: 1} --- !u!114 &2098255039 MonoBehaviour: @@ -5960,3 +6446,5 @@ MonoBehaviour: m_Spacing: 2 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 diff --git a/Source/Assets/TouchScript/Examples/Multiuser/Multiuser.unity.meta b/Source/Assets/TouchScript/Examples/Multiuser/Multiuser.unity.meta index 77bd0faba..ec0b25d69 100644 --- a/Source/Assets/TouchScript/Examples/Multiuser/Multiuser.unity.meta +++ b/Source/Assets/TouchScript/Examples/Multiuser/Multiuser.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 3b34d0a4b336446dd98f5f9951fe6480 DefaultImporter: - userData: + userData: "9" diff --git a/Source/Assets/TouchScript/Examples/Multiuser/Scripts/Logo.cs b/Source/Assets/TouchScript/Examples/Multiuser/Scripts/Logo.cs index c99f0bd5c..a7ec42026 100644 --- a/Source/Assets/TouchScript/Examples/Multiuser/Scripts/Logo.cs +++ b/Source/Assets/TouchScript/Examples/Multiuser/Scripts/Logo.cs @@ -12,8 +12,7 @@ namespace TouchScript.Examples.Multiuser /// public class Logo : MonoBehaviour { - private static Color[] COLORS = new[] - {Color.yellow, Color.red, Color.magenta, Color.green, Color.cyan, Color.blue}; + private static Color[] COLORS = new[] {Color.yellow, Color.red, Color.magenta, Color.green, Color.cyan, Color.blue}; private void OnEnable() { diff --git a/Source/Assets/TouchScript/Examples/Photos/Photos.unity.meta b/Source/Assets/TouchScript/Examples/Photos/Photos.unity.meta index 161e2ebac..6499da86b 100644 --- a/Source/Assets/TouchScript/Examples/Photos/Photos.unity.meta +++ b/Source/Assets/TouchScript/Examples/Photos/Photos.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: e43bdd4f3bf144b74b4726208781dd66 DefaultImporter: - userData: "3" + userData: "4" diff --git a/Source/Assets/TouchScript/Examples/Photos/Scripts/Container.cs b/Source/Assets/TouchScript/Examples/Photos/Scripts/Container.cs index 01660c615..df0c095cc 100644 --- a/Source/Assets/TouchScript/Examples/Photos/Scripts/Container.cs +++ b/Source/Assets/TouchScript/Examples/Photos/Scripts/Container.cs @@ -20,8 +20,8 @@ public void Add() clone.transform.SetParent(transform); clone.transform.localScale = Vector3.one; clone.transform.localRotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f)); - clone.transform.localPosition = new Vector3(Random.Range(-Width/2, Width/2), - Random.Range(-Height/2, Height/2), toClone.localPosition.z); + clone.transform.localPosition = new Vector3(Random.Range(-Width / 2, Width / 2), + Random.Range(-Height / 2, Height / 2), toClone.localPosition.z); initChild(clone.transform); } diff --git a/Source/Assets/TouchScript/Examples/Portal/Portal.unity.meta b/Source/Assets/TouchScript/Examples/Portal/Portal.unity.meta index 2bb2a8c8b..bc963d131 100644 --- a/Source/Assets/TouchScript/Examples/Portal/Portal.unity.meta +++ b/Source/Assets/TouchScript/Examples/Portal/Portal.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 20ddca9320eeb4eb28b7ce5fcb289923 DefaultImporter: - userData: + userData: "6" diff --git a/Source/Assets/TouchScript/Examples/Portal/Scripts/Spawner.cs b/Source/Assets/TouchScript/Examples/Portal/Scripts/Spawner.cs index ada86c798..29e377c44 100644 --- a/Source/Assets/TouchScript/Examples/Portal/Scripts/Spawner.cs +++ b/Source/Assets/TouchScript/Examples/Portal/Scripts/Spawner.cs @@ -11,7 +11,6 @@ namespace TouchScript.Examples.Portal /// public class Spawner : MonoBehaviour { - public Transform Prefab; public Transform Position; diff --git a/Source/Assets/TouchScript/Examples/Pull.meta b/Source/Assets/TouchScript/Examples/Pull.meta new file mode 100644 index 000000000..00e830361 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1a092b00a4e374c60a1f1b5af1727a4c +folderAsset: yes +timeCreated: 1501590523 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Materials.meta b/Source/Assets/TouchScript/Examples/Pull/Materials.meta new file mode 100644 index 000000000..41948a301 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0d02fe6a7404f4fa8b9b5214e052cd7d +folderAsset: yes +timeCreated: 1501599114 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat b/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat new file mode 100644 index 000000000..a11dc3831 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 1, b: 0.048275948, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat.meta b/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat.meta new file mode 100644 index 000000000..4ff475c12 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Materials/Green.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6a7cc3aeb872a43c9b48602411ff0128 +timeCreated: 1501599163 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Prefabs.meta b/Source/Assets/TouchScript/Examples/Pull/Prefabs.meta new file mode 100644 index 000000000..26c7eed13 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e930c60b631064c8282b18e4fd304215 +folderAsset: yes +timeCreated: 1501590612 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab b/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab new file mode 100644 index 000000000..6d1afd749 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab @@ -0,0 +1,276 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1583770791137080} + m_IsPrefabParent: 1 +--- !u!1 &1187127904395504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4273383945290788} + - component: {fileID: 120722583279136224} + m_Layer: 0 + m_Name: Line + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1583770791137080 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4092497047216208} + - component: {fileID: 33076793992048592} + - component: {fileID: 65806177754892914} + - component: {fileID: 23586366584321034} + - component: {fileID: 54930536093548728} + - component: {fileID: 114518461671103506} + - component: {fileID: 114334082651901656} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4092497047216208 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.02, y: 0.69, z: -2.33} + m_LocalScale: {x: 1.5896826, y: 1.589683, z: 1.589683} + m_Children: + - {fileID: 4273383945290788} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4273383945290788 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1187127904395504} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4092497047216208} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23586366584321034 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33076793992048592 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &54930536093548728 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &65806177754892914 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114334082651901656 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 057fc4dd3742040c9b65eac0a4e3cac7, type: 3} + m_Name: + m_EditorClassIdentifier: + ForceMultiplier: 100 + Line: {fileID: 120722583279136224} +--- !u!114 &114518461671103506 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1583770791137080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 767c446d703184f6faf8a12a85d591eb, type: 3} + m_Name: + m_EditorClassIdentifier: + OnStateChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TouchScript.Gestures.Gesture+GestureEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + basicEditor: 0 + generalProps: 0 + limitsProps: 0 + advancedProps: 0 + minPointers: 0 + maxPointers: 0 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + useUnityEvents: 0 + sendStateChangeEvents: 0 + requireGestureToFail: {fileID: 0} + friendlyGestures: [] +--- !u!120 &120722583279136224 +LineRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1187127904395504} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 6a7cc3aeb872a43c9b48602411ff0128, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 10} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + m_UseWorldSpace: 1 + m_Loop: 0 diff --git a/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab.meta b/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab.meta new file mode 100644 index 000000000..eb5fb7666 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Prefabs/Cube.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 21a4063eaa6b1410f8b9be15c9d964df +timeCreated: 1501590642 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Pull.unity b/Source/Assets/TouchScript/Examples/Pull/Pull.unity new file mode 100644 index 000000000..6ed0b637b --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Pull.unity @@ -0,0 +1,1990 @@ +%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: 8 + 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.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} + 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: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &43919907 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 43919908} + - component: {fileID: 43919912} + - component: {fileID: 43919911} + - component: {fileID: 43919910} + - component: {fileID: 43919909} + m_Layer: 0 + m_Name: Static Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &43919908 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43919907} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.04, y: 0.69, z: 0.21} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &43919909 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43919907} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &43919910 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43919907} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &43919911 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43919907} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &43919912 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43919907} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &62216951 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62216952} + - component: {fileID: 62216957} + - component: {fileID: 62216956} + - component: {fileID: 62216955} + - component: {fileID: 62216954} + - component: {fileID: 62216953} + m_Layer: 0 + m_Name: Scene Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &62216952 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_LocalRotation: {x: 0.26945794, y: 0, z: 0, w: 0.96301216} + m_LocalPosition: {x: -1.11, y: 10.1, z: -17.45} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 930800601} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 31.264, y: 0, z: 0} +--- !u!114 &62216953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e5768c36d1bb4acea50bd233372843a, type: 3} + m_Name: + m_EditorClassIdentifier: + Name: Scene Camera + basicEditor: 1 + advancedProps: 0 + hitProps: 0 + hit3DObjects: 1 + hit2DObjects: 0 + hitWorldSpaceUI: 0 + hitScreenSpaceUI: 0 + layerMask: + serializedVersion: 2 + m_Bits: 4294967295 + useHitFilters: 0 +--- !u!81 &62216954 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_Enabled: 1 +--- !u!124 &62216955 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_Enabled: 1 +--- !u!92 &62216956 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_Enabled: 1 +--- !u!20 &62216957 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62216951} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 40 + field of view: 30 + orthographic: 0 + orthographic size: 100 + 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: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!1 &250857269 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 250857271} + - component: {fileID: 250857270} + m_Layer: 5 + m_Name: List + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &250857270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 250857269} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!224 &250857271 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 250857269} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 922779737} + - {fileID: 1679844150} + m_Father: {fileID: 1981142013} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &312263519 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 312263520} + m_Layer: 0 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &312263520 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 312263519} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 497908867} + - {fileID: 1348713904} + - {fileID: 1523632846} + - {fileID: 703341282} + - {fileID: 2086987748} + - {fileID: 525512062} + - {fileID: 43919908} + m_Father: {fileID: 930800601} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &497908867 stripped +Transform: + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 1411228864} +--- !u!1 &525512061 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 525512062} + - component: {fileID: 525512066} + - component: {fileID: 525512065} + - component: {fileID: 525512064} + - component: {fileID: 525512063} + m_Layer: 0 + m_Name: Static Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &525512062 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525512061} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.27, y: 0.69, z: 2.94} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &525512063 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525512061} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &525512064 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525512061} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &525512065 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525512061} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &525512066 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525512061} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &543251036 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: layers.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + propertyPath: layers.Array.data[0] + value: + objectReference: {fileID: 62216953} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &584553677 stripped +Transform: + m_PrefabParentObject: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + m_PrefabInternal: {fileID: 599866430} +--- !u!1001 &599866430 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 930800601} + m_Modifications: + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalPosition.y + value: -12.97 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalPosition.z + value: 0.26 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalRotation.y + value: 0.36056674 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalRotation.w + value: 0.9327335 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalScale.x + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalScale.y + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_LocalScale.z + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 9500000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + m_ParentPrefab: {fileID: 100100000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + m_IsPrefabParent: 0 +--- !u!1 &703341281 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 703341282} + - component: {fileID: 703341286} + - component: {fileID: 703341285} + - component: {fileID: 703341284} + - component: {fileID: 703341283} + m_Layer: 0 + m_Name: Static Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &703341282 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 703341281} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.55, y: 0.69, z: 5.28} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &703341283 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 703341281} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &703341284 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 703341281} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &703341285 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 703341281} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &703341286 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 703341281} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &721853795 stripped +GameObject: + m_PrefabParentObject: {fileID: 100006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + m_PrefabInternal: {fileID: 599866430} +--- !u!64 &721853799 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 721853795} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 1 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} +--- !u!1 &740851131 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 740851132} + - component: {fileID: 740851135} + - component: {fileID: 740851134} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &740851132 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 740851131} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1981142013} + - {fileID: 1552723601} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &740851134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 740851131} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 640, y: 480} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &740851135 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 740851131} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &922779735 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 922779737} + - component: {fileID: 922779736} + m_Layer: 5 + m_Name: Drag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &922779736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922779735} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 60 + m_PreferredWidth: -1 + m_PreferredHeight: 60 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!224 &922779737 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922779735} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1149683276} + - {fileID: 1166494019} + m_Father: {fileID: 250857271} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &930800600 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 930800601} + m_Layer: 0 + m_Name: Scene + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &930800601 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930800600} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2135305920} + - {fileID: 62216952} + - {fileID: 584553677} + - {fileID: 312263520} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1138005899 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1138005900} + - component: {fileID: 1138005902} + - component: {fileID: 1138005901} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1138005900 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138005899} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1679844150} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 31, y: 0} + m_SizeDelta: {x: 60, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1138005901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138005899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 26489b03725f747f998c39661c2583b5, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1138005902 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138005899} +--- !u!1 &1149683275 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1149683276} + - component: {fileID: 1149683278} + - component: {fileID: 1149683277} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1149683276 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149683275} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 922779737} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 31, y: 0} + m_SizeDelta: {x: 60, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1149683277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149683275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: dcd0c08ae57e04a64bd2388ac4057dc6, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1149683278 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149683275} +--- !u!1 &1166494018 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1166494019} + - component: {fileID: 1166494022} + - component: {fileID: 1166494021} + - component: {fileID: 1166494020} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1166494019 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166494018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 922779737} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 177.5, y: 0} + m_SizeDelta: {x: 204.7, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1166494020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166494018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1166494021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166494018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "Press and drag \nthe central cube" +--- !u!222 &1166494022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166494018} +--- !u!1 &1271849413 stripped +GameObject: + m_PrefabParentObject: {fileID: 100008, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} + m_PrefabInternal: {fileID: 599866430} +--- !u!64 &1271849417 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1271849413} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 1 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} +--- !u!1 &1348713903 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1348713904} + - component: {fileID: 1348713908} + - component: {fileID: 1348713907} + - component: {fileID: 1348713906} + - component: {fileID: 1348713905} + m_Layer: 0 + m_Name: Static Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1348713904 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348713903} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.97, y: 0.69, z: 0.26} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &1348713905 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348713903} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &1348713906 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348713903} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1348713907 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348713903} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1348713908 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348713903} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1408280580 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1408280581} + - component: {fileID: 1408280583} + - component: {fileID: 1408280582} + - component: {fileID: 1408280584} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1408280581 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1408280580} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1679844150} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 177.5, y: 0} + m_SizeDelta: {x: 204.7, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1408280582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1408280580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "Release the touch \nto apply the force" +--- !u!222 &1408280583 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1408280580} +--- !u!114 &1408280584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1408280580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1001 &1411228864 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 312263520} + m_Modifications: + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalPosition.x + value: 0.02 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalPosition.y + value: 0.69 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalPosition.z + value: -2.33 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 21a4063eaa6b1410f8b9be15c9d964df, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1523632845 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1523632846} + - component: {fileID: 1523632850} + - component: {fileID: 1523632849} + - component: {fileID: 1523632848} + - component: {fileID: 1523632847} + m_Layer: 0 + m_Name: Static Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1523632846 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523632845} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.45, y: 0.69, z: 3.53} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &1523632847 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523632845} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &1523632848 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523632845} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1523632849 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523632845} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1523632850 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523632845} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1552723600 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1552723601} + - component: {fileID: 1552723603} + - component: {fileID: 1552723602} + - component: {fileID: 1552723604} + m_Layer: 5 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1552723601 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1552723600} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 740851132} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 178, y: 58} + m_SizeDelta: {x: 320, y: 88} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1552723602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1552723600} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "Pull\n\x03\nThis example shows how to write a custom gesture.\nPullGesture + on the central cube is written specially for this scene." +--- !u!222 &1552723603 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1552723600} +--- !u!114 &1552723604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1552723600} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &1679844149 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1679844150} + - component: {fileID: 1679844151} + m_Layer: 5 + m_Name: Tap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1679844150 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679844149} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1138005900} + - {fileID: 1408280581} + m_Father: {fileID: 250857271} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1679844151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679844149} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 60 + m_PreferredWidth: -1 + m_PreferredHeight: 60 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!1 &1764701046 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1764701050} + - component: {fileID: 1764701049} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1764701049 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1764701046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1764701050 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1764701046} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1772227325 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22401058, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: useDPI + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1981142012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1981142013} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1981142013 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1981142012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 250857271} + m_Father: {fileID: 740851132} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.25263783, y: 1} + m_AnchoredPosition: {x: 5, y: 50} + m_SizeDelta: {x: -10, y: -120} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2086987747 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1583770791137080, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2086987748} + - component: {fileID: 2086987752} + - component: {fileID: 2086987751} + - component: {fileID: 2086987750} + - component: {fileID: 2086987749} + m_Layer: 0 + m_Name: Static Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2086987748 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4092497047216208, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2086987747} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.71, y: 0.69, z: 5.16} + m_LocalScale: {x: 1.58968, y: 1.58968, z: 1.58968} + m_Children: [] + m_Father: {fileID: 312263520} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &2086987749 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54930536093548728, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2086987747} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &2086987750 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23586366584321034, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2086987747} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &2086987751 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 65806177754892914, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2086987747} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2086987752 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33076793992048592, guid: 21a4063eaa6b1410f8b9be15c9d964df, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2086987747} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2135305919 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2135305920} + - component: {fileID: 2135305921} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2135305920 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2135305919} + m_LocalRotation: {x: 0.24194291, y: -0.49854365, z: 0.22107579, w: 0.80252314} + m_LocalPosition: {x: 6.1004148, y: 15.540384, z: -20.566225} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 930800601} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 37.5, y: -60.899998, z: 8.2324} +--- !u!108 &2135305921 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2135305919} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1.3 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: 3 + m_CustomResolution: -1 + m_Strength: 0.56 + m_Bias: 0.1 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 diff --git a/Source/Assets/TouchScript/Examples/Pull/Pull.unity.meta b/Source/Assets/TouchScript/Examples/Pull/Pull.unity.meta new file mode 100644 index 000000000..208dcabb4 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Pull.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6696ec8da4feb4725bf860ab58fa830f +timeCreated: 1501590562 +licenseType: Pro +DefaultImporter: + userData: "10" + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Scripts.meta b/Source/Assets/TouchScript/Examples/Pull/Scripts.meta new file mode 100644 index 000000000..d9a665ab9 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d450e111ead04433cb8527f73c6a561a +folderAsset: yes +timeCreated: 1501591264 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs b/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs new file mode 100644 index 000000000..a16196f05 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs @@ -0,0 +1,104 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Tutorial +{ + public class Logic : MonoBehaviour + { + // Force multiplier + public float ForceMultiplier = 100f; + public LineRenderer Line; + + private PullGesture gesture; + private Rigidbody body; + + private Vector3 forceToApply; + private bool shouldApplyForce = false; + + private void OnEnable() + { + body = GetComponent(); + gesture = GetComponent(); + + Line.enabled = false; + + gesture.Pressed += pressedHandler; + gesture.Pulled += pulledHandler; + gesture.Released += releasedHandler; + gesture.Cancelled += cancelledHandler; + + releaseObject(); + } + + private void OnDisable() + { + gesture.Pressed -= pressedHandler; + gesture.Pulled -= pulledHandler; + gesture.Released -= releasedHandler; + gesture.Cancelled -= cancelledHandler; + } + + private void FixedUpdate() + { + // Apply force in FixedUpdate to make physics happy + if (shouldApplyForce) + { + body.AddForce(forceToApply); + shouldApplyForce = false; + } + } + + // Switch to manual mode + private void takeObject() + { + body.isKinematic = true; + Line.enabled = true; + updateLine(); + } + + // Switch to automatic mode + private void releaseObject() + { + body.isKinematic = false; + Line.enabled = false; + } + + // Push the object when the gesture is ended + private void pushObject() + { + forceToApply = ForceMultiplier * gesture.Force; + shouldApplyForce = true; + } + + // Update the line + private void updateLine() + { + Line.SetPosition(0, gesture.StartPosition); + Line.SetPosition(1, gesture.Position); + } + + private void pressedHandler(object sender, System.EventArgs e) + { + takeObject(); + } + + private void pulledHandler(object sender, System.EventArgs e) + { + updateLine(); + } + + private void releasedHandler(object sender, System.EventArgs e) + { + releaseObject(); + pushObject(); + } + + private void cancelledHandler(object sender, System.EventArgs e) + { + releaseObject(); + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs.meta b/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs.meta new file mode 100644 index 000000000..0e939ac08 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Scripts/Logic.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 057fc4dd3742040c9b65eac0a4e3cac7 +timeCreated: 1501597106 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs b/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs new file mode 100644 index 000000000..f02eaf50f --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs @@ -0,0 +1,171 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using UnityEngine; +using TouchScript.Gestures; +using TouchScript.Pointers; +using System; +using TouchScript.Layers; + +// Let's put our gesture into a namespace so it wouldn't clash with other classes in our project +namespace TouchScript.Tutorial +{ + // The class must inherit from Gesture + public class PullGesture : Gesture + { + public event EventHandler Pressed + { + add { pressedInvoker += value; } + remove { pressedInvoker -= value; } + } + + public event EventHandler Pulled + { + add { pulledInvoker += value; } + remove { pulledInvoker -= value; } + } + + public event EventHandler Released + { + add { releasedInvoker += value; } + remove { releasedInvoker -= value; } + } + + public Vector3 StartPosition + { + get + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + case GestureState.Ended: + return startPosition; + default: + return transform.position; + } + } + } + + public Vector3 Position + { + get + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + case GestureState.Ended: + return projection.ProjectTo(primaryPointer.Position, plane); + default: + return transform.position; + } + } + } + + public Vector3 Force + { + get { return StartPosition - Position; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler pressedInvoker, pulledInvoker, releasedInvoker; + + // The only pointer we are interested in + private Pointer primaryPointer; + + // Layer projection parameters + private ProjectionParams projection; + + // 3D plane to project to + private Plane plane; + + // The world coordinates of the point where the gesture started + private Vector3 startPosition; + + // Pointers pressed this frame + protected override void pointersPressed(IList pointers) + { + if (State == GestureState.Idle) + { + primaryPointer = pointers[0]; + projection = primaryPointer.GetPressData().Layer.GetProjectionParams(primaryPointer); + plane = new Plane(Vector3.up, transform.position); + startPosition = projection.ProjectTo(primaryPointer.Position, plane); + + // Start the gesture + setState(GestureState.Began); + } + } + + // Pointers updated this frame + protected override void pointersUpdated(IList pointers) + { + foreach (var p in pointers) + { + if (p.Id == primaryPointer.Id) + { + // If the pointer we are interested in moved, change the state + setState(GestureState.Changed); + return; + } + } + } + + // Pointers released this frame + protected override void pointersReleased(IList pointers) + { + foreach (var p in pointers) + { + if (p.Id == primaryPointer.Id) + { + // If the pointer we are interested was released, end the gesture + setState(GestureState.Ended); + return; + } + } + } + + // Pointers cancelled this frame + protected override void pointersCancelled(IList pointers) + { + foreach (var p in pointers) + { + if (p.Id == primaryPointer.Id) + { + // If the pointer we are interested was cancelled, cancel the gesture + setState(GestureState.Cancelled); + return; + } + } + } + + // Called when the gesture transitions to Began state + protected override void onBegan() + { + if (pressedInvoker != null) pressedInvoker(this, EventArgs.Empty); + } + + // Called when the gesture transitions to Ended or Recognized states + protected override void onRecognized() + { + if (releasedInvoker != null) releasedInvoker(this, EventArgs.Empty); + } + + // Called when the gesture transitions to Changed state + protected override void onChanged() + { + if (pulledInvoker != null) pulledInvoker(this, EventArgs.Empty); +// Debug.LogFormat("Start position: {0}, current position: {1}, force: {2}", StartPosition, Position, Force.magnitude); + } + + // This method is called when gesture is reset when recognized or failed + protected override void reset() + { + base.reset(); + primaryPointer = null; + } + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs.meta b/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs.meta new file mode 100644 index 000000000..e041b4880 --- /dev/null +++ b/Source/Assets/TouchScript/Examples/Pull/Scripts/PullGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 767c446d703184f6faf8a12a85d591eb +timeCreated: 1501591283 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Examples/RawInput/RawInput.unity.meta b/Source/Assets/TouchScript/Examples/RawInput/RawInput.unity.meta index 1cdb91458..803330be1 100644 --- a/Source/Assets/TouchScript/Examples/RawInput/RawInput.unity.meta +++ b/Source/Assets/TouchScript/Examples/RawInput/RawInput.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 9ee061879a6b743808a9f9056a52d885 DefaultImporter: - userData: + userData: "1" diff --git a/Source/Assets/TouchScript/Examples/Taps/Scripts/Break.cs b/Source/Assets/TouchScript/Examples/Taps/Scripts/Break.cs index dfcc6f05e..4ec3f7129 100644 --- a/Source/Assets/TouchScript/Examples/Taps/Scripts/Break.cs +++ b/Source/Assets/TouchScript/Examples/Taps/Scripts/Break.cs @@ -88,9 +88,9 @@ private void longPressedHandler(object sender, GestureStateChangeEventArgs e) var cube = obj.transform; cube.parent = transform.parent; cube.name = "Cube"; - cube.localScale = 0.5f*transform.localScale; - cube.position = transform.TransformPoint(directions[i]/4); - cube.GetComponent().AddForce(Power*Random.insideUnitSphere, ForceMode.Impulse); + cube.localScale = 0.5f * transform.localScale; + cube.position = transform.TransformPoint(directions[i] / 4); + cube.GetComponent().AddForce(Power * Random.insideUnitSphere, ForceMode.Impulse); cube.GetComponent().material.color = Color.white; } Destroy(gameObject); diff --git a/Source/Assets/TouchScript/Examples/Taps/Scripts/Kick.cs b/Source/Assets/TouchScript/Examples/Taps/Scripts/Kick.cs index 8627b46a8..43029cc9d 100644 --- a/Source/Assets/TouchScript/Examples/Taps/Scripts/Kick.cs +++ b/Source/Assets/TouchScript/Examples/Taps/Scripts/Kick.cs @@ -15,12 +15,12 @@ public class Kick : MonoBehaviour private TapGesture gesture; private Rigidbody rb; - private Camera activeCamera; + private Camera activeCamera; private void OnEnable() { rb = GetComponent(); - activeCamera = GameObject.Find("Scene Camera").GetComponent(); + activeCamera = GameObject.Find("Scene Camera").GetComponent(); gesture = GetComponent(); gesture.Tapped += tappedHandler; } @@ -32,11 +32,11 @@ private void OnDisable() private void tappedHandler(object sender, System.EventArgs e) { - var ray = activeCamera.ScreenPointToRay(gesture.ScreenPosition); + var ray = activeCamera.ScreenPointToRay(gesture.ScreenPosition); RaycastHit hit; if (Physics.Raycast(ray, out hit) && hit.transform == transform) { - rb.AddForceAtPosition(ray.direction*Force, hit.point, ForceMode.Impulse); + rb.AddForceAtPosition(ray.direction * Force, hit.point, ForceMode.Impulse); Instantiate(Particles, hit.point, Quaternion.identity); } } diff --git a/Source/Assets/TouchScript/Examples/Taps/Scripts/Spawn.cs b/Source/Assets/TouchScript/Examples/Taps/Scripts/Spawn.cs index 040bc10a0..29fd674f0 100644 --- a/Source/Assets/TouchScript/Examples/Taps/Scripts/Spawn.cs +++ b/Source/Assets/TouchScript/Examples/Taps/Scripts/Spawn.cs @@ -34,8 +34,8 @@ private void tappedHandler(object sender, EventArgs e) var cube = Instantiate(CubePrefab) as Transform; cube.parent = Container; cube.name = "Cube"; - cube.localScale = Vector3.one*Scale*cube.localScale.x; - cube.position = hit.Point + hit.Normal*.5f; + cube.localScale = Vector3.one * Scale * cube.localScale.x; + cube.position = hit.Point + hit.Normal * .5f; } } } \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/Taps/Taps.unity.meta b/Source/Assets/TouchScript/Examples/Taps/Taps.unity.meta index 435cfb1ed..38e69afdf 100644 --- a/Source/Assets/TouchScript/Examples/Taps/Taps.unity.meta +++ b/Source/Assets/TouchScript/Examples/Taps/Taps.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 guid: 5013fa58cea314376b273bd8905581f4 DefaultImporter: - userData: "1" + userData: "2" diff --git a/Source/Assets/TouchScript/Examples/_misc/Scripts/ExamplesList.cs b/Source/Assets/TouchScript/Examples/_misc/Scripts/ExamplesList.cs index 3e2737ea4..47f0ff31e 100644 --- a/Source/Assets/TouchScript/Examples/_misc/Scripts/ExamplesList.cs +++ b/Source/Assets/TouchScript/Examples/_misc/Scripts/ExamplesList.cs @@ -1,20 +1,22 @@ -using UnityEngine; +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; /// -public class ExamplesList : MonoBehaviour +public class ExamplesList : MonoBehaviour { + public RectTransform Content; - public RectTransform Content; - - void Start () - { - gameObject.SetActive(false); - } - - public void ShowHide() - { - gameObject.SetActive(!gameObject.activeSelf); - Content.localPosition = Vector3.zero; - } + void Start() + { + gameObject.SetActive(false); + } -} + public void ShowHide() + { + gameObject.SetActive(!gameObject.activeSelf); + Content.localPosition = Vector3.zero; + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/_misc/Scripts/Highlight.cs b/Source/Assets/TouchScript/Examples/_misc/Scripts/Highlight.cs index 89936a2f4..a7c4b7e5b 100644 --- a/Source/Assets/TouchScript/Examples/_misc/Scripts/Highlight.cs +++ b/Source/Assets/TouchScript/Examples/_misc/Scripts/Highlight.cs @@ -6,39 +6,37 @@ using TouchScript.Behaviors.UI; /// -public class Highlight : MonoBehaviour +public class Highlight : MonoBehaviour { - - public Color OverColor = Color.red; - - private OverHelper over; - private MeshRenderer r; - private Material oldMaterial; - - private void OnEnable() - { - over = GetComponent(); - r = GetComponent(); - oldMaterial = r.sharedMaterial; - - over.Over += overHandler; - over.Out += outHandler; - } - - private void OnDisable() - { - over.Over -= overHandler; - over.Out -= outHandler; - } - - void overHandler (object sender, System.EventArgs e) - { - r.material.color = OverColor; - } - - void outHandler (object sender, System.EventArgs e) - { - r.material = oldMaterial; - } - -} + public Color OverColor = Color.red; + + private OverHelper over; + private MeshRenderer r; + private Material oldMaterial; + + private void OnEnable() + { + over = GetComponent(); + r = GetComponent(); + oldMaterial = r.sharedMaterial; + + over.Over += overHandler; + over.Out += outHandler; + } + + private void OnDisable() + { + over.Over -= overHandler; + over.Out -= outHandler; + } + + void overHandler(object sender, System.EventArgs e) + { + r.material.color = OverColor; + } + + void outHandler(object sender, System.EventArgs e) + { + r.material = oldMaterial; + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/_misc/Scripts/ShowMe.cs b/Source/Assets/TouchScript/Examples/_misc/Scripts/ShowMe.cs index f4e1260f8..8f3a5d564 100644 --- a/Source/Assets/TouchScript/Examples/_misc/Scripts/ShowMe.cs +++ b/Source/Assets/TouchScript/Examples/_misc/Scripts/ShowMe.cs @@ -1,14 +1,18 @@ -using UnityEngine; +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; using System.Collections; /// -public class ShowMe : MonoBehaviour +public class ShowMe : MonoBehaviour { - IEnumerator Start () - { - var canvas = GetComponent(); - canvas.enabled = false; - yield return new WaitForSeconds(.5f); - canvas.enabled = true; - } -} + IEnumerator Start() + { + var canvas = GetComponent(); + canvas.enabled = false; + yield return new WaitForSeconds(.5f); + canvas.enabled = true; + } +} \ No newline at end of file diff --git a/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png b/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png new file mode 100644 index 000000000..718d1d0d6 Binary files /dev/null and b/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png differ diff --git a/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png.meta b/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png.meta new file mode 100644 index 000000000..bbb0c8a4a --- /dev/null +++ b/Source/Assets/TouchScript/Examples/_misc/Textures/Examples/Pull.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: ed91d97df020e4a8cb289e68e82485be +timeCreated: 1501601998 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: ui + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Assets/TouchScript/Modules/TUIO/Editor/InputSources/TuioInputEditor.cs b/Source/Assets/TouchScript/Modules/TUIO/Editor/InputSources/TuioInputEditor.cs index e2fcc9e46..a50fac3a2 100644 --- a/Source/Assets/TouchScript/Modules/TUIO/Editor/InputSources/TuioInputEditor.cs +++ b/Source/Assets/TouchScript/Modules/TUIO/Editor/InputSources/TuioInputEditor.cs @@ -29,7 +29,11 @@ protected override void OnEnable() public override void OnInspectorGUI() { - serializedObject.UpdateIfDirtyOrScript(); +#if UNITY_5_6_OR_NEWER + serializedObject.UpdateIfRequiredOrScript(); +#else + serializedObject.UpdateIfDirtyOrScript(); +#endif EditorGUILayout.PropertyField(tuioPort); diff --git a/Source/Assets/TouchScript/Prefabs/Cursors/Mouse Cursor.prefab b/Source/Assets/TouchScript/Prefabs/Cursors/Mouse Cursor.prefab index 7697254f0..fa9cc149a 100644 --- a/Source/Assets/TouchScript/Prefabs/Cursors/Mouse Cursor.prefab +++ b/Source/Assets/TouchScript/Prefabs/Cursors/Mouse Cursor.prefab @@ -47,6 +47,7 @@ GameObject: - component: {fileID: 22499528} - component: {fileID: 11416202} - component: {fileID: 223878911915740246} + - component: {fileID: 225715774982127120} m_Layer: 0 m_Name: Mouse Cursor m_TagString: Untagged @@ -419,3 +420,14 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!225 &225715774982127120 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185820} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Source/Assets/TouchScript/Prefabs/Cursors/Pen Cursor.prefab b/Source/Assets/TouchScript/Prefabs/Cursors/Pen Cursor.prefab index e5767b17e..c77271042 100644 --- a/Source/Assets/TouchScript/Prefabs/Cursors/Pen Cursor.prefab +++ b/Source/Assets/TouchScript/Prefabs/Cursors/Pen Cursor.prefab @@ -28,6 +28,7 @@ GameObject: - component: {fileID: 22480400} - component: {fileID: 11486812} - component: {fileID: 223912096970254378} + - component: {fileID: 225894359780410702} m_Layer: 0 m_Name: Pen Cursor m_TagString: Untagged @@ -421,3 +422,14 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!225 &225894359780410702 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118164} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Source/Assets/TouchScript/Prefabs/Cursors/Pointer.prefab b/Source/Assets/TouchScript/Prefabs/Cursors/Pointer.prefab index e04ebf739..18c2dff48 100644 --- a/Source/Assets/TouchScript/Prefabs/Cursors/Pointer.prefab +++ b/Source/Assets/TouchScript/Prefabs/Cursors/Pointer.prefab @@ -28,6 +28,7 @@ GameObject: - component: {fileID: 22471328} - component: {fileID: 11468960} - component: {fileID: 223813922742015622} + - component: {fileID: 225429637618999960} m_Layer: 0 m_Name: Pointer m_TagString: Untagged @@ -188,3 +189,14 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!225 &225429637618999960 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Source/Assets/TouchScript/Prefabs/Cursors/Touch Cursor.prefab b/Source/Assets/TouchScript/Prefabs/Cursors/Touch Cursor.prefab index 99f53e781..3d6ffbbe2 100644 --- a/Source/Assets/TouchScript/Prefabs/Cursors/Touch Cursor.prefab +++ b/Source/Assets/TouchScript/Prefabs/Cursors/Touch Cursor.prefab @@ -46,6 +46,7 @@ GameObject: - component: {fileID: 22499528} - component: {fileID: 11435582} - component: {fileID: 223147991810450650} + - component: {fileID: 225477107791102178} m_Layer: 0 m_Name: Touch Cursor m_TagString: Untagged @@ -283,3 +284,14 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!225 &225477107791102178 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185820} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/CursorManager.cs b/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/CursorManager.cs index bd6c4581c..d901bf4e8 100644 --- a/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/CursorManager.cs +++ b/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/CursorManager.cs @@ -133,7 +133,9 @@ public uint CursorPixelSize private ObjectPool objectPool; private Dictionary cursors = new Dictionary(10); +#if UNITY_5_6_OR_NEWER private CustomSampler cursorSampler; +#endif #endregion @@ -141,9 +143,10 @@ public uint CursorPixelSize private void Awake() { +#if UNITY_5_6_OR_NEWER cursorSampler = CustomSampler.Create("[TouchScript] Update Cursors"); - cursorSampler.Begin(); +#endif mousePool = new ObjectPool(2, instantiateMouseProxy, null, clearProxy); touchPool = new ObjectPool(10, instantiateTouchProxy, null, clearProxy); @@ -159,7 +162,9 @@ private void Awake() enabled = false; } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void OnEnable() @@ -228,7 +233,9 @@ private void updateCursorSize() private void pointersAddedHandler(object sender, PointerEventArgs e) { +#if UNITY_5_6_OR_NEWER cursorSampler.Begin(); +#endif updateCursorSize(); @@ -263,12 +270,16 @@ private void pointersAddedHandler(object sender, PointerEventArgs e) cursors.Add(pointer.Id, cursor); } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void pointersRemovedHandler(object sender, PointerEventArgs e) { +#if UNITY_5_6_OR_NEWER cursorSampler.Begin(); +#endif var count = e.Pointers.Count; for (var i = 0; i < count; i++) @@ -295,12 +306,16 @@ private void pointersRemovedHandler(object sender, PointerEventArgs e) } } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void pointersPressedHandler(object sender, PointerEventArgs e) { +#if UNITY_5_6_OR_NEWER cursorSampler.Begin(); +#endif var count = e.Pointers.Count; for (var i = 0; i < count; i++) @@ -311,12 +326,16 @@ private void pointersPressedHandler(object sender, PointerEventArgs e) cursor.SetState(pointer, PointerCursor.CursorState.Pressed); } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void PointersUpdatedHandler(object sender, PointerEventArgs e) { +#if UNITY_5_6_OR_NEWER cursorSampler.Begin(); +#endif var count = e.Pointers.Count; for (var i = 0; i < count; i++) @@ -327,12 +346,16 @@ private void PointersUpdatedHandler(object sender, PointerEventArgs e) cursor.UpdatePointer(pointer); } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void pointersReleasedHandler(object sender, PointerEventArgs e) { +#if UNITY_5_6_OR_NEWER cursorSampler.Begin(); +#endif var count = e.Pointers.Count; for (var i = 0; i < count; i++) @@ -343,7 +366,9 @@ private void pointersReleasedHandler(object sender, PointerEventArgs e) cursor.SetState(pointer, PointerCursor.CursorState.Released); } +#if UNITY_5_6_OR_NEWER cursorSampler.End(); +#endif } private void pointersCancelledHandler(object sender, PointerEventArgs e) diff --git a/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/PointerCursor.cs b/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/PointerCursor.cs index 417912115..dd9ee0321 100644 --- a/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/PointerCursor.cs +++ b/Source/Assets/TouchScript/Scripts/Behaviors/Cursors/PointerCursor.cs @@ -206,6 +206,8 @@ public float Size /// protected uint hash = uint.MaxValue; + private CanvasGroup group; + #endregion #region Public methods @@ -218,11 +220,13 @@ public float Size public void Init(RectTransform parent, IPointer pointer) { hash = uint.MaxValue; + group = GetComponent(); show(); rect.SetParent(parent); rect.SetAsLastSibling(); state = CursorState.Released; + UpdatePointer(pointer); } @@ -290,8 +294,10 @@ private void Awake() /// protected virtual void hide() { - gameObject.SetActive(false); - gameObject.name = "inactive pointer"; + group.alpha = 0; +#if UNITY_EDITOR + gameObject.name = "Inactive Pointer"; +#endif } /// @@ -299,7 +305,10 @@ protected virtual void hide() /// protected virtual void show() { - gameObject.SetActive(true); + group.alpha = 1; +#if UNITY_EDITOR + gameObject.name = "Pointer"; +#endif } /// diff --git a/Source/Assets/TouchScript/Scripts/Core/GestureManagerInstance.cs b/Source/Assets/TouchScript/Scripts/Core/GestureManagerInstance.cs index 2af106d64..5bbaad504 100644 --- a/Source/Assets/TouchScript/Scripts/Core/GestureManagerInstance.cs +++ b/Source/Assets/TouchScript/Scripts/Core/GestureManagerInstance.cs @@ -59,7 +59,9 @@ public static IGestureManager Instance private List gesturesToReset = new List(20); private Dictionary> pointerToGestures = new Dictionary>(10); +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -111,7 +113,9 @@ private void Awake() pointerListPool.WarmUp(20); transformListPool.WarmUp(1); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Update Gestures"); +#endif } private void OnEnable() @@ -224,7 +228,9 @@ internal Gesture.GestureState INTERNAL_GestureChangeState(Gesture gesture, Gestu private void updatePressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif var activeTargets = transformListPool.Get(); var gesturesInHierarchy = gestureListPool.Get(); @@ -376,12 +382,16 @@ private void updatePressed(IList pointers) activeGesturesThisUpdate.Clear(); pointersToDispatchForGesture.Clear(); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } private void updateUpdated(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif sortPointersForActiveGestures(pointers); @@ -400,12 +410,16 @@ private void updateUpdated(IList pointers) activeGesturesThisUpdate.Clear(); pointersToDispatchForGesture.Clear(); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } private void updateReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif sortPointersForActiveGestures(pointers); @@ -425,12 +439,16 @@ private void updateReleased(IList pointers) activeGesturesThisUpdate.Clear(); pointersToDispatchForGesture.Clear(); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } private void updateCancelled(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif sortPointersForActiveGestures(pointers); @@ -450,7 +468,9 @@ private void updateCancelled(IList pointers) activeGesturesThisUpdate.Clear(); pointersToDispatchForGesture.Clear(); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } private void sortPointersForActiveGestures(IList pointers) diff --git a/Source/Assets/TouchScript/Scripts/Core/TouchManagerInstance.cs b/Source/Assets/TouchScript/Scripts/Core/TouchManagerInstance.cs index 84e766ff0..fee118951 100644 --- a/Source/Assets/TouchScript/Scripts/Core/TouchManagerInstance.cs +++ b/Source/Assets/TouchScript/Scripts/Core/TouchManagerInstance.cs @@ -264,7 +264,9 @@ public IList PressedPointers private IPointerLogger pLogger; #endif +#if UNITY_5_6_OR_NEWER private CustomSampler samplerUpdateInputs, samplerUpdateAdded, samplerUpdatePressed, samplerUpdateUpdated, samplerUpdateReleased, samplerUpdateRemoved, samplerUpdateCancelled; +#endif #endregion @@ -535,6 +537,7 @@ private void Awake() _layerRemovePointer = layerRemovePointer; _layerCancelPointer = layerCancelPointer; +#if UNITY_5_6_OR_NEWER samplerUpdateInputs = CustomSampler.Create("[TouchScript] Update Inputs"); samplerUpdateAdded = CustomSampler.Create("[TouchScript] Added Pointers"); samplerUpdatePressed = CustomSampler.Create("[TouchScript] Press Pointers"); @@ -542,6 +545,7 @@ private void Awake() samplerUpdateReleased = CustomSampler.Create("[TouchScript] Release Pointers"); samplerUpdateRemoved = CustomSampler.Create("[TouchScript] Remove Pointers"); samplerUpdateCancelled = CustomSampler.Create("[TouchScript] Cancel Pointers"); +#endif } #if UNITY_5_4_OR_NEWER @@ -625,14 +629,20 @@ private void createInput() private void updateInputs() { +#if UNITY_5_6_OR_NEWER samplerUpdateInputs.Begin(); +#endif for (var i = 0; i < inputCount; i++) inputs[i].UpdateInput(); +#if UNITY_5_6_OR_NEWER samplerUpdateInputs.End(); +#endif } private void updateAdded(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdateAdded.Begin(); +#endif var addedCount = pointers.Count; var list = pointerListPool.Get(); @@ -660,7 +670,9 @@ private void updateAdded(List pointers) pointersAddedInvoker.InvokeHandleExceptions(this, PointerEventArgs.GetCachedEventArgs(list)); pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdateAdded.End(); +#endif } private bool layerAddPointer(TouchLayer layer) @@ -671,7 +683,9 @@ private bool layerAddPointer(TouchLayer layer) private void updateUpdated(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdateUpdated.Begin(); +#endif var updatedCount = pointers.Count; var list = pointerListPool.Get(); @@ -712,7 +726,9 @@ private void updateUpdated(List pointers) pointersUpdatedInvoker.InvokeHandleExceptions(this, PointerEventArgs.GetCachedEventArgs(list)); pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdateUpdated.End(); +#endif } private bool layerUpdatePointer(TouchLayer layer) @@ -723,7 +739,9 @@ private bool layerUpdatePointer(TouchLayer layer) private void updatePressed(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdatePressed.Begin(); +#endif var pressedCount = pointers.Count; var list = pointerListPool.Get(); @@ -752,9 +770,6 @@ private void updatePressed(List pointers) #if TOUCHSCRIPT_DEBUG pLogger.Log(pointer, PointerEvent.Pressed); -#endif - -#if TOUCHSCRIPT_DEBUG if (DebugMode) addDebugFigureForPointer(pointer); #endif } @@ -763,12 +778,16 @@ private void updatePressed(List pointers) pointersPressedInvoker.InvokeHandleExceptions(this, PointerEventArgs.GetCachedEventArgs(list)); pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdatePressed.End(); +#endif } private void updateReleased(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdateReleased.Begin(); +#endif var releasedCount = pointers.Count; var list = pointerListPool.Get(); @@ -809,12 +828,16 @@ private void updateReleased(List pointers) } pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdateReleased.End(); +#endif } private void updateRemoved(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdateRemoved.Begin(); +#endif var removedCount = pointers.Count; var list = pointerListPool.Get(); @@ -858,7 +881,9 @@ private void updateRemoved(List pointers) } pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdateRemoved.End(); +#endif } private bool layerRemovePointer(TouchLayer layer) @@ -869,7 +894,9 @@ private bool layerRemovePointer(TouchLayer layer) private void updateCancelled(List pointers) { +#if UNITY_5_6_OR_NEWER samplerUpdateCancelled.Begin(); +#endif var cancelledCount = pointers.Count; var list = pointerListPool.Get(); @@ -914,7 +941,9 @@ private void updateCancelled(List pointers) } pointerListPool.Release(list); +#if UNITY_5_6_OR_NEWER samplerUpdateCancelled.End(); +#endif } private bool layerCancelPointer(TouchLayer layer) diff --git a/Source/Assets/TouchScript/Scripts/Debugging/TouchScriptDebugger.cs b/Source/Assets/TouchScript/Scripts/Debugging/TouchScriptDebugger.cs index b68ce0c07..382909cf8 100644 --- a/Source/Assets/TouchScript/Scripts/Debugging/TouchScriptDebugger.cs +++ b/Source/Assets/TouchScript/Scripts/Debugging/TouchScriptDebugger.cs @@ -48,7 +48,7 @@ public IPointerLogger PointerLogger { if (value == null) return; if (pointerLogger == value) return; - pointerLogger.Dispose(); + if (pointerLogger != null) pointerLogger.Dispose(); pointerLogger = value; } } diff --git a/Source/Assets/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs b/Source/Assets/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs index 91904703d..892dd2397 100644 --- a/Source/Assets/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs +++ b/Source/Assets/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs @@ -103,7 +103,9 @@ private void updateNativeResulotion() break; // Probably TVs case RuntimePlatform.SamsungTVPlayer: +#if UNITY_5_6_OR_NEWER case RuntimePlatform.Switch: +#endif case RuntimePlatform.WiiU: case RuntimePlatform.XboxOne: case RuntimePlatform.tvOS: @@ -198,7 +200,9 @@ private void updateNativeDPI() break; // Probably TVs case RuntimePlatform.SamsungTVPlayer: +#if UNITY_5_6_OR_NEWER case RuntimePlatform.Switch: +#endif case RuntimePlatform.WiiU: case RuntimePlatform.XboxOne: case RuntimePlatform.tvOS: diff --git a/Source/Assets/TouchScript/Scripts/Gestures/FlickGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/FlickGesture.cs index a288d6b42..4b69b4887 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/FlickGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/FlickGesture.cs @@ -138,7 +138,9 @@ public GestureDirection Direction private bool isActive = false; private TimedSequence deltaSequence = new TimedSequence(); +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -149,7 +151,9 @@ protected override void Awake() { base.Awake(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Flick Gesture"); +#endif } /// @@ -173,7 +177,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -189,13 +195,17 @@ protected override void pointersPressed(IList pointers) else isActive = true; } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersUpdated(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersUpdated(pointers); @@ -209,13 +219,17 @@ protected override void pointersUpdated(IList pointers) } } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -224,7 +238,9 @@ protected override void pointersReleased(IList pointers) if (!isActive || !moving) { setState(GestureState.Failed); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif return; } @@ -258,7 +274,9 @@ protected override void pointersReleased(IList pointers) } } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// diff --git a/Source/Assets/TouchScript/Scripts/Gestures/LongPressGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/LongPressGesture.cs index d8608d756..ff6bbb047 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/LongPressGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/LongPressGesture.cs @@ -91,7 +91,9 @@ public float DistanceLimit private Vector2 totalMovement; +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -102,7 +104,9 @@ protected override void Awake() { base.Awake(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Long Press Gesture"); +#endif } /// @@ -126,7 +130,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -141,13 +147,17 @@ protected override void pointersPressed(IList pointers) StartCoroutine("wait"); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersUpdated(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersUpdated(pointers); @@ -157,13 +167,17 @@ protected override void pointersUpdated(IList pointers) if (totalMovement.sqrMagnitude > distanceLimitInPixelsSquared) setState(GestureState.Failed); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -172,7 +186,9 @@ protected override void pointersReleased(IList pointers) setState(GestureState.Failed); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// diff --git a/Source/Assets/TouchScript/Scripts/Gestures/MetaGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/MetaGesture.cs index d004291fb..62192912e 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/MetaGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/MetaGesture.cs @@ -90,7 +90,9 @@ public event EventHandler PointerCancelled #region Private variables +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -101,7 +103,9 @@ protected override void Awake() { base.Awake(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Meta Gesture"); +#endif } [ContextMenu("Basic Editor")] @@ -117,7 +121,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -134,13 +140,17 @@ protected override void pointersPressed(IList pointers) for (var i = 0; i < length; i++) SendMessageTarget.SendMessage(POINTER_PRESSED_MESSAGE, pointers[i], SendMessageOptions.DontRequireReceiver); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersUpdated(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersUpdated(pointers); @@ -157,13 +167,17 @@ protected override void pointersUpdated(IList pointers) for (var i = 0; i < length; i++) SendMessageTarget.SendMessage(POINTER_MOVED_MESSAGE, pointers[i], SendMessageOptions.DontRequireReceiver); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -180,13 +194,17 @@ protected override void pointersReleased(IList pointers) for (var i = 0; i < length; i++) SendMessageTarget.SendMessage(POINTER_RELEASED_MESSAGE, pointers[i], SendMessageOptions.DontRequireReceiver); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersCancelled(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersCancelled(pointers); @@ -201,7 +219,9 @@ protected override void pointersCancelled(IList pointers) for (var i = 0; i < length; i++) SendMessageTarget.SendMessage(POINTER_CANCELLED_MESSAGE, pointers[i], SendMessageOptions.DontRequireReceiver); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } #endregion diff --git a/Source/Assets/TouchScript/Scripts/Gestures/PressGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/PressGesture.cs index a5d5b0e72..35ef5f821 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/PressGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/PressGesture.cs @@ -51,7 +51,7 @@ public event EventHandler Pressed /// /// Unity event, occurs when gesture is recognized. /// - public GestureEvent OnPress = new GestureEvent(); + public GestureEvent OnPress = new GestureEvent(); #endregion @@ -75,25 +75,29 @@ public bool IgnoreChildren [ToggleLeft] private bool ignoreChildren = false; - private CustomSampler gestureSampler; +#if UNITY_5_6_OR_NEWER + private CustomSampler gestureSampler; +#endif - #endregion + #endregion - #region Unity + #region Unity - /// - protected override void Awake() - { - base.Awake(); + /// + protected override void Awake() + { + base.Awake(); - gestureSampler = CustomSampler.Create("[TouchScript] Press Gesture"); - } +#if UNITY_5_6_OR_NEWER + gestureSampler = CustomSampler.Create("[TouchScript] Press Gesture"); +#endif + } - [ContextMenu("Basic Editor")] - private void switchToBasicEditor() - { - basicEditor = true; - } + [ContextMenu("Basic Editor")] + private void switchToBasicEditor() + { + basicEditor = true; + } #endregion @@ -126,24 +130,32 @@ public override bool CanBePreventedByGesture(Gesture gesture) /// protected override void pointersPressed(IList pointers) { - gestureSampler.Begin(); +#if UNITY_5_6_OR_NEWER + gestureSampler.Begin(); +#endif base.pointersPressed(pointers); if (pointersNumState == PointersNumState.PassedMinThreshold) { setState(GestureState.Recognized); - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif return; } if (pointersNumState == PointersNumState.PassedMinMaxThreshold) { setState(GestureState.Failed); - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif return; } - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif } /// @@ -153,7 +165,7 @@ protected override void onRecognized() if (pressedInvoker != null) pressedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(PRESS_MESSAGE, this, SendMessageOptions.DontRequireReceiver); - if (UseUnityEvents) OnPress.Invoke(this); + if (UseUnityEvents) OnPress.Invoke(this); } #endregion diff --git a/Source/Assets/TouchScript/Scripts/Gestures/ReleaseGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/ReleaseGesture.cs index 5df1c813a..1cd64faf0 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/ReleaseGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/ReleaseGesture.cs @@ -70,7 +70,9 @@ public bool IgnoreChildren [ToggleLeft] private bool ignoreChildren = false; +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -81,7 +83,9 @@ protected override void Awake() { base.Awake(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Release Gesture"); +#endif } [ContextMenu("Basic Editor")] @@ -121,36 +125,48 @@ public override bool CanBePreventedByGesture(Gesture gesture) /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); if (pointersNumState == PointersNumState.PassedMinThreshold) { if (State == GestureState.Idle) setState(GestureState.Possible); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif return; } if (pointersNumState == PointersNumState.PassedMinMaxThreshold) { setState(GestureState.Failed); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif return; } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); if (pointersNumState == PointersNumState.PassedMinThreshold) setState(GestureState.Recognized); +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } /// diff --git a/Source/Assets/TouchScript/Scripts/Gestures/TapGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/TapGesture.cs index b7474f004..be6ed2749 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/TapGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/TapGesture.cs @@ -145,7 +145,9 @@ public float CombinePointersInterval private Vector2 totalMovement; private TimedSequence pointerSequence = new TimedSequence(); - private CustomSampler gestureSampler; +#if UNITY_5_6_OR_NEWER + private CustomSampler gestureSampler; +#endif #endregion @@ -164,13 +166,15 @@ public override bool ShouldReceivePointer(Pointer pointer) #region Unity methods - /// - protected override void Awake() - { - base.Awake(); + /// + protected override void Awake() + { + base.Awake(); - gestureSampler = CustomSampler.Create("[TouchScript] Tap Gesture"); - } +#if UNITY_5_6_OR_NEWER + gestureSampler = CustomSampler.Create("[TouchScript] Tap Gesture"); +#endif + } /// protected override void OnEnable() @@ -193,7 +197,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { - gestureSampler.Begin(); +#if UNITY_5_6_OR_NEWER + gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -201,7 +207,9 @@ protected override void pointersPressed(IList pointers) pointersNumState == PointersNumState.PassedMinMaxThreshold) { setState(GestureState.Failed); - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif return; } @@ -226,7 +234,9 @@ protected override void pointersPressed(IList pointers) if ((pointers[0].Position - startPosition).sqrMagnitude > distanceLimitInPixelsSquared) { setState(GestureState.Failed); - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif return; } } @@ -243,13 +253,17 @@ protected override void pointersPressed(IList pointers) } } - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif } /// protected override void pointersUpdated(IList pointers) { - gestureSampler.Begin(); +#if UNITY_5_6_OR_NEWER + gestureSampler.Begin(); +#endif base.pointersUpdated(pointers); @@ -259,13 +273,17 @@ protected override void pointersUpdated(IList pointers) if (totalMovement.sqrMagnitude > distanceLimitInPixelsSquared) setState(GestureState.Failed); } - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif } /// protected override void pointersReleased(IList pointers) { - gestureSampler.Begin(); +#if UNITY_5_6_OR_NEWER + gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -289,7 +307,9 @@ protected override void pointersReleased(IList pointers) if (!isActive) { setState(GestureState.Failed); - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif return; } @@ -308,7 +328,9 @@ protected override void pointersReleased(IList pointers) } } - gestureSampler.End(); +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif } /// diff --git a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/PinnedTransformGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/PinnedTransformGesture.cs index 567de42f0..b7a992b78 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/PinnedTransformGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/PinnedTransformGesture.cs @@ -89,7 +89,9 @@ public Plane TransformPlane private TouchLayer projectionLayer; private Plane transformPlane; +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -105,7 +107,9 @@ protected override void Awake() base.Awake(); transformPlane = new Plane(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Pinned Transform Gesture"); +#endif } /// @@ -129,7 +133,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -143,9 +149,12 @@ protected override void pointersPressed(IList pointers) #endif } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } +#if UNITY_5_6_OR_NEWER /// protected override void pointersUpdated(IList pointers) { @@ -155,11 +164,14 @@ protected override void pointersUpdated(IList pointers) gestureSampler.End(); } +#endif /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -167,8 +179,9 @@ protected override void pointersReleased(IList pointers) if (NumPointers == 0) clearDebug(); else drawDebug(activePointers[0].ProjectionParams.ProjectFrom(cachedTransform.position), activePointers[0].Position); #endif - +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } #endregion diff --git a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/ScreenTransformGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/ScreenTransformGesture.cs index 391c12d05..16fb17847 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/ScreenTransformGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/ScreenTransformGesture.cs @@ -22,7 +22,9 @@ public class ScreenTransformGesture : TwoPointTransformGestureBase #region Private variables +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -33,7 +35,9 @@ protected override void Awake() { base.Awake(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Screen Transform Gesture"); +#endif } [ContextMenu("Basic Editor")] @@ -46,6 +50,7 @@ private void switchToBasicEditor() #region Gesture callbacks +#if UNITY_5_6_OR_NEWER /// protected override void pointersPressed(IList pointers) { @@ -65,16 +70,25 @@ protected override void pointersUpdated(IList pointers) gestureSampler.End(); } +#endif /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER + gestureSampler.Begin(); +#endif + base.pointersReleased(pointers); #if TOUCHSCRIPT_DEBUG if (getNumPoints() == 0) clearDebug(); else drawDebugDelayed(getNumPoints()); #endif + +#if UNITY_5_6_OR_NEWER + gestureSampler.End(); +#endif } #endregion diff --git a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/TransformGesture.cs b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/TransformGesture.cs index 708459bd8..827792c94 100644 --- a/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/TransformGesture.cs +++ b/Source/Assets/TouchScript/Scripts/Gestures/TransformGestures/TransformGesture.cs @@ -147,7 +147,9 @@ public Vector3 LocalDeltaPosition private TouchLayer projectionLayer; private Plane transformPlane; +#if UNITY_5_6_OR_NEWER private CustomSampler gestureSampler; +#endif #endregion @@ -163,7 +165,9 @@ protected override void Awake() base.Awake(); transformPlane = new Plane(); +#if UNITY_5_6_OR_NEWER gestureSampler = CustomSampler.Create("[TouchScript] Transform Gesture"); +#endif } /// @@ -187,7 +191,9 @@ private void switchToBasicEditor() /// protected override void pointersPressed(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersPressed(pointers); @@ -197,9 +203,12 @@ protected override void pointersPressed(IList pointers) updateProjectionPlane(); } +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } +#if UNITY_5_6_OR_NEWER /// protected override void pointersUpdated(IList pointers) { @@ -209,11 +218,14 @@ protected override void pointersUpdated(IList pointers) gestureSampler.End(); } +#endif /// protected override void pointersReleased(IList pointers) { +#if UNITY_5_6_OR_NEWER gestureSampler.Begin(); +#endif base.pointersReleased(pointers); @@ -222,7 +234,9 @@ protected override void pointersReleased(IList pointers) else drawDebugDelayed(getNumPoints()); #endif +#if UNITY_5_6_OR_NEWER gestureSampler.End(); +#endif } diff --git a/Source/Assets/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs b/Source/Assets/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs index a9d5b3bff..d492b6637 100644 --- a/Source/Assets/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs +++ b/Source/Assets/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs @@ -47,7 +47,9 @@ public bool HasPointers private Dictionary systemToInternalId = new Dictionary(10); private int pointersNum; +#if UNITY_5_6_OR_NEWER private CustomSampler updateSampler; +#endif #endregion @@ -72,7 +74,9 @@ public TouchHandler(PointerDelegate addPointer, PointerDelegate updatePointer, P touchPool = new ObjectPool(10, () => new TouchPointer(this), null, resetPointer); touchPool.Name = "Touch"; +#if UNITY_5_6_OR_NEWER updateSampler = CustomSampler.Create("[TouchScript] Update touch"); +#endif } #region Public methods @@ -80,7 +84,9 @@ public TouchHandler(PointerDelegate addPointer, PointerDelegate updatePointer, P /// public bool UpdateInput() { +#if UNITY_5_6_OR_NEWER updateSampler.Begin(); +#endif for (var i = 0; i < Input.touchCount; ++i) { @@ -155,7 +161,9 @@ public bool UpdateInput() } } +#if UNITY_5_6_OR_NEWER updateSampler.End(); +#endif return Input.touchCount > 0; } diff --git a/Source/Assets/TouchScript/Scripts/Layers/UI/TouchScriptInputModule.cs b/Source/Assets/TouchScript/Scripts/Layers/UI/TouchScriptInputModule.cs index 0c43bf398..9ee625d6f 100644 --- a/Source/Assets/TouchScript/Scripts/Layers/UI/TouchScriptInputModule.cs +++ b/Source/Assets/TouchScript/Scripts/Layers/UI/TouchScriptInputModule.cs @@ -198,6 +198,7 @@ internal int INTERNAL_Release() private void enable() { ui = new UIStandardInputModule(this); + TouchManager.Instance.PointersAdded += ui.ProcessAdded; TouchManager.Instance.PointersUpdated += ui.ProcessUpdated; TouchManager.Instance.PointersPressed += ui.ProcessPressed; TouchManager.Instance.PointersReleased += ui.ProcessReleased; @@ -209,6 +210,7 @@ private void disable() { if (TouchManager.Instance != null && ui != null) { + TouchManager.Instance.PointersAdded -= ui.ProcessAdded; TouchManager.Instance.PointersUpdated -= ui.ProcessUpdated; TouchManager.Instance.PointersPressed -= ui.ProcessPressed; TouchManager.Instance.PointersReleased -= ui.ProcessReleased; @@ -230,13 +232,17 @@ private class UIStandardInputModule { protected TouchScriptInputModule input; +#if UNITY_5_6_OR_NEWER private CustomSampler uiSampler; +#endif public UIStandardInputModule(TouchScriptInputModule input) { this.input = input; +#if UNITY_5_6_OR_NEWER uiSampler = CustomSampler.Create("[TouchScript] Update UI"); +#endif } #region Unchanged from PointerInputModule @@ -429,9 +435,48 @@ private void convertRaycast(RaycastHitUI old, ref RaycastResult current) #region Event processors + public virtual void ProcessAdded(object sender, PointerEventArgs pointerEventArgs) + { +#if UNITY_5_6_OR_NEWER + uiSampler.Begin(); +#endif + + var pointers = pointerEventArgs.Pointers; + var raycast = new RaycastResult(); + var count = pointers.Count; + for (var i = 0; i < count; i++) + { + var pointer = pointers[i]; + var over = pointer.GetOverData(); + + // Don't update the pointer if it is not over an UI element + if (over.Type != HitData.HitType.UI) continue; + + PointerEventData data; + GetPointerData(pointer.Id, out data, true); + data.Reset(); + var target = over.Target; + var currentOverGo = target == null ? null : target.gameObject; + + data.position = pointer.Position; + data.delta = Vector2.zero; + convertRaycast(over.RaycastHitUI, ref raycast); + raycast.screenPosition = data.position; + data.pointerCurrentRaycast = raycast; + + input.HandlePointerExitAndEnter(data, currentOverGo); + } + +#if UNITY_5_6_OR_NEWER + uiSampler.End(); +#endif + } + public virtual void ProcessUpdated(object sender, PointerEventArgs pointerEventArgs) { +#if UNITY_5_6_OR_NEWER uiSampler.Begin(); +#endif var pointers = pointerEventArgs.Pointers; var raycast = new RaycastResult(); @@ -439,16 +484,19 @@ public virtual void ProcessUpdated(object sender, PointerEventArgs pointerEventA for (var i = 0; i < count; i++) { var pointer = pointers[i]; + var over = pointer.GetOverData(); + // Don't update the pointer if it is pressed not over an UI element if ((pointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed) > 0) { var press = pointer.GetPressData(); if (press.Type != HitData.HitType.UI) continue; } - - var over = pointer.GetOverData(); - // Don't update the pointer if it is not over an UI element - if (over.Type != HitData.HitType.UI) continue; + else + { + // Don't update the pointer if it is not over an UI element + if (over.Type != HitData.HitType.UI) continue; + } PointerEventData data; GetPointerData(pointer.Id, out data, true); @@ -499,12 +547,16 @@ public virtual void ProcessUpdated(object sender, PointerEventArgs pointerEventA } } +#if UNITY_5_6_OR_NEWER uiSampler.End(); +#endif } public virtual void ProcessPressed(object sender, PointerEventArgs pointerEventArgs) { +#if UNITY_5_6_OR_NEWER uiSampler.Begin(); +#endif var pointers = pointerEventArgs.Pointers; var count = pointers.Count; @@ -525,6 +577,7 @@ public virtual void ProcessPressed(object sender, PointerEventArgs pointerEventA data.delta = Vector2.zero; data.dragging = false; data.useDragThreshold = true; + data.position = pointer.Position; data.pressPosition = pointer.Position; data.pointerPressRaycast = data.pointerCurrentRaycast; @@ -577,12 +630,16 @@ public virtual void ProcessPressed(object sender, PointerEventArgs pointerEventA ExecuteEvents.Execute(data.pointerDrag, data, ExecuteEvents.initializePotentialDrag); } +#if UNITY_5_6_OR_NEWER uiSampler.End(); +#endif } public virtual void ProcessReleased(object sender, PointerEventArgs pointerEventArgs) { +#if UNITY_5_6_OR_NEWER uiSampler.Begin(); +#endif var pointers = pointerEventArgs.Pointers; var count = pointers.Count; @@ -636,12 +693,16 @@ public virtual void ProcessReleased(object sender, PointerEventArgs pointerEvent } } +#if UNITY_5_6_OR_NEWER uiSampler.End(); +#endif } public virtual void ProcessCancelled(object sender, PointerEventArgs pointerEventArgs) { +#if UNITY_5_6_OR_NEWER uiSampler.Begin(); +#endif var pointers = pointerEventArgs.Pointers; var count = pointers.Count; @@ -678,12 +739,16 @@ public virtual void ProcessCancelled(object sender, PointerEventArgs pointerEven data.pointerEnter = null; } +#if UNITY_5_6_OR_NEWER uiSampler.End(); +#endif } public virtual void ProcessRemoved(object sender, PointerEventArgs pointerEventArgs) { +#if UNITY_5_6_OR_NEWER uiSampler.Begin(); +#endif var pointers = pointerEventArgs.Pointers; var count = pointers.Count; @@ -702,7 +767,9 @@ public virtual void ProcessRemoved(object sender, PointerEventArgs pointerEventA RemovePointerData(pointer.Id); } +#if UNITY_5_6_OR_NEWER uiSampler.End(); +#endif } #endregion diff --git a/Source/ProjectSettings/EditorBuildSettings.asset b/Source/ProjectSettings/EditorBuildSettings.asset index 860f98dca..8a88d13f0 100644 --- a/Source/ProjectSettings/EditorBuildSettings.asset +++ b/Source/ProjectSettings/EditorBuildSettings.asset @@ -8,6 +8,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/TouchScript/Examples/Examples.unity guid: 7cba6bf72365a4167930fec2f6f39b74 + - enabled: 1 + path: Assets/TouchScript/Examples/RawInput/RawInput.unity + guid: 9ee061879a6b743808a9f9056a52d885 - enabled: 1 path: Assets/TouchScript/Examples/Taps/Taps.unity guid: 5013fa58cea314376b273bd8905581f4 @@ -23,9 +26,6 @@ EditorBuildSettings: - enabled: 1 path: Assets/TouchScript/Examples/Portal/Portal.unity guid: 20ddca9320eeb4eb28b7ce5fcb289923 - - enabled: 1 - path: Assets/TouchScript/Examples/RawInput/RawInput.unity - guid: 9ee061879a6b743808a9f9056a52d885 - enabled: 1 path: Assets/TouchScript/Examples/Colors/Colors.unity guid: c56b29ea5ec5a4713b65552d4a8bd9ac @@ -35,3 +35,6 @@ EditorBuildSettings: - enabled: 1 path: Assets/TouchScript/Examples/Multiuser/Multiuser.unity guid: 3b34d0a4b336446dd98f5f9951fe6480 + - enabled: 1 + path: Assets/TouchScript/Examples/Pull/Pull.unity + guid: 6696ec8da4feb4725bf860ab58fa830f