diff --git a/.gitignore b/.gitignore index 0d53db9..fcc8573 100644 --- a/.gitignore +++ b/.gitignore @@ -1,446 +1,3 @@ - -# Created by https://www.gitignore.io/api/csharp,monodevelop,,visualstudio - -### Csharp ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates -*.vcxproj.filters - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ -**/Properties/launchSettings.json - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/ - - -### MonoDevelop ### -#User Specific -*.usertasks - -#Mono Project Files -*.resources -test-results/ - - -### Unity ### -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/Assets/AssetStoreTools* - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.booproj -*.svd - - -# Unity3D generated meta files -*.pidb.meta - -# Unity3D Generated File On Crash Reports -sysinfo.txt - -# Builds -*.apk -*.unitypackage - - -### VisualStudio ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files - -# User-specific files (MonoDevelop/Xamarin Studio) - -# Build results - -# Visual Studio 2015 cache/options directory -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results - -# NUNIT - -# Build Results of an ATL Project - -# .NET Core - - -# Chutzpah Test files - -# Visual C++ cache files - -# Visual Studio profiler - -# TFS 2012 Local Workspace - -# Guidance Automation Toolkit - -# ReSharper is a .NET coding add-in - -# JustCode is a .NET coding add-in - -# TeamCity is a build add-in - -# DotCover is a Code Coverage Tool - -# Visual Studio code coverage results - -# NCrunch - -# MightyMoose - -# Web workbench (sass) - -# Installshield output folder - -# DocProject is a documentation generator add-in - -# Click-Once directory - -# Publish Web Output -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted - -# NuGet Packages -# The packages folder can be ignored because of Package Restore -# except build/, which is used as an MSBuild target. -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files - -# Microsoft Azure Build Output - -# Microsoft Azure Emulator - -# Windows Store app package directories and files - -# Visual Studio cache files -# files ending in .cache can be ignored -# but keep track of directories ending in .cache - -# Others - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) - -# SQL Server files - -# Business Intelligence projects - -# Microsoft Fakes - -# GhostDoc plugin setting file - -# Node.js Tools for Visual Studio - -# Visual Studio 6 build log - -# Visual Studio 6 workspace options file - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) - -# Visual Studio LightSwitch build output - -# Paket dependency manager - -# FAKE - F# Make - -# JetBrains Rider - -# CodeRush - -# Python Tools for Visual Studio (PTVS) - -# Cake - Uncomment if you are using it -# tools/ - -### VisualStudio Patch ### -build/ +/* +!/Assets/ +*.unity \ No newline at end of file diff --git a/Assets/.vs/Assets/FileContentIndex/58842ac4-0fc5-432e-a9f7-e799843a74ee.vsidx b/Assets/.vs/Assets/FileContentIndex/58842ac4-0fc5-432e-a9f7-e799843a74ee.vsidx new file mode 100644 index 0000000..f84d7c4 Binary files /dev/null and b/Assets/.vs/Assets/FileContentIndex/58842ac4-0fc5-432e-a9f7-e799843a74ee.vsidx differ diff --git a/Assets/.vs/Assets/v17/.wsuo b/Assets/.vs/Assets/v17/.wsuo new file mode 100644 index 0000000..043c35b Binary files /dev/null and b/Assets/.vs/Assets/v17/.wsuo differ diff --git a/Assets/.vs/Assets/v17/DocumentLayout.json b/Assets/.vs/Assets/v17/DocumentLayout.json new file mode 100644 index 0000000..8c26764 --- /dev/null +++ b/Assets/.vs/Assets/v17/DocumentLayout.json @@ -0,0 +1,71 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\Simulation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\models\\Simulation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\RESTful-Server\\invoker\\SimulationInvoker.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\RESTful-Server\\invoker\\SimulationInvoker.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\warehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\models\\warehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 2, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "SimulationInvoker.cs", + "DocumentMoniker": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\RESTful-Server\\invoker\\SimulationInvoker.cs", + "RelativeDocumentMoniker": "src\\RESTful-Server\\invoker\\SimulationInvoker.cs", + "ToolTip": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\RESTful-Server\\invoker\\SimulationInvoker.cs", + "RelativeToolTip": "src\\RESTful-Server\\invoker\\SimulationInvoker.cs", + "ViewState": "AQIAAAwAAAAAAAAAAAAAAO4AAAA0AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-14T15:53:49.453Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "warehouse.cs", + "DocumentMoniker": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\warehouse.cs", + "RelativeDocumentMoniker": "src\\models\\warehouse.cs", + "ToolTip": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\warehouse.cs", + "RelativeToolTip": "src\\models\\warehouse.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-14T15:53:37.438Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Simulation.cs", + "DocumentMoniker": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\Simulation.cs", + "RelativeDocumentMoniker": "src\\models\\Simulation.cs", + "ToolTip": "C:\\Users\\Sebastian\\Desktop\\unity\\PackageManager\\Assets\\src\\models\\Simulation.cs", + "RelativeToolTip": "src\\models\\Simulation.cs", + "ViewState": "AQIAAEgAAAAAAAAAAAAAAGUAAAArAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-14T15:53:17.32Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/.vs/ProjectSettings.json b/Assets/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/Assets/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/Assets/.vs/VSWorkspaceState.json b/Assets/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..846c412 --- /dev/null +++ b/Assets/.vs/VSWorkspaceState.json @@ -0,0 +1,11 @@ +{ + "ExpandedNodes": [ + "", + "\\src", + "\\src\\models", + "\\src\\RESTful-Server", + "\\src\\RESTful-Server\\invoker" + ], + "SelectedNode": "\\src\\RESTful-Server\\invoker\\SimulationInvoker.cs", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/Assets/.vs/slnx.sqlite b/Assets/.vs/slnx.sqlite new file mode 100644 index 0000000..ebb1b17 Binary files /dev/null and b/Assets/.vs/slnx.sqlite differ diff --git a/Assets/Input.meta b/Assets/Input.meta new file mode 100644 index 0000000..a2dcc88 --- /dev/null +++ b/Assets/Input.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a32d699838fa0d548be0df8c66437fe1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Input/InputActions.inputactions b/Assets/Input/InputActions.inputactions new file mode 100644 index 0000000..b97867f --- /dev/null +++ b/Assets/Input/InputActions.inputactions @@ -0,0 +1,74 @@ +{ + "name": "InputActions", + "maps": [ + { + "name": "Gameplay", + "id": "093d01c9-c9d8-42e1-8fc2-e550ba78c480", + "actions": [ + { + "name": "Look", + "type": "PassThrough", + "id": "21f851fb-e1f5-44be-b8cf-b1541c4ac3b6", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Move", + "type": "Button", + "id": "f8d3fd1b-ccc8-49d3-aca9-8b9b35e01ed0", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Rotate", + "type": "Button", + "id": "3583783b-4fb3-4dd6-8200-308aa9c193ae", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "", + "id": "af2aff8e-5e96-4512-b9b8-5f3d3125ccd7", + "path": "/delta", + "interactions": "", + "processors": "", + "groups": "", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "0600b5ab-5640-4fad-b0af-69dcdeb4a39f", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d4ec42fd-30ea-4323-9bdb-6cab2a11dfcc", + "path": "/rightButton", + "interactions": "", + "processors": "", + "groups": "", + "action": "Rotate", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [] +} \ No newline at end of file diff --git a/Assets/Input/InputActions.inputactions.meta b/Assets/Input/InputActions.inputactions.meta new file mode 100644 index 0000000..bded0b2 --- /dev/null +++ b/Assets/Input/InputActions.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 23a87bd59a0a92a4bb53e2a667121b1c +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/Mesh_Models.meta b/Assets/Mesh_Models.meta new file mode 100644 index 0000000..4327d62 --- /dev/null +++ b/Assets/Mesh_Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2231a3dc65fe50e4ba93e227ed319f2b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Big_Package.prefab b/Assets/Mesh_Models/Big_Package.prefab new file mode 100644 index 0000000..db00d5f Binary files /dev/null and b/Assets/Mesh_Models/Big_Package.prefab differ diff --git a/Assets/Mesh_Models/Big_Package.prefab.meta b/Assets/Mesh_Models/Big_Package.prefab.meta new file mode 100644 index 0000000..2d287cc --- /dev/null +++ b/Assets/Mesh_Models/Big_Package.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 39ea9ddd55138814faed01a2221f55e6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Brama.controller b/Assets/Mesh_Models/Brama.controller new file mode 100644 index 0000000..a1082d6 Binary files /dev/null and b/Assets/Mesh_Models/Brama.controller differ diff --git a/Assets/Mesh_Models/Brama.controller.meta b/Assets/Mesh_Models/Brama.controller.meta new file mode 100644 index 0000000..aad831a --- /dev/null +++ b/Assets/Mesh_Models/Brama.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e34c207d3dae4ff4aa043518f26fdcb8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Brama.fbx b/Assets/Mesh_Models/Brama.fbx new file mode 100644 index 0000000..614e9b3 Binary files /dev/null and b/Assets/Mesh_Models/Brama.fbx differ diff --git a/Assets/Mesh_Models/Brama.fbx.meta b/Assets/Mesh_Models/Brama.fbx.meta new file mode 100644 index 0000000..c1b9fb7 --- /dev/null +++ b/Assets/Mesh_Models/Brama.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 9a5b8c565579dd347be091f962c6364d +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Cross_4.prefab b/Assets/Mesh_Models/Cross_4.prefab new file mode 100644 index 0000000..21b6f20 Binary files /dev/null and b/Assets/Mesh_Models/Cross_4.prefab differ diff --git a/Assets/Mesh_Models/Cross_4.prefab.meta b/Assets/Mesh_Models/Cross_4.prefab.meta new file mode 100644 index 0000000..d25b7a0 --- /dev/null +++ b/Assets/Mesh_Models/Cross_4.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 281477ef1df9a7c43a2965e927dfa463 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/LeftCross.prefab b/Assets/Mesh_Models/LeftCross.prefab new file mode 100644 index 0000000..38c672e Binary files /dev/null and b/Assets/Mesh_Models/LeftCross.prefab differ diff --git a/Assets/Mesh_Models/LeftCross.prefab.meta b/Assets/Mesh_Models/LeftCross.prefab.meta new file mode 100644 index 0000000..9867f69 --- /dev/null +++ b/Assets/Mesh_Models/LeftCross.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2eeffb27474913942adad91a10af1176 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_Left_turn.fbx b/Assets/Mesh_Models/Line_Left_turn.fbx new file mode 100644 index 0000000..527f690 Binary files /dev/null and b/Assets/Mesh_Models/Line_Left_turn.fbx differ diff --git a/Assets/Mesh_Models/Line_Left_turn.fbx.meta b/Assets/Mesh_Models/Line_Left_turn.fbx.meta new file mode 100644 index 0000000..e6dc4e1 --- /dev/null +++ b/Assets/Mesh_Models/Line_Left_turn.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 5ca5ef941030e9649a4579562b366582 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_Right_turn.fbx b/Assets/Mesh_Models/Line_Right_turn.fbx new file mode 100644 index 0000000..7fedbaf Binary files /dev/null and b/Assets/Mesh_Models/Line_Right_turn.fbx differ diff --git a/Assets/Mesh_Models/Line_Right_turn.fbx.meta b/Assets/Mesh_Models/Line_Right_turn.fbx.meta new file mode 100644 index 0000000..598e3e9 --- /dev/null +++ b/Assets/Mesh_Models/Line_Right_turn.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 27f20db98400b7b4cb53f6d28541fdb1 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_Straight.prefab b/Assets/Mesh_Models/Line_Straight.prefab new file mode 100644 index 0000000..685c71d Binary files /dev/null and b/Assets/Mesh_Models/Line_Straight.prefab differ diff --git a/Assets/Mesh_Models/Line_Straight.prefab.meta b/Assets/Mesh_Models/Line_Straight.prefab.meta new file mode 100644 index 0000000..e892a48 --- /dev/null +++ b/Assets/Mesh_Models/Line_Straight.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 762f6cb281199ce48ad2bcb1f342ac4a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_T_cross.fbx b/Assets/Mesh_Models/Line_T_cross.fbx new file mode 100644 index 0000000..a377b05 Binary files /dev/null and b/Assets/Mesh_Models/Line_T_cross.fbx differ diff --git a/Assets/Mesh_Models/Line_T_cross.fbx.meta b/Assets/Mesh_Models/Line_T_cross.fbx.meta new file mode 100644 index 0000000..68b61a3 --- /dev/null +++ b/Assets/Mesh_Models/Line_T_cross.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 69505838701f6624a90cd291a757b86d +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_cross_4.fbx b/Assets/Mesh_Models/Line_cross_4.fbx new file mode 100644 index 0000000..2760f33 Binary files /dev/null and b/Assets/Mesh_Models/Line_cross_4.fbx differ diff --git a/Assets/Mesh_Models/Line_cross_4.fbx.meta b/Assets/Mesh_Models/Line_cross_4.fbx.meta new file mode 100644 index 0000000..084c90d --- /dev/null +++ b/Assets/Mesh_Models/Line_cross_4.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 7e8683351e811de41ae1d9492d8b3650 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_cross_left.fbx b/Assets/Mesh_Models/Line_cross_left.fbx new file mode 100644 index 0000000..d993398 Binary files /dev/null and b/Assets/Mesh_Models/Line_cross_left.fbx differ diff --git a/Assets/Mesh_Models/Line_cross_left.fbx.meta b/Assets/Mesh_Models/Line_cross_left.fbx.meta new file mode 100644 index 0000000..a40362d --- /dev/null +++ b/Assets/Mesh_Models/Line_cross_left.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 7f7624fc380e87c42b3be4954cf0c5c2 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_cross_right.fbx b/Assets/Mesh_Models/Line_cross_right.fbx new file mode 100644 index 0000000..9271834 Binary files /dev/null and b/Assets/Mesh_Models/Line_cross_right.fbx differ diff --git a/Assets/Mesh_Models/Line_cross_right.fbx.meta b/Assets/Mesh_Models/Line_cross_right.fbx.meta new file mode 100644 index 0000000..ad649f7 --- /dev/null +++ b/Assets/Mesh_Models/Line_cross_right.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 4883fa70f41c3724d83369985beebbed +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Line_straight.fbx b/Assets/Mesh_Models/Line_straight.fbx new file mode 100644 index 0000000..46d4498 Binary files /dev/null and b/Assets/Mesh_Models/Line_straight.fbx differ diff --git a/Assets/Mesh_Models/Line_straight.fbx.meta b/Assets/Mesh_Models/Line_straight.fbx.meta new file mode 100644 index 0000000..c2b1bc7 --- /dev/null +++ b/Assets/Mesh_Models/Line_straight.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: a9aa0f348db6aca46a017f543beb30ea +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Medium_Package.prefab b/Assets/Mesh_Models/Medium_Package.prefab new file mode 100644 index 0000000..fb9a1a9 Binary files /dev/null and b/Assets/Mesh_Models/Medium_Package.prefab differ diff --git a/Assets/Mesh_Models/Medium_Package.prefab.meta b/Assets/Mesh_Models/Medium_Package.prefab.meta new file mode 100644 index 0000000..72fc4ea --- /dev/null +++ b/Assets/Mesh_Models/Medium_Package.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b0b2c93612ef3114894550353d2f8ceb +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Polka_na_paczki.prefab b/Assets/Mesh_Models/Polka_na_paczki.prefab new file mode 100644 index 0000000..5eb7b93 Binary files /dev/null and b/Assets/Mesh_Models/Polka_na_paczki.prefab differ diff --git a/Assets/Mesh_Models/Polka_na_paczki.prefab.meta b/Assets/Mesh_Models/Polka_na_paczki.prefab.meta new file mode 100644 index 0000000..95f5c06 --- /dev/null +++ b/Assets/Mesh_Models/Polka_na_paczki.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d799ec06caecc5143a72e518c3c8ddd4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/RightCross.prefab b/Assets/Mesh_Models/RightCross.prefab new file mode 100644 index 0000000..2ca6189 Binary files /dev/null and b/Assets/Mesh_Models/RightCross.prefab differ diff --git a/Assets/Mesh_Models/RightCross.prefab.meta b/Assets/Mesh_Models/RightCross.prefab.meta new file mode 100644 index 0000000..f3294ed --- /dev/null +++ b/Assets/Mesh_Models/RightCross.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5e814c5f9b8de494d9674ad054cb2514 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Robot.prefab b/Assets/Mesh_Models/Robot.prefab new file mode 100644 index 0000000..d0ea354 Binary files /dev/null and b/Assets/Mesh_Models/Robot.prefab differ diff --git a/Assets/Mesh_Models/Robot.prefab.meta b/Assets/Mesh_Models/Robot.prefab.meta new file mode 100644 index 0000000..a3f65ab --- /dev/null +++ b/Assets/Mesh_Models/Robot.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: da55019ddcc3cc542bd150fb465b11c1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Small_Package.prefab b/Assets/Mesh_Models/Small_Package.prefab new file mode 100644 index 0000000..632190b Binary files /dev/null and b/Assets/Mesh_Models/Small_Package.prefab differ diff --git a/Assets/Mesh_Models/Small_Package.prefab.meta b/Assets/Mesh_Models/Small_Package.prefab.meta new file mode 100644 index 0000000..931ab15 --- /dev/null +++ b/Assets/Mesh_Models/Small_Package.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 927d40d588b5f0b4285abe5d1bc7c15a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx b/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx new file mode 100644 index 0000000..5ee70b5 Binary files /dev/null and b/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx differ diff --git a/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx.meta b/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx.meta new file mode 100644 index 0000000..4e08355 --- /dev/null +++ b/Assets/Mesh_Models/Srednie_Duze_maly 1.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: ef3c4238301ef4d4c81f1143e1dfd5c7 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Storage_maly.fbx b/Assets/Mesh_Models/Storage_maly.fbx new file mode 100644 index 0000000..8926783 Binary files /dev/null and b/Assets/Mesh_Models/Storage_maly.fbx differ diff --git a/Assets/Mesh_Models/Storage_maly.fbx.meta b/Assets/Mesh_Models/Storage_maly.fbx.meta new file mode 100644 index 0000000..73aea1e --- /dev/null +++ b/Assets/Mesh_Models/Storage_maly.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 3b7426fb795d44644a0775ccb68a60b8 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Szuflada.prefab b/Assets/Mesh_Models/Szuflada.prefab new file mode 100644 index 0000000..96c7da9 Binary files /dev/null and b/Assets/Mesh_Models/Szuflada.prefab differ diff --git a/Assets/Mesh_Models/Szuflada.prefab.meta b/Assets/Mesh_Models/Szuflada.prefab.meta new file mode 100644 index 0000000..3a1cc40 --- /dev/null +++ b/Assets/Mesh_Models/Szuflada.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7ace68379fb23ed46a1bf7f3f380015d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/T_Cross.prefab b/Assets/Mesh_Models/T_Cross.prefab new file mode 100644 index 0000000..89e45ed Binary files /dev/null and b/Assets/Mesh_Models/T_Cross.prefab differ diff --git a/Assets/Mesh_Models/T_Cross.prefab.meta b/Assets/Mesh_Models/T_Cross.prefab.meta new file mode 100644 index 0000000..dcdf1f4 --- /dev/null +++ b/Assets/Mesh_Models/T_Cross.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1f07fb7fb5d44c548b1e538bf1529d3c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/Turn.prefab b/Assets/Mesh_Models/Turn.prefab new file mode 100644 index 0000000..545740a Binary files /dev/null and b/Assets/Mesh_Models/Turn.prefab differ diff --git a/Assets/Mesh_Models/Turn.prefab.meta b/Assets/Mesh_Models/Turn.prefab.meta new file mode 100644 index 0000000..165ebc4 --- /dev/null +++ b/Assets/Mesh_Models/Turn.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 850dc11a66dacf74b9293246202ff920 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_T.fbx b/Assets/Mesh_Models/big_T.fbx new file mode 100644 index 0000000..9f17e4c Binary files /dev/null and b/Assets/Mesh_Models/big_T.fbx differ diff --git a/Assets/Mesh_Models/big_T.fbx.meta b/Assets/Mesh_Models/big_T.fbx.meta new file mode 100644 index 0000000..1bd7c2f --- /dev/null +++ b/Assets/Mesh_Models/big_T.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 2bd6afcf27a049c4bacff2875e20f36c +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_X.fbx b/Assets/Mesh_Models/big_X.fbx new file mode 100644 index 0000000..47f4128 Binary files /dev/null and b/Assets/Mesh_Models/big_X.fbx differ diff --git a/Assets/Mesh_Models/big_X.fbx.meta b/Assets/Mesh_Models/big_X.fbx.meta new file mode 100644 index 0000000..55f8966 --- /dev/null +++ b/Assets/Mesh_Models/big_X.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 47028cc4a2d8a12499d78959b225117d +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_left.fbx b/Assets/Mesh_Models/big_left.fbx new file mode 100644 index 0000000..8a1c98e Binary files /dev/null and b/Assets/Mesh_Models/big_left.fbx differ diff --git a/Assets/Mesh_Models/big_left.fbx.meta b/Assets/Mesh_Models/big_left.fbx.meta new file mode 100644 index 0000000..c79912d --- /dev/null +++ b/Assets/Mesh_Models/big_left.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 1b43d796d7871f044b1ac3ed7d4912e2 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_right.fbx b/Assets/Mesh_Models/big_right.fbx new file mode 100644 index 0000000..9913a1b Binary files /dev/null and b/Assets/Mesh_Models/big_right.fbx differ diff --git a/Assets/Mesh_Models/big_right.fbx.meta b/Assets/Mesh_Models/big_right.fbx.meta new file mode 100644 index 0000000..2b3108a --- /dev/null +++ b/Assets/Mesh_Models/big_right.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 61d61cc3c4fc61a4bb6c77ff59244cb4 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_straight.fbx b/Assets/Mesh_Models/big_straight.fbx new file mode 100644 index 0000000..1cf32ad Binary files /dev/null and b/Assets/Mesh_Models/big_straight.fbx differ diff --git a/Assets/Mesh_Models/big_straight.fbx.meta b/Assets/Mesh_Models/big_straight.fbx.meta new file mode 100644 index 0000000..27236a5 --- /dev/null +++ b/Assets/Mesh_Models/big_straight.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 0083b6dd018986647b82097c02dd42cc +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/big_turn.fbx b/Assets/Mesh_Models/big_turn.fbx new file mode 100644 index 0000000..a140125 Binary files /dev/null and b/Assets/Mesh_Models/big_turn.fbx differ diff --git a/Assets/Mesh_Models/big_turn.fbx.meta b/Assets/Mesh_Models/big_turn.fbx.meta new file mode 100644 index 0000000..24fa2b4 --- /dev/null +++ b/Assets/Mesh_Models/big_turn.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 38f5a196b6ecf1948a54fd26f39ed946 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/podnies_paczke_najwyzej.controller b/Assets/Mesh_Models/podnies_paczke_najwyzej.controller new file mode 100644 index 0000000..e3b8cc4 Binary files /dev/null and b/Assets/Mesh_Models/podnies_paczke_najwyzej.controller differ diff --git a/Assets/Mesh_Models/podnies_paczke_najwyzej.controller.meta b/Assets/Mesh_Models/podnies_paczke_najwyzej.controller.meta new file mode 100644 index 0000000..ea1a39b --- /dev/null +++ b/Assets/Mesh_Models/podnies_paczke_najwyzej.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50216e7ef6e80594db04db7aa20e6c99 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/robot.fbx b/Assets/Mesh_Models/robot.fbx new file mode 100644 index 0000000..d04e0db Binary files /dev/null and b/Assets/Mesh_Models/robot.fbx differ diff --git a/Assets/Mesh_Models/robot.fbx.meta b/Assets/Mesh_Models/robot.fbx.meta new file mode 100644 index 0000000..6d6858b --- /dev/null +++ b/Assets/Mesh_Models/robot.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: ed01e1c60fb1c1648bee9c360093d406 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mesh_Models/szuflada.controller b/Assets/Mesh_Models/szuflada.controller new file mode 100644 index 0000000..4a49944 Binary files /dev/null and b/Assets/Mesh_Models/szuflada.controller differ diff --git a/Assets/Mesh_Models/szuflada.controller.meta b/Assets/Mesh_Models/szuflada.controller.meta new file mode 100644 index 0000000..4096ac8 --- /dev/null +++ b/Assets/Mesh_Models/szuflada.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97683ee7051868c43a5e3295c8605956 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain 1.asset b/Assets/New Terrain 1.asset new file mode 100644 index 0000000..3232477 Binary files /dev/null and b/Assets/New Terrain 1.asset differ diff --git a/Assets/New Terrain 1.asset.meta b/Assets/New Terrain 1.asset.meta new file mode 100644 index 0000000..513b01d --- /dev/null +++ b/Assets/New Terrain 1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4075855e5a42f184497ee849b1e1b9b9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain 2.asset b/Assets/New Terrain 2.asset new file mode 100644 index 0000000..dc2807e Binary files /dev/null and b/Assets/New Terrain 2.asset differ diff --git a/Assets/New Terrain 2.asset.meta b/Assets/New Terrain 2.asset.meta new file mode 100644 index 0000000..e8be14f --- /dev/null +++ b/Assets/New Terrain 2.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe539fb82d591ba46ad5dbfb6137907c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain 3.asset b/Assets/New Terrain 3.asset new file mode 100644 index 0000000..50dfbe4 Binary files /dev/null and b/Assets/New Terrain 3.asset differ diff --git a/Assets/New Terrain 3.asset.meta b/Assets/New Terrain 3.asset.meta new file mode 100644 index 0000000..4dc5c17 --- /dev/null +++ b/Assets/New Terrain 3.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d69344f2d23e154ba5fcfa26fb38b2f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain 4.asset b/Assets/New Terrain 4.asset new file mode 100644 index 0000000..c1ca6f5 Binary files /dev/null and b/Assets/New Terrain 4.asset differ diff --git a/Assets/New Terrain 4.asset.meta b/Assets/New Terrain 4.asset.meta new file mode 100644 index 0000000..6af4022 --- /dev/null +++ b/Assets/New Terrain 4.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e314b7f4c136d24180147d908215e97 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain.asset b/Assets/New Terrain.asset new file mode 100644 index 0000000..323ec05 Binary files /dev/null and b/Assets/New Terrain.asset differ diff --git a/Assets/New Terrain.asset.meta b/Assets/New Terrain.asset.meta new file mode 100644 index 0000000..4515966 --- /dev/null +++ b/Assets/New Terrain.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0710dd0fff21afe40a5ee1620880739c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/material.meta b/Assets/material.meta new file mode 100644 index 0000000..0bf880d --- /dev/null +++ b/Assets/material.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fba08a98d60f7104a827e61a852d3f7e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/material/CubeMaterial.mat.meta b/Assets/material/CubeMaterial.mat.meta new file mode 100644 index 0000000..13129a3 --- /dev/null +++ b/Assets/material/CubeMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b9eea25dc7baac4db51dc4b20444b4d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/scene.meta b/Assets/scene.meta new file mode 100644 index 0000000..2c8bbf1 --- /dev/null +++ b/Assets/scene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2651bd03c5957242bff5fd99803dafa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/scene/MainScene.unity b/Assets/scene/MainScene.unity deleted file mode 100644 index da00a66..0000000 Binary files a/Assets/scene/MainScene.unity and /dev/null differ diff --git a/Assets/scene/Main_scene.unity b/Assets/scene/Main_scene.unity new file mode 100644 index 0000000..e26e31a Binary files /dev/null and b/Assets/scene/Main_scene.unity differ diff --git a/Assets/scene/Main_scene.unity.meta b/Assets/scene/Main_scene.unity.meta new file mode 100644 index 0000000..660676d --- /dev/null +++ b/Assets/scene/Main_scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80653a4ae0387fc4698875b040bf7afa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src.meta b/Assets/src.meta new file mode 100644 index 0000000..d25fdab --- /dev/null +++ b/Assets/src.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 311529b1f108fc748bf54d96f90130e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/LightController.cs.meta b/Assets/src/LightController.cs.meta new file mode 100644 index 0000000..2bf1c22 --- /dev/null +++ b/Assets/src/LightController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c1d2ea652e3c514a979de99e568c919 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/MeshConctroller.cs.meta b/Assets/src/MeshConctroller.cs.meta new file mode 100644 index 0000000..20aaa15 --- /dev/null +++ b/Assets/src/MeshConctroller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b1e791d7083d9e48b0e20b5bd9b60cf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server.meta b/Assets/src/RESTful-Server.meta new file mode 100644 index 0000000..7febf70 --- /dev/null +++ b/Assets/src/RESTful-Server.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c18eeaa5d0f3f0b429cec27603948130 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/ServerInit.cs b/Assets/src/RESTful-Server/ServerInit.cs index 321610a..2310b3c 100644 --- a/Assets/src/RESTful-Server/ServerInit.cs +++ b/Assets/src/RESTful-Server/ServerInit.cs @@ -1,24 +1,25 @@ -// RESTful-Unity -// Copyright (C) 2016 - Tim F. Rieck -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . -// -// -// Copyright (c) 2016 All Rights Reserved -// -// Tim F. Rieck -// 28/11/2016 22:00 PM +//// RESTful-Unity +//// Copyright (C) 2016 - Tim F. Rieck +//// +//// This program is free software: you can redistribute it and/or modify +//// it under the terms of the GNU General Public License as published by +//// the Free Software Foundation, either version 3 of the License, or +//// (at your option) any later version. +//// +//// This program is distributed in the hope that it will be useful, +//// but WITHOUT ANY WARRANTY; without even the implied warranty of +//// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//// GNU General Public License for more details. +//// +//// You should have received a copy of the GNU General Public License +//// along with this program. If not, see . +//// +//// +//// Copyright (c) 2016 All Rights Reserved +//// +//// Tim F. Rieck +//// 28/11/2016 22:00 PM + using UnityEngine; using System.Collections; @@ -26,50 +27,68 @@ using RESTfulHTTPServer.src.controller; using RESTfulHTTPServer.src.models; -public class ServerInit : MonoBehaviour +public class ServerInit : MonoBehaviour { - private const string TAG = "Server Init"; + private const string TAG = "Server Init"; + + public int port = 8080; + public string username = ""; + public string password = ""; + + /// + /// Use this for initialization + /// + void Start() + { + + // Make sure the applications continues to run in the background + Application.runInBackground = true; + + // ------------------------------ + // Creating a Simple REST server + // ------------------------------ + + // 1. Create the routing table + // HTTP Type - URL routing path with variables - Class and method to be called + // HTTP Type - /foo/bar/{variable} - DelegetorClass.MethodToBeCalled + RoutingManager routingManager = new RoutingManager(); + routingManager.AddRoute(new Route(Route.Type.GET, "/color/{objname}", "MaterialInvoke.GetColor")); + routingManager.AddRoute(new Route(Route.Type.POST, "/color/{objname}", "MaterialInvoke.SetColor")); + routingManager.AddRoute(new Route(Route.Type.DELETE, "/color/{objname}", "MaterialInvoke.DeleteColor")); + + // symulacja + routingManager.AddRoute(new Route(Route.Type.GET, "/sim/{objname}", "SimulationInvoker.Get")); // pobiera dane o wizualizacji + routingManager.AddRoute(new Route(Route.Type.POST, "/sim/{objname}", "SimulationInvoker.Set")); // ustawia całą scenÄ™ na nowo + routingManager.AddRoute(new Route(Route.Type.PUT, "/sim/{objname}", "SimulationInvoker.Put")); // dodaje nowy magazyn, dodaje linie produkcyjnÄ… która do niego prowadzi + routingManager.AddRoute(new Route(Route.Type.PUT, "/sim/delete/{objname}", "SimulationInvoker.Delete")); // usuwa magazyn po ID oraz liniÄ™ produkcyjnÄ… - public int port = 8080; - public string username = ""; - public string password = ""; - /// - /// Use this for initialization - /// - void Start () { - // Make sure the applications continues to run in the background - Application.runInBackground = true; + // linia sortujÄ…ca + routingManager.AddRoute(new Route(Route.Type.POST, "/sort/{objname}", "SortInvoker.create"));// tworzy głównÄ… liniÄ™ sortowania - // ------------------------------ - // Creating a Simple REST server - // ------------------------------ + // Paczki + routingManager.AddRoute(new Route(Route.Type.GET, "/pack/{objname}", "PackagesInvoker.Get")); // Zwraca liste nieposortowanych paczek + routingManager.AddRoute(new Route(Route.Type.POST, "/pack/search", "PackagesInvoker.Search")); // Wyszukuje paczki po ID podÅ›wietla jÄ… w magazynie + routingManager.AddRoute(new Route(Route.Type.PUT, "/pack/remove", "PackagesInvoker.Remove")); // kurier usuwa paczki + routingManager.AddRoute(new Route(Route.Type.PUT, "/pack/{objname}", "PackagesInvoker.Put")); //Dodaje paczki na liniÄ™ sortujÄ…cÄ… - // 1. Create the routing table - // HTTP Type - URL routing path with variables - Class and method to be called - // HTTP Type - /foo/bar/{variable} - DelegetorClass.MethodToBeCalled - RoutingManager routingManager = new RoutingManager(); - routingManager.AddRoute(new Route(Route.Type.GET, "/color/{objname}", "MaterialInvoke.GetColor")); - routingManager.AddRoute(new Route(Route.Type.POST, "/color/{objname}", "MaterialInvoke.SetColor")); - routingManager.AddRoute(new Route(Route.Type.DELETE, "/color/{objname}", "MaterialInvoke.DeleteColor")); + // Starts the Simple REST Server + // With or without basic authorisation flag + if (!username.Equals("") && !password.Equals("")) + { + RESTfulHTTPServer.src.controller.Logger.Log(TAG, "Create basic auth"); + BasicAuth basicAuth = new BasicAuth(username, password); + new SimpleRESTServer(port, routingManager, basicAuth); + } + else + { + new SimpleRESTServer(port, routingManager); + } + } - // Starts the Simple REST Server - // With or without basic authorisation flag - if (!username.Equals("") && !password.Equals("")) - { - RESTfulHTTPServer.src.controller.Logger.Log(TAG, "Create basic auth"); - BasicAuth basicAuth = new BasicAuth (username, password); - new SimpleRESTServer(port, routingManager, basicAuth); - } - else - { - new SimpleRESTServer(port, routingManager); - } - } - - /// - /// Update is called once per frame - /// - void Update () { } -} + /// + /// Update is called once per frame + /// + void Update() { } +} \ No newline at end of file diff --git a/Assets/src/RESTful-Server/ServerInit.cs.meta b/Assets/src/RESTful-Server/ServerInit.cs.meta new file mode 100644 index 0000000..f3c9fb1 --- /dev/null +++ b/Assets/src/RESTful-Server/ServerInit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: df74301887240f7438461ac4e6701ae6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller.meta b/Assets/src/RESTful-Server/controller.meta new file mode 100644 index 0000000..eadab1a --- /dev/null +++ b/Assets/src/RESTful-Server/controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1931c89a39569147b608cea1e5cf59a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller/Configuration.cs.meta b/Assets/src/RESTful-Server/controller/Configuration.cs.meta new file mode 100644 index 0000000..fa28f8c --- /dev/null +++ b/Assets/src/RESTful-Server/controller/Configuration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38cfbb39076e42047a020f4cbb99e696 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller/Logger.cs.meta b/Assets/src/RESTful-Server/controller/Logger.cs.meta new file mode 100644 index 0000000..00d77af --- /dev/null +++ b/Assets/src/RESTful-Server/controller/Logger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7f431b161ca298848a363c55c3b3481e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller/RoutingManager.cs b/Assets/src/RESTful-Server/controller/RoutingManager.cs index dad4da0..87a8cb5 100644 --- a/Assets/src/RESTful-Server/controller/RoutingManager.cs +++ b/Assets/src/RESTful-Server/controller/RoutingManager.cs @@ -70,7 +70,7 @@ public void AddRoute(Route route) } else { - throw new Exception("HTTP Tpye not matching"); + throw new Exception("HTTP Type not matching"); } } @@ -87,7 +87,7 @@ public void AddGETRoute(Route route) } else { - throw new Exception("HTTP Tpye not matching"); + throw new Exception("HTTP Type not matching"); } } @@ -104,7 +104,7 @@ public void AddPOSTRoute(Route route) } else { - throw new Exception("HTTP Tpye not matching"); + throw new Exception("HTTP Type not matching"); } } @@ -120,7 +120,7 @@ public void AddPUTRoute(Route route) } else { - throw new Exception("HTTP Tpye not matching"); + throw new Exception("HTTP Type not matching"); } } @@ -136,7 +136,7 @@ public void AddDELETERoute(Route route) } else { - throw new Exception("HTTP Tpye not matching"); + throw new Exception("HTTP Type not matching"); } } diff --git a/Assets/src/RESTful-Server/controller/RoutingManager.cs.meta b/Assets/src/RESTful-Server/controller/RoutingManager.cs.meta new file mode 100644 index 0000000..1b33a83 --- /dev/null +++ b/Assets/src/RESTful-Server/controller/RoutingManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: baf86549055bb8f498ae8c21a5759a54 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller/SimpleRESTServer.cs.meta b/Assets/src/RESTful-Server/controller/SimpleRESTServer.cs.meta new file mode 100644 index 0000000..aefc662 --- /dev/null +++ b/Assets/src/RESTful-Server/controller/SimpleRESTServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3dae816948635064ca3bec1064c854f3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/controller/UnityInvoker.cs.meta b/Assets/src/RESTful-Server/controller/UnityInvoker.cs.meta new file mode 100644 index 0000000..10e36fa --- /dev/null +++ b/Assets/src/RESTful-Server/controller/UnityInvoker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ecfddd2f7c713b046ac56f5524fa5487 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/invoker.meta b/Assets/src/RESTful-Server/invoker.meta new file mode 100644 index 0000000..646c419 --- /dev/null +++ b/Assets/src/RESTful-Server/invoker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a08788cc2e688f94389f5acb550b1693 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/invoker/MaterialInvoke.cs.meta b/Assets/src/RESTful-Server/invoker/MaterialInvoke.cs.meta new file mode 100644 index 0000000..d029408 --- /dev/null +++ b/Assets/src/RESTful-Server/invoker/MaterialInvoke.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42bfebdb166b7b142b211aa6ad3283d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs b/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs new file mode 100644 index 0000000..5ad70a0 --- /dev/null +++ b/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs @@ -0,0 +1,171 @@ +using UnityEngine; +using System; +using System.Net; +using System.Collections; +using System.Collections.Generic; +using RESTfulHTTPServer.src.models; +using RESTfulHTTPServer.src.controller; +using Newtonsoft.Json; +// using System.Text.Json; + +namespace RESTfulHTTPServer.src.invoker +{ + public class PackagesInvoker + { + private const string TAG = "Packages Invoker"; + public interface ExtensionOfNativeClass + { + // Marker interface does not require any methods + } + /// + /// Get the color of an object + /// + /// The color. + /// Request. + public static Response Get(Request request) + { + Response response = new Response(); + string objname = request.GetParameter("objname"); + string responseData = ""; + + // Verbose all URL variables + foreach (string key in request.GetQuerys().Keys) + { + + string value = request.GetQuery(key); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, "key: " + key + " , value: " + value); + } + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + if (gameObject != null) + { + try + { + MenagePackeges Packages_List = gameObject.GetComponent(); + + responseData = JsonUtility.ToJson(Packages_List); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + + + } + catch (Exception e) + { + string msg = "Failed to serialised JSON"; + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + // 404 - Not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_TEXT); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // 200 - OK + // Fillig up the response with data + response.SetContent(responseData); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + + return response; + } + + + + + public static Response Set(Request request) + { + Response response = new Response(); + string responseData = ""; + string json = request.GetPOSTData(); + string objname = request.GetParameter("objname"); + bool valid = true; + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + if (gameObject != null) + { + try + { + + // Deserialise the material + //MenagePackeges Packages_List = JsonUtility.FromJson(json); + + MenagePackeges Packages_List = JsonConvert.DeserializeObject(json); + //dynamic Packages_List = JsonSerializer.Deserialize(json); + + //MenagePackeges Packages_List_res = new MenagePackeges(); + // Check if it's our light source + //if (gameObject.GetComponent() != null) + //{ + // // Set the color to the object + MenagePackeges managePack = gameObject.GetComponent(); + managePack.SetList(Packages_List.GetList()); + + // Packages_List_res.SetList(Packages_List.GetList()); + // responseData = JsonUtility.ToJson(Packages_List_res); + responseData = json; + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + //} + } + catch (Exception e) + { + valid = false; + string msg = "Error: " + e.ToString(); + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + + // 404 - Object not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // Filling up the response with data + if (valid) + { + + // 200 - OK + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + } + else + { + + // 406 - Not acceptable + response.SetContent("Failed to deseiralised JSON"); + response.SetHTTPStatusCode((int)HttpStatusCode.NotAcceptable); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + + return response; + } + } +} \ No newline at end of file diff --git a/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs.meta b/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs.meta new file mode 100644 index 0000000..64f01ea --- /dev/null +++ b/Assets/src/RESTful-Server/invoker/PackagesInvoker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 588b397f7c9c8d34d97bb0399f24dbec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs b/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs new file mode 100644 index 0000000..91fa71b --- /dev/null +++ b/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs @@ -0,0 +1,307 @@ +using UnityEngine; +using System; +using System.Net; +using System.Collections; +using System.Collections.Generic; +using RESTfulHTTPServer.src.models; +using RESTfulHTTPServer.src.controller; +using Newtonsoft.Json; + +namespace RESTfulHTTPServer.src.invoker +{ + public class SimulationInvoker + { + private const string TAG = "Simulation Invoker"; + /// + /// Get the color of an object + /// + /// The color. + /// Request. + public static Response Get(Request request) + { + Response response = new Response(); + string objname = request.GetParameter("objname"); + string responseData = ""; + + // Verbose all URL variables + foreach (string key in request.GetQuerys().Keys) + { + + string value = request.GetQuery(key); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, "key: " + key + " , value: " + value); + } + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + if (gameObject != null) + { + try + { + Simulation simComponent = gameObject.GetComponent(); + + responseData = simComponent.ToJson(); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + + + } + catch (Exception e) + { + string msg = "Failed to seiralised JSON"; + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + // 404 - Not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_TEXT); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // 200 - OK + // Fillig up the response with data + response.SetContent(responseData); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + + return response; + } + + + public static Response Set(Request request) + { + Response response = new Response(); + string responseData = ""; + string json = request.GetPOSTData(); + string objname = request.GetParameter("objname"); + bool valid = true; + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + if (gameObject != null) + { + try + { + Simulation sim = JsonConvert.DeserializeObject(json); + + Simulation Current_sim = gameObject.GetComponent(); + Current_sim.SetList(sim.GetList()); + Current_sim.sort_method = sim.sort_method; + Current_sim.set_start(sim.Line_start_x, sim.Line_start_y); + + // Packages_List_res.SetList(Packages_List.GetList()); + // responseData = JsonUtility.ToJson(Packages_List_res); + responseData = json; + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + //} + } + catch (Exception e) + { + valid = false; + string msg = "Error: " + e.ToString(); + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + + // 404 - Object not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // Filling up the response with data + if (valid) + { + + // 200 - OK + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + } + else + { + + // 406 - Not acceptable + response.SetContent("Failed to deseiralised JSON"); + response.SetHTTPStatusCode((int)HttpStatusCode.NotAcceptable); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + + return response; + } + + + public static Response Put(Request request) + { + Response response = new Response(); + string responseData = ""; + string json = request.GetPOSTData(); + string objname = request.GetParameter("objname"); + bool valid = true; + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + + if (gameObject != null) + { + try + { + warehouse Whouse = JsonConvert.DeserializeObject(json); + + Simulation Current_sim = gameObject.GetComponent(); + Current_sim.Add_warehouse(new warehouse(Whouse.Destination,Whouse.Grid_X, + Whouse.Grid_Y,Whouse.Grid_rotation,Whouse.SmallPackagesSlots,Whouse.MediumPackagesSlots, + Whouse.BigPackagesSlots)); + + + responseData = json; + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + } + catch (Exception e) + { + valid = false; + string msg = "Error: " + e.ToString(); + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + + // 404 - Object not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // Filling up the response with data + if (valid) + { + + // 200 - OK + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + } + else + { + + // 406 - Not acceptable + response.SetContent("Failed to deseiralised JSON"); + response.SetHTTPStatusCode((int)HttpStatusCode.NotAcceptable); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + + return response; + } + + + public static Response Delete(Request request) + { + Response response = new Response(); + string responseData = ""; + string json = request.GetPOSTData(); + string objname = request.GetParameter("objname"); + bool valid = true; + + UnityInvoker.ExecuteOnMainThread.Enqueue(() => { + + // Determine our object in the scene + GameObject gameObject = GameObject.Find(objname); + if (gameObject != null) + { + try + { + ID_List_To_Delete ids = JsonConvert.DeserializeObject(json); + Simulation Current_sim = gameObject.GetComponent(); + + foreach (int i in ids.IDs) + { + Current_sim.Delete_Warehouse(i); + } + responseData = json; + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + } + catch (Exception e) + { + valid = false; + string msg = "Error: " + e.ToString(); + responseData = msg; + + RESTfulHTTPServer.src.controller.Logger.Log(TAG, msg); + RESTfulHTTPServer.src.controller.Logger.Log(TAG, e.ToString()); + } + + } + else + { + + // 404 - Object not found + responseData = "404"; + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.NotFound); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + }); + + // Wait for the main thread + while (responseData.Equals("")) { } + + // Filling up the response with data + if (valid) + { + + // 200 - OK + response.SetContent(responseData); + response.SetHTTPStatusCode((int)HttpStatusCode.OK); + response.SetMimeType(Response.MIME_CONTENT_TYPE_JSON); + } + else + { + + // 406 - Not acceptable + response.SetContent("Failed to deseiralised JSON"); + response.SetHTTPStatusCode((int)HttpStatusCode.NotAcceptable); + response.SetMimeType(Response.MIME_CONTENT_TYPE_HTML); + } + + return response; + } + + + + } +} diff --git a/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs.meta b/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs.meta new file mode 100644 index 0000000..8cf6104 --- /dev/null +++ b/Assets/src/RESTful-Server/invoker/SimulationInvoker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 26bfcce3cc2344849bd0bed9faf29e1d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/models.meta b/Assets/src/RESTful-Server/models.meta new file mode 100644 index 0000000..9631108 --- /dev/null +++ b/Assets/src/RESTful-Server/models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: da0aaa1ab4c03bd47b91580c3275115e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/models/BasicAuth.cs.meta b/Assets/src/RESTful-Server/models/BasicAuth.cs.meta new file mode 100644 index 0000000..65bb452 --- /dev/null +++ b/Assets/src/RESTful-Server/models/BasicAuth.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: befe2a76f86a18645b799ad614685a83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/models/Request.cs.meta b/Assets/src/RESTful-Server/models/Request.cs.meta new file mode 100644 index 0000000..a6d430b --- /dev/null +++ b/Assets/src/RESTful-Server/models/Request.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51fd3b1641a5fdd41975bdf77210d53d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/models/Response.cs.meta b/Assets/src/RESTful-Server/models/Response.cs.meta new file mode 100644 index 0000000..3f33511 --- /dev/null +++ b/Assets/src/RESTful-Server/models/Response.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e2b07a6cd8430df4fb98b92979033391 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/RESTful-Server/models/Route.cs.meta b/Assets/src/RESTful-Server/models/Route.cs.meta new file mode 100644 index 0000000..2537773 --- /dev/null +++ b/Assets/src/RESTful-Server/models/Route.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a3e20bb47b9eef84a86bfff1506f8994 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models.meta b/Assets/src/models.meta new file mode 100644 index 0000000..73f80b1 --- /dev/null +++ b/Assets/src/models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f1e874cc02a65849a619a445a560ed2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/CameraMovement.cs b/Assets/src/models/CameraMovement.cs new file mode 100644 index 0000000..529163b --- /dev/null +++ b/Assets/src/models/CameraMovement.cs @@ -0,0 +1,86 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +public class CameraMovement : MonoBehaviour +{ + private Vector2 _delta; + + private bool _isMoving; + private bool _isRotating; + + private float _xRotation; + + [SerializeField] private float movespeed = 10f; + [SerializeField] private float rotationspeed = 1f; + + public float ZoomChange; + public float SmoothChange; + public float MinSize,MaxSize; + private Camera Cam; + + private void Awake() + { + _xRotation = transform.rotation.eulerAngles.x; + } + + private void Start() + { + Cam = GetComponent(); + } + + private void Update() + { + if (Input.mouseScrollDelta.y > 0) + { + Cam.orthographicSize -= ZoomChange * Time.deltaTime * SmoothChange; + } + if (Input.mouseScrollDelta.y < 0) + { + Cam.orthographicSize += ZoomChange * Time.deltaTime * SmoothChange; + } + Cam.orthographicSize = Mathf.Clamp(Cam.orthographicSize,MinSize,MaxSize); + } + + + public void OnLook(InputAction.CallbackContext context) + { + _delta = context.ReadValue(); + } + + public void OnMove(InputAction.CallbackContext context) + { + _isMoving = context.started || context.performed; + } + + + public void OnRotate(InputAction.CallbackContext context) + { + _isRotating = context.started || context.performed; + + } + + + private void LateUpdate() + { + if (_isMoving) + { + var position = transform.right * (_delta.x * (-movespeed)); + position += transform.up * (_delta.y * (-movespeed)); + transform.position += position*Time.deltaTime; + + } + + if (_isRotating) + { + transform.Rotate(new Vector3(_xRotation, _delta.x * rotationspeed, 0f)); + transform.rotation = Quaternion.Euler(_xRotation, transform.rotation.eulerAngles.y, 0f); + + } + + + } + +} diff --git a/Assets/src/models/CameraMovement.cs.meta b/Assets/src/models/CameraMovement.cs.meta new file mode 100644 index 0000000..fed83ca --- /dev/null +++ b/Assets/src/models/CameraMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b867238da73c2a4485607e0917c6ae3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/MenagePackeges.cs b/Assets/src/models/MenagePackeges.cs new file mode 100644 index 0000000..f49e6a3 --- /dev/null +++ b/Assets/src/models/MenagePackeges.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System; + +public class MenagePackeges : MonoBehaviour +{ + public List Package_List; + + // Start is called before the first frame update + void Start() + { + Package_List = new List(); + } + + public void Add_package(Package pack) + { + + } + + public List GetList() { return Package_List; } + + public void SetList(List data) { Package_List = data; } +} diff --git a/Assets/src/models/MenagePackeges.cs.meta b/Assets/src/models/MenagePackeges.cs.meta new file mode 100644 index 0000000..cf19c94 --- /dev/null +++ b/Assets/src/models/MenagePackeges.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b1d6d73feee20e94c80473d709266263 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/Package.cs b/Assets/src/models/Package.cs new file mode 100644 index 0000000..9a960a2 --- /dev/null +++ b/Assets/src/models/Package.cs @@ -0,0 +1,187 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEditor.Experimental.GraphView; +using UnityEngine; +using static UnityEngine.GraphicsBuffer; + +[System.Serializable] + + +public struct queue_struct { + public int size; + public string ID; + public int warehouseID; + public List road; + + public queue_struct(int size, string ID, int warehouseID, List road) + { + this.size = size; + this.ID = ID; + this.warehouseID = warehouseID; + this.road = road; + } + + public void set_ID(){} + +}; + + +public class Package:MonoBehaviour +{ + public int size; + public string ID; + public int warehouseID; + public List road; + public GameObject Package_Mesh; + public bool Destination_achived; + public int current_location; + public Rigidbody RiggedBody; + public float tolerance; + public void Initialize(queue_struct init_data) + { + this.size = init_data.size; + this.ID = init_data.ID; + this.warehouseID = init_data.warehouseID; + this.road = init_data.road; + this.Destination_achived = false; + this.current_location = 0; + foreach (Node nd in road) { Debug.Log($" {nd.Input_dir} ,{nd.Index}"); } + + + switch(this.size) + { + case 0 : this.tolerance = 1.55f; break; + case 1: this.tolerance = 2.05f; break; + case 2: this.tolerance = 3.0f; break; + + } + + + } + + private void Start() + {} + + private void Update() + { + Vector3 dir = Vector3.zero; + float speed = 25f; + Vector3 Pack_position = Package_Mesh.transform.position; + int path_length = road.Count; + if (!Destination_achived) + { + int direction = road[current_location + 1].Input_dir; + float x_to_mid = (float)(road[current_location + 1].x * 13.05) - Pack_position.x; + float y_to_mid = (float)(road[current_location + 1].y * 13.05) - Pack_position.z; + float x_to_last = (float)(road[road.Count - 1].x * 13.05) - Pack_position.x; + float y_to_last = (float)(road[road.Count - 1].y * 13.05) - Pack_position.z; + + if ((int)(Pack_position.x / 13.05) == road[road.Count - 1].x && (int)((Pack_position.z - 13.05 / 2) / 13.05) == road[road.Count - 1].y || (Mathf.Abs(x_to_last) < tolerance && Mathf.Abs(y_to_last) < tolerance)) + { + Destination_achived = true; + } + switch (direction) + { + case 1: + dir = new Vector3(x_to_mid, 0, 1); + break; + case -1: + dir = new Vector3(x_to_mid, 0, -1); + break; + case 2: + dir = new Vector3(1, 0, y_to_mid); + break; + case -2: + dir = new Vector3(-1, 0, y_to_mid); + break; + } + if ((int)(Pack_position.x / 13.05) == road[current_location + 1].x && (int)((Pack_position.z - 13.05 / 2) / 13.05) == road[current_location + 1].y || (Mathf.Abs(x_to_mid) < tolerance && Mathf.Abs(y_to_mid) < tolerance)) + { + current_location += 1; + } + + + RiggedBody.velocity = dir * speed; + } + else + { + int direction = road[road.Count - 1].Input_dir; + switch (direction) + { + case 1: + dir = new Vector3(0, 0, 13.05f / 2); + break; + case -1: + dir = new Vector3(0, 0, -13.05f / 2); + break; + case 2: + dir = new Vector3(13.05f / 2, 0, 0); + break; + case -2: + dir = new Vector3(-13.05f / 2, 0, 0); + break; + } + float x_to_last = (float)(road[road.Count - 1].x * 13.05) - Pack_position.x + dir.x; + float y_to_last = (float)(road[road.Count - 1].y * 13.05) - Pack_position.z + dir.z; + if (Math.Abs(x_to_last) > 0.5 || Math.Abs(y_to_last) > 0.5) + { + Vector3 finalPosition = new Vector3((float)(road[road.Count - 1].x * 13.05), Pack_position.y, (float)(road[road.Count - 1].y * 13.05)) + dir; + float distance = Vector3.Distance(transform.position, finalPosition); + float interpolationSpeed = speed / distance; + transform.position = Vector3.Lerp(transform.position, finalPosition, interpolationSpeed * Time.deltaTime); + + } + else + { + RiggedBody.velocity = Vector3.zero; + RiggedBody.angularVelocity = Vector3.zero; + } + } + + } + + + private void OnTriggerEnter(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Enter"); + } + } + + private void OnTriggerStay(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Stay"); + } + } + + private void OnTriggerExit(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Exit"); + } + } + + + public Package get() + { + return this; + } + + public void Add_Mesh_to_Package(GameObject Mesh) + { + this.Package_Mesh = Mesh; + this.RiggedBody = Mesh.GetComponent(); + RiggedBody.isKinematic = false; + RiggedBody.constraints = RigidbodyConstraints.FreezePositionY | + RigidbodyConstraints.FreezeRotationX | + RigidbodyConstraints.FreezeRotationZ; + + } +} + diff --git a/Assets/src/models/Package.cs.meta b/Assets/src/models/Package.cs.meta new file mode 100644 index 0000000..44ac78a --- /dev/null +++ b/Assets/src/models/Package.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd47c9063e2e37549804edc8e30641e1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/Robot.cs b/Assets/src/models/Robot.cs new file mode 100644 index 0000000..b237c1f --- /dev/null +++ b/Assets/src/models/Robot.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +[System.Serializable] +public class Robot : MonoBehaviour +{ + public GameObject robot_prefab; + public int warehouse_id; + public string warehouse_name; + public bool trigger; + public int LocationX; + public int LocationY; + public Vector3 start_pos; + public int put_pack_on_shelf_step = 0; + public int go_back_step = 0; + public List put_pack_commands; + public List go_back_commands; + + + private void Start() + { + } + + private void Update() + { + if (trigger) + { + Vector3 final_vector = this.put_pack_commands[put_pack_on_shelf_step]; + + if (put_pack_on_shelf_step == 0 || put_pack_on_shelf_step == 2 || put_pack_on_shelf_step == 4) + { + if (Math.Abs(robot_prefab.transform.rotation.eulerAngles.y - final_vector.y) > 3) + { transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(final_vector), 1.0f * Time.deltaTime); } + else + { + transform.rotation = Quaternion.Euler(final_vector); + if (put_pack_on_shelf_step < put_pack_commands.Count - 1) + { + put_pack_on_shelf_step += 1; + } + } + + + } + if (put_pack_on_shelf_step == 1 || put_pack_on_shelf_step == 3 || put_pack_on_shelf_step == 5) + { + + Debug.Log($"Finalna pozycja {final_vector}"); + Debug.Log($"Pozycja Robota {robot_prefab.transform.position}"); + Debug.Log($"Ró¿nica {robot_prefab.transform.position.x - final_vector.x}, {robot_prefab.transform.position.z - final_vector.z} "); + + if ((Math.Abs(final_vector.x - robot_prefab.transform.position.x) > 0.4f) || (Math.Abs(final_vector.z - robot_prefab.transform.position.z) > 0.4f)) + { + robot_prefab.transform.position = Vector3.Lerp(robot_prefab.transform.position, final_vector, 1f * Time.deltaTime); + } + else + { + robot_prefab.transform.position = final_vector; + if (put_pack_on_shelf_step < put_pack_commands.Count - 1) + { + put_pack_on_shelf_step += 1; + } + } + } + } + else + { + transform.position = Vector3.Lerp(transform.position, start_pos, 1f * Time.deltaTime); + } + + + } + public void set_move_steps(Vector3 shelf_pos,int shelf_rotation) + { + put_pack_commands = new List(); + go_back_commands = new List(); + float X = shelf_pos.x; + float Y = shelf_pos.z; + float Height = shelf_pos.y; + switch (shelf_rotation) + { + case -1: //od dolu + put_pack_commands.Add(new Vector3(0,180f,0 )); + put_pack_commands.Add(new Vector3(this.start_pos.x, 0, Y - 5f)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X, 0, Y - 5f)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X, 0, Y - 1f)); + break; + case 1: + put_pack_commands.Add(new Vector3(0, 180f, 0)); + put_pack_commands.Add(new Vector3(this.start_pos.x, 0, Y + 5f)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X, 0, Y + 5f)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X, 0, Y + 1f)); + break; + case -2: //od lewej + put_pack_commands.Add(new Vector3(0, 180f, 0)); + put_pack_commands.Add(new Vector3(X + 5f, 0, this.start_pos.y)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X + 5f, 0, Y)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X - 1f, 0, Y)); + break; + case 2: + put_pack_commands.Add(new Vector3(0, 180f, 0)); + put_pack_commands.Add(new Vector3(X + 5f, 0, this.start_pos.y)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X - 5f, 0, Y)); + put_pack_commands.Add(new Vector3(0, 90f, 0)); + put_pack_commands.Add(new Vector3(X + 1f, 0, Y)); + break; + + + } + + + + + + + + } + public bool Is_robot_trigger() + { + return trigger; + } + public void set_start_pos (Vector3 pos) + { + this.start_pos = pos; + } + + + + + +} diff --git a/Assets/src/models/Robot.cs.meta b/Assets/src/models/Robot.cs.meta new file mode 100644 index 0000000..fc12033 --- /dev/null +++ b/Assets/src/models/Robot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04328094da067344297441898b55dcac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/Shelf.cs b/Assets/src/models/Shelf.cs new file mode 100644 index 0000000..0a042e7 --- /dev/null +++ b/Assets/src/models/Shelf.cs @@ -0,0 +1,121 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Unity.VisualScripting; +using UnityEditor.Experimental.GraphView; +using UnityEngine; + +[System.Serializable] +public class Shelf: MonoBehaviour +{ + public GameObject Mesh_; + public string Shelf_ID; + public List Packege_to_Slots; + public int Small_packs_on_shelf; + public int Medium_packs_on_shelf; + public int Big_packs_on_shelf; + public int next_small_Empty; + public int next_small_Medium; + public int next_small_Big; + public int rotation; + + public void Start() + {} + public void Update() + { } + + public void Initialize(GameObject mesh, string name,int rotation) + { + this.Mesh_ = mesh; + this.Shelf_ID = name; + this.Packege_to_Slots = Enumerable.Repeat(string.Empty, 9).ToList(); + this.Small_packs_on_shelf = 0; + this.Medium_packs_on_shelf = 0; + this.Big_packs_on_shelf = 0; + this.next_small_Empty = 0; + this.next_small_Medium = 0; + this.next_small_Big = 0; + Cap(9.0f); + + } + + public float totalCapacity; + private Dictionary> packagesBySize; + + public void Cap(float capacity) + { + totalCapacity = capacity; + packagesBySize = new Dictionary>() + { + { 0, new List() }, // Big packages + { 1, new List() }, // Medium packages + { 2, new List() } // Small packages + }; + } + + //public void AddPackage(int size, Package package) + //{ + // if (packagesBySize.ContainsKey(size)) + // { + // packagesBySize[size].Add(package); + // } + //} + + //public int GetPackageCount(int size) + //{ + // if (packagesBySize.ContainsKey(size)) + // { + // return packagesBySize[size].Count; + // } + // return 0; + //} + + public float GetEmptySlots() + { + float usedSlots = 0.0f; + + foreach (var keyValuePair in packagesBySize) + { + int size = keyValuePair.Key; + int number_of_packages = keyValuePair.Value.Count; + + switch (size) + { + case 0: + usedSlots += number_of_packages * 1.0f; + break; + case 1: + usedSlots += number_of_packages * 1.5f; + break; + case 2: + usedSlots += number_of_packages * 3.0f; + break; + } + } + return totalCapacity - usedSlots; + } + + public Vector3 GetPosition() + { + if (Mesh_ != null) + { + if (totalCapacity >= 0.0f && totalCapacity <= 3.0f) + { + Vector3 offset = new Vector3(1.0f, 0.0f, 1.0f); + return Mesh_.transform.position - offset; + } + + else if (totalCapacity > 3.0f && totalCapacity <= 6.0f) + { + return Mesh_.transform.position; + } + + else + { + Vector3 offset = new Vector3(1.0f, 0.0f, 1.0f); + return Mesh_.transform.position + offset; + } + } + else { return Vector3.zero; } + } +} \ No newline at end of file diff --git a/Assets/src/models/Shelf.cs.meta b/Assets/src/models/Shelf.cs.meta new file mode 100644 index 0000000..8cea84c --- /dev/null +++ b/Assets/src/models/Shelf.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: daaec1e847d36fd4d983c6c3fbc0d5d0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/SimData.cs b/Assets/src/models/SimData.cs new file mode 100644 index 0000000..fc4c761 --- /dev/null +++ b/Assets/src/models/SimData.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[System.Serializable] +public class SimData +{ + public int a; + public int b; + public int c; + public int d; + + public SimData() + { + a = 1; + b = 2; + c = 3; + d = 4; + } + +} diff --git a/Assets/src/models/SimData.cs.meta b/Assets/src/models/SimData.cs.meta new file mode 100644 index 0000000..1c2d53b --- /dev/null +++ b/Assets/src/models/SimData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 652a4313e5d897c40b17fcd203bf4d1b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/Simulation.cs b/Assets/src/models/Simulation.cs new file mode 100644 index 0000000..4838038 --- /dev/null +++ b/Assets/src/models/Simulation.cs @@ -0,0 +1,317 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Newtonsoft.Json; +using UnityEditor.Experimental.GraphView; +using System.Threading; +using System.Drawing; +using Unity.VisualScripting; + + +[System.Serializable] +public class KeyValuePair +{ + public int key; + public warehouse val; + + public KeyValuePair(int key_, warehouse w_) + { + this.key = key_; + this.val = w_; + } +} + +[System.Serializable] +public class ID_List_To_Delete +{ + public List IDs; + + public ID_List_To_Delete() { this.IDs = new List(); } + +} + +public class WarehouseFiled +{ + public int MaxX; + public int MaxY; + public int MinY; + public int MinX; + public WarehouseFiled(int minx, int miny, int maxx, int maxy) { this.MaxX = maxx; this.MaxY = maxy; this.MinX = minx; this.MinY = miny; } + + public bool Check_point(Node point) + { + if (point.x < MaxX && point.x > MinX && point.y < MaxY && point.y > MinY && !point.final) { return true; } + else { return false; } + } + public bool Check_point(int x, int y) + { + if (x <= MaxX && x >= MinX && y <= MaxY && y >= MinY) { return true; } + else { return false; } + } + public bool Check_edge(Node point1, Node point2) + { + if ((point1.y == point2.y && point1.y < MaxY && point1.y > MinY) && ((point1.x > MaxX && point2.x < MinX) || (point2.x > MaxX && point1.x < MinX))) + { + return true; + } + if ((point1.x == point2.x && point1.x < MaxX && point1.x > MinX) && ((point1.y > MaxY && point2.y < MinY) || (point2.y > MaxY && point1.y < MinY))) + { + return true; + } + + + else { return false; } + } +}; + + + +public class Simulation : MonoBehaviour +{ + [JsonProperty] + public Dictionary Warehouses { get; set; } + public string sort_method; + public int Line_start_x; + public int Line_start_y; + private int last_id = 0; + private int last_pack_id = 0; + private float spawn_delay; + [JsonIgnore] + public GameObject Small_Package_Mesh_object; + [JsonIgnore] + public GameObject Medium_Package_Mesh_object; + [JsonIgnore] + public GameObject Big_Package_Mesh_object; + [JsonIgnore] + public GameObject Small_Mesh; + [JsonIgnore] + public GameObject ML_Mesh; + [JsonIgnore] + public float ML_W; + [JsonIgnore] + public float ML_L; + [JsonIgnore] + public float ML_H; + private List warehouseFileds; + private List Objects_to_spawn; + public GameObject robot_prefab; + + private void Start() + { + this.last_pack_id = 0; + this.Warehouses = new Dictionary(); + this.warehouseFileds = new List(); + + // start + this.Add_warehouse(new warehouse("KRK", (-20), (0), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("RZE", (0), (-50), -1, 50, 50, 50)); + this.Add_warehouse(new warehouse("LUB", (50), (0), 2, 50, 50, 50)); + this.Add_warehouse(new warehouse("BIAL", (0), (30), 1, 50, 50, 50)); + //wokó³ górnego + this.Add_warehouse(new warehouse("GORZ", (-15), (35), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("BYD", (15), (35), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("GDA", (-15), (15), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("OLSZ", (15), (20), 2, 50, 50, 50)); + + + //wokó³ lewego + this.Add_warehouse(new warehouse("KAT", (-20), (15), 1, 50, 50, 50)); + this.Add_warehouse(new warehouse("OPO", (-35), (15), 1, 50, 50, 50)); + this.Add_warehouse(new warehouse("WRC", (-20), (-15), 2, 50, 50, 50)); + this.Add_warehouse(new warehouse("SZCZ", (-35), (-15), -1, 50, 50, 50)); + this.Add_warehouse(new warehouse("POZ", (-20), (15), 2, 50, 50, 50)); + this.Add_warehouse(new warehouse("LOD", (-35), (15), 1, 50, 50, 50)); + + //wokó³ dolnego + this.Add_warehouse(new warehouse("WAR", (15), (-65), 1, 50, 50, 50)); + this.Add_warehouse(new warehouse("KIE", (15), (-50), -1, 50, 50, 50)); + + this.Add_warehouse(new warehouse("TOR", (-15), (-50), -1, 50, 50, 50)); + this.Add_warehouse(new warehouse("ZIEL", (-15), (-65), 1, 50, 50, 50)); + + //wokó³ prawego + this.Add_warehouse(new warehouse("ZAK", (20), (-15), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("CZES", (35), (-15), -1, 50, 50, 50)); + this.Add_warehouse(new warehouse("PRZEM", (20), (15), -2, 50, 50, 50)); + this.Add_warehouse(new warehouse("KOSZ", (35), (15), 1, 50, 50, 50)); + this.Line_start_x = 0; + this.Line_start_y = 0; + this.spawn_delay = 3; + this.Objects_to_spawn = new List(); + this.last_pack_id = 0; + //Dodawanie Paczek: + + List sizes = new List { 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 }; + List Destinations = new List { "KRK", "RZE", "LUB", "BIAL", "GORZ", "BYD", "GDA", "OLSZ", "KAT", "OPO", "WRC", "SZCZ", "POZ", "LOD", "WAR", "KIE", "TOR", "ZIEL", "ZAK", "CZES", "PRZEM", "KOSZ" }; + //Add_package_instance(sizes, Destinations); + //List sizes = new List { 0 }; + //List Destinations = new List { "BYD" }; + Add_package_instance(sizes, Destinations); + + this.sort_method = "Destination"; + } + + void Update() + { + if (this.spawn_delay > 3) + { + if (this.Objects_to_spawn.Count > 0) + { + queue_struct First_in_queue = this.Objects_to_spawn[0]; + GameObject New_Package_mesh; + Package package; + switch (First_in_queue.size) + { + case 0: + New_Package_mesh = Instantiate(Small_Package_Mesh_object, + new Vector3(Line_start_x, 3.5f, Line_start_y), Quaternion.Euler(new Vector3(0, 0, 0))); + package = New_Package_mesh.GetComponent(); + package.Initialize(First_in_queue); + package.Add_Mesh_to_Package(New_Package_mesh); + this.Warehouses[package.warehouseID].New_package(package); + break; + case 1: + New_Package_mesh = Instantiate(Medium_Package_Mesh_object, + new Vector3(Line_start_x, 4f, Line_start_y), Quaternion.Euler(new Vector3(0, 0, 0))); + package = New_Package_mesh.GetComponent(); + package.Initialize(First_in_queue); + package.Add_Mesh_to_Package(New_Package_mesh); + this.Warehouses[package.warehouseID].New_package(package); + break; + case 2: + New_Package_mesh = Instantiate(Big_Package_Mesh_object, + new Vector3(Line_start_x, 4.5f, Line_start_y), Quaternion.Euler(new Vector3(0, 0, 0))); + package = New_Package_mesh.GetComponent(); + package.Initialize(First_in_queue); + package.Add_Mesh_to_Package(New_Package_mesh); + this.Warehouses[package.warehouseID].New_package(package); + break; + } + Objects_to_spawn.RemoveAt(0); + } + this.spawn_delay = 0; + } + this.spawn_delay += Time.deltaTime; + } + + + public Dictionary GetList() { return Warehouses; } + public void SetList(Dictionary data) { Warehouses = data; } + public void set_start(int x, int y) + { + this.Line_start_x = x; + this.Line_start_y = y; + } + public void set_method(string meth) + { + this.sort_method = meth; + } + public void Add_warehouse(warehouse New_Whouse) + { + int destroy = New_Whouse.Add_MeshObject(ML_Mesh, ML_W, ML_L, ML_H, last_id, warehouseFileds, robot_prefab); + if (destroy == 0) + { + this.Warehouses[last_id] = New_Whouse; + last_id++; + return; + } + //Debug.Log("Magazyn na magazynie lub Magazyn na Å“cie¿ce"); + } + public void Delete_Warehouse(int keyToRemove) + { + if (Warehouses.ContainsKey(keyToRemove)) + { + string objectNameToDelete = $"Warehouse{Warehouses[keyToRemove].Destination}{keyToRemove}"; + GameObject objectToDelete = GameObject.Find(objectNameToDelete); + if (objectToDelete != null) + { + Destroy(objectToDelete); + } + Warehouses.Remove(keyToRemove); + } + } + public string ToJson() + { + string sb = "{ \"Warehouses\": ["; + foreach (int key in Warehouses.Keys) + { + warehouse warehouse_ = Warehouses[key]; + + sb += $"{key}:"; + sb += "{"; + sb += $"\"Destination\": \"{warehouse_.Destination}\","; + sb += $"\"BigPackagesSlots\": {warehouse_.BigPackagesSlots},"; + sb += $"\"MediumPackagesSlots\": {warehouse_.MediumPackagesSlots},"; + sb += $"\"SmallPackagesSlots\": {warehouse_.SmallPackagesSlots},"; + sb += $"\"Grid_X\": {warehouse_.Grid_X},"; + sb += $"\"Grid_Y\": {warehouse_.Grid_Y},"; + sb += $"\"MaxX\": {warehouse_.maxX},"; + sb += $"\"MaxY\": {warehouse_.maxY},"; + sb += $"\"MinX\": {warehouse_.minX},"; + sb += $"\"MinY\": {warehouse_.minY},"; + sb += $"\"Grid_rotation\": {warehouse_.Grid_rotation}"; + sb += "},"; + } + + if (sb.EndsWith(",")) + { + sb = sb.Remove(sb.Length - 1); + } + + sb += "]}"; + + return sb; + } + public void Add_package_instance(List size_list, List destination_list) + { + int New_Packeges_Count = 0; + if (size_list.Count > destination_list.Count) { New_Packeges_Count = destination_list.Count; } + else { New_Packeges_Count = size_list.Count; } + for (int i = 0; i < New_Packeges_Count; i++) + { + { + int? Final_warehouse_id = null; + string Pack_id = ""; + foreach (int j in this.Warehouses.Keys) + { + if (Warehouses[j].Destination == destination_list[i] && !Warehouses[j].PackegesOverload[size_list[i]]) + { + Final_warehouse_id = j; + Pack_id += $"{destination_list[i]}_{last_pack_id}_{j}"; + last_pack_id++; + Debug.Log($"{Pack_id}"); + break; + } + } + if (Final_warehouse_id != null) + { + queue_struct New_Package; + switch (size_list[i]) + { + case 0: + New_Package = new queue_struct(size_list[i], Pack_id, (int)Final_warehouse_id, + this.Warehouses[(int)Final_warehouse_id].path); + Objects_to_spawn.Add(New_Package); + break; + case 1: + New_Package = new queue_struct(size_list[i], Pack_id, (int)Final_warehouse_id, + this.Warehouses[(int)Final_warehouse_id].path); + Objects_to_spawn.Add(New_Package); + break; + case 2: + New_Package = new queue_struct(size_list[i], Pack_id, (int)Final_warehouse_id, + this.Warehouses[(int)Final_warehouse_id].path); + Objects_to_spawn.Add(New_Package); + break; + } + } + } + } + Debug.Log($"{New_Packeges_Count}"); + } + + public void robot_instance () + { + + } +} \ No newline at end of file diff --git a/Assets/src/models/Simulation.cs.meta b/Assets/src/models/Simulation.cs.meta new file mode 100644 index 0000000..92e434e --- /dev/null +++ b/Assets/src/models/Simulation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a14c9323ce4a6d44687c98d745c532af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/SortLine.cs b/Assets/src/models/SortLine.cs new file mode 100644 index 0000000..ebb5d4c --- /dev/null +++ b/Assets/src/models/SortLine.cs @@ -0,0 +1,847 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Text; +using System; +using System.Reflection; +using UnityEditor.Experimental.GraphView; +using System.ComponentModel; +using TreeEditor; +using Unity.VisualScripting; + +[System.Serializable] +public struct Edge +{ + public int dir; + public int target; + + public Edge(int dir_, int val) + { + dir = dir_; + target = val; + } +} + +public struct Node +{ + public int x; + public int y; + public int Index; + public int Input_dir; + public bool final; + public int from_; + + // Konstruktor + public Node(int x_, int y_, int val) + { + x = x_; + y = y_; + Index = 1; + Input_dir = val; + final = false; + from_ = -1; + } +} + +public class SortLine : MonoBehaviour +{ + public List Node_vertices; + public Dictionary> Node_Connections; + public float normilize_field_size; + public GameObject Straight_Mesh; + public GameObject CrossRight_Mesh; + public GameObject CrossLeft_Mesh; + public GameObject T_Cross_Mesh; + public GameObject Cross_Mesh; + public GameObject Turn_Mesh; + + private GameObject SortLine_Mesh; + + public void Awake() + { + this.Node_vertices = new List(); + this.Node_Connections = new Dictionary>(); + Node ScanPoint = new Node(0, 0, 0); + ScanPoint.final = true; + Node StartNode = new Node(1, 0, 0); + StartNode.from_ = 1; + StartNode.Input_dir = 2; + this.SortLine_Mesh = new GameObject("Sort_Line"); + int ScP = Add_new_point(ScanPoint); + int StN = Add_new_point(StartNode); + Add_new_edge(ScP, StN); + + } + public void Start() + { + } + public void Update() + { + } + public int? IsNodeExist(Node CheckNode) + { + for(int i=0; i(); + //Debug.Log($"Punkt{this.Node_vertices.Count}"); + return this.Node_vertices.Count; + } + public void Add_new_edge(int StartIndex, int StopIndex) + { + int diff = 0; + float rotation = 0; + int dir = 0; + + Node StartNode = this.Node_vertices[StartIndex - 1]; + Node StopNode = this.Node_vertices[StopIndex - 1]; + + if (StartNode.x == StopNode.x) + { + diff = StopNode.y - StartNode.y; + dir = (diff > 0) ? 1 : -1; + rotation = 90f; + } + else if (StartNode.y == StopNode.y) + { + diff = StopNode.x - StartNode.x; + dir = (diff > 0) ? 2 : -2; + rotation = 0f; + } + Node_Connections[StartIndex].Add(new Edge(dir, StopIndex)); + StopNode.from_ = StartIndex; + StopNode.Input_dir = dir; + this.Node_vertices[StopIndex - 1] = StopNode; + + Vector3 Location = new Vector3(); + GameObject Egde_ = this.SortLine_Mesh; + GameObject LinePart = null; + for (int i = 0; i < Math.Abs(diff) + 1; i++) + { + int current_x = 0; + int current_y = 0; + switch (dir) + { + case 2: current_x = StartNode.x + i; current_y = StartNode.y; break; + case 1: current_x = StartNode.x; current_y = StartNode.y + i; break; + case -2: current_x = StartNode.x - i; current_y = StartNode.y; break; + case -1: current_x = StartNode.x; current_y = StartNode.y - i; break; + } + if (i != 0) + { + Location = new Vector3(current_x * normilize_field_size, 1, current_y * normilize_field_size); + LinePart = Instantiate(Straight_Mesh, Location, Quaternion.Euler(new Vector3(0, rotation, 90))); + LinePart.name = $"Segment{current_x}_{current_y}"; + LinePart.transform.SetParent(Egde_.transform); + } + } + Location = new Vector3(StartNode.x * normilize_field_size, 1, StartNode.y * normilize_field_size); + + + switch (Node_Connections[StartIndex].Count) + { + case 1://prosta lub zakrêt + int EdgeDir = Node_Connections[StartIndex][0].dir; + if (StartNode.Input_dir == EdgeDir || StartNode.Input_dir == 0) + { + rotation = (EdgeDir % 2 == 0) ? 0f : 90f; + Delete_old_segment($"Segment{StartNode.x}_{StartNode.y}"); + LinePart = Instantiate(Straight_Mesh, Location, Quaternion.Euler(new Vector3(0, rotation, 90))); + LinePart.name = $"Segment{StartNode.x}_{StartNode.y}"; + LinePart.transform.SetParent(Egde_.transform); + } + else + { + if ((EdgeDir == -2 && StartNode.Input_dir == 1) || (EdgeDir == -1 && StartNode.Input_dir == 2)) { rotation = 180f; } //przypadek 3 + if ((EdgeDir == -2 && StartNode.Input_dir == -1) || (EdgeDir == 1 && StartNode.Input_dir == 2)) { rotation = -90f; } + if ((EdgeDir == 2 && StartNode.Input_dir == -1) || (EdgeDir == 1 && StartNode.Input_dir == -2)) { rotation = 0f; } //przypadek 1 + if ((EdgeDir == 2 && StartNode.Input_dir == 1) || (EdgeDir == -1 && StartNode.Input_dir == -2)) { rotation = 90f; } + Delete_old_segment($"Segment{StartNode.x}_{StartNode.y}"); + LinePart = Instantiate(Turn_Mesh, Location, Quaternion.Euler(new Vector3(0, rotation, 90))); + LinePart.name = $"Segment{StartNode.x}_{StartNode.y}"; + LinePart.transform.SetParent(Egde_.transform); + } + + break; + case 2://zakrêt i prosta lub 2 zakrêty jednoczeœnie + + + int Edge1Dir = Node_Connections[StartIndex][0].dir; + int Edge2Dir = Node_Connections[StartIndex][1].dir; + int MainDir = 0; + int SecondDir = 0; + bool LeftSide = true; + float rotationX = 90f; + GameObject CorrectCross = null; + //Debug.Log($"Skrzy¿owanie Node1:{Edge1Dir}, Node2:{Edge2Dir}, InputDir:{StartNode.Input_dir} "); + + if (StartNode.Input_dir == Edge1Dir || StartNode.Input_dir == Edge2Dir) + { + if (StartNode.Input_dir == Edge1Dir) { MainDir = Edge1Dir; SecondDir = Edge2Dir; } else { MainDir = Edge2Dir; SecondDir = Edge1Dir; } + if ((MainDir == -2 && SecondDir == 1) || (MainDir == -1 && SecondDir == -2) || (MainDir == 1 && SecondDir == 2) || (MainDir == 2 && SecondDir == -1)) { LeftSide = false; } + if ((MainDir == -2 && SecondDir == -1) || (MainDir == -1 && SecondDir == 2) || (MainDir == 1 && SecondDir == -2) || (MainDir == 2 && SecondDir == 1)) { LeftSide = true; } + + CorrectCross = (LeftSide) ? CrossLeft_Mesh : CrossRight_Mesh; + rotationX = (LeftSide) ? -90f : 90; + } + if (Edge1Dir == -Edge2Dir) + { + CorrectCross = T_Cross_Mesh; + rotationX = -90f; + } + switch (StartNode.Input_dir) + { + case -1: rotation = -90f; break; + case -2: rotation = 0f; break; + case 1: rotation = 90f; break; + case 2: rotation = 180f; break; + } + + if (CorrectCross == null) + { + } + if (CorrectCross == T_Cross_Mesh) + { + Delete_old_segment($"Segment{StartNode.x}_{StartNode.y}"); + LinePart = Instantiate(CorrectCross, Location, Quaternion.Euler(new Vector3(rotationX, rotation+90, 0))); + LinePart.name = $"Segment{StartNode.x}_{StartNode.y}"; + LinePart.transform.SetParent(Egde_.transform); + } + if (CorrectCross == CrossLeft_Mesh || CorrectCross == CrossRight_Mesh) + { + Delete_old_segment($"Segment{StartNode.x}_{StartNode.y}"); + LinePart = Instantiate(CorrectCross, Location, Quaternion.Euler(new Vector3(0, rotation, rotationX))); + LinePart.name = $"Segment{StartNode.x}_{StartNode.y}"; + LinePart.transform.SetParent(Egde_.transform); + } + + break; + case 3://prosta i 2 zakrêty + + switch (StartNode.Input_dir) + { + case -1: rotation = 0f; break; + case -2: rotation = 90f; break; + case 1: rotation = 180f; break; + case 2: rotation = 270f; break; + } + Delete_old_segment($"Segment{StartNode.x}_{StartNode.y}"); + LinePart = Instantiate(Cross_Mesh, Location, Quaternion.Euler(new Vector3(0, rotation, -90))); + LinePart.name = $"Segment{StartNode.x}_{StartNode.y}"; + LinePart.transform.SetParent(Egde_.transform); + + break; + + } + } + public float Node_Distance(Node start, Node stop) + { + return (float)Math.Sqrt(Math.Pow((stop.x - start.x), 2) + Math.Pow((stop.y - start.y), 2)); + } + public int NearestVertexIndex(Node new_Vertex) + { + if (this.Node_vertices.Count == 1) { return 0;} + int index = 0; + float distance = float.MaxValue; + Node currently_closest_Node = this.Node_vertices[index]; + for (int i = 0; i < this.Node_vertices.Count; i++) + { + float new_distance = Node_Distance(new_Vertex, this.Node_vertices[i]); + if (new_distance < distance && !this.Node_vertices[i].final) + { + index = i; + distance = new_distance; + } + } + return index; + } + public void Delete_old_segment(string objectNameToDelete) + { + + GameObject ParentLine = GameObject.Find("Sort_Line"); + Transform childTransform = ParentLine.transform.Find(objectNameToDelete); + + if (childTransform != null) + { + GameObject childObject = childTransform.gameObject; + DestroyImmediate(childObject); + } + } + public List slidePointAlongEdge(Node pointPrev, Node pointNext, Node TargetNode, WarehouseFiled border) + { + List slided = new List(); + if (pointPrev.x > pointNext.x && pointPrev.y == pointNext.y) + { + //Debug.Log($"Slided_0"); + slided.Add(new Node(border.MinX - 1, pointPrev.y, 0)); + slided.Add(new Node(border.MinX - 1, TargetNode.y, 0)); + return slided; + } + if (pointPrev.x < pointNext.x && pointPrev.y == pointNext.y) + { + //Debug.Log($"Slided_1"); + slided.Add(new Node(border.MaxX + 1, pointPrev.y, 0)); + slided.Add(new Node(border.MaxX + 1, TargetNode.y, 0)); + return slided; + } + if (pointPrev.y > pointNext.y && pointPrev.x == pointNext.x) + { + //Debug.Log($"Slided_2"); + slided.Add(new Node(pointPrev.x, border.MaxY + 1, 0)); + slided.Add(new Node(TargetNode.x, border.MaxY + 1, 0)); + return slided; + } + if (pointPrev.y < pointNext.y && pointPrev.x == pointNext.x) + { + //Debug.Log($"Slided_3"); + slided.Add(new Node(pointPrev.x, border.MinY - 1, 0)); + slided.Add(new Node(TargetNode.x, border.MinY - 1, 0)); + return slided; + } + return slided; + } + public List SlideEgde(Node point1, Node point2,WarehouseFiled border) + { + List slided = new List(); + if (point1.y == point2.y) + { + if (Math.Abs(point1.y - border.MinY) < Math.Abs(point1.y - border.MaxY)) + { + //Debug.Log($"{point1.y} a nowa wartoœæ {border.MinY - 1}"); + slided.Add(new Node(point1.x, border.MinY - 1, 0)); + slided.Add(new Node(point2.x, border.MinY - 1, 0)); + return slided; + } + else + { + //Debug.Log($"{point1.y} a nowa wartoœæ {border.MaxY + 1}"); + slided.Add(new Node(point1.x, border.MaxY + 1, 0)); + slided.Add(new Node(point2.x, border.MaxY + 1, 0)); + return slided; + } + } + if (point1.x == point2.x) + { + if (Math.Abs(point1.x - border.MinX) < Math.Abs(point1.x - border.MaxX)) + { + //Debug.Log($"{point1.x} a nowa wartoœæ {border.MinX - 1}"); + slided.Add(new Node(border.MinX - 1, point1.y, 0)); + slided.Add(new Node(border.MinX - 1, point2.y, 0)); + return slided; + } + else + { + //Debug.Log($"{point1.x} a nowa wartoœæ {border.MaxX + 1}"); + slided.Add(new Node(border.MaxX + 1, point1.y, 0)); + slided.Add(new Node(border.MaxX + 1, point2.y, 0)); + return slided; + } + } + return slided; + } + public List Modify_temp_line(List temp_nodes, List borders) + { + int Len = temp_nodes.Count; + + + Node Closet_Node = temp_nodes[Len - 1]; + Node Node_to_check = temp_nodes[Len - 2]; + int dir = 0; + if (Closet_Node.x > Node_to_check.x) { dir = -2; } + if (Closet_Node.x < Node_to_check.x) { dir = 2; } + if (Closet_Node.y < Node_to_check.y) { dir = 1; } + if (Closet_Node.y > Node_to_check.y) { dir = -1; } + //Debug.Log($"Indeks najbli¿szego Noda {Closet_Node.Index}, {Closet_Node.x}, {Closet_Node.y} ,"); + + List Edges = Node_Connections[Closet_Node.Index]; + Edge? Old_Connections = null; + int? Old_Target = null; + int? Old_Edge_index = null; + for (int i = 0; i < Edges.Count; i++) + { + if (Edges[i].dir == dir) + { + Old_Connections = Edges[i]; + Old_Target = Edges[i].target; + Old_Edge_index = i; + + break; + } + } + string str = ""; + + if (Old_Edge_index != null) + { + Node New_Closet = ReplaceEgde((Edge)Old_Connections, Closet_Node.Index, (int)Old_Target, Node_to_check); + //Debug.Log($"Indeks najbli¿szego nowego Noda {New_Closet.Index}, {New_Closet.x}, {New_Closet.y} ,"); + + //temp_nodes[Len - 1] = New_Closet; + } + + + + List Corrected_line = new List(); + Corrected_line.Add(temp_nodes[0]); + + if (temp_nodes.Count != 2) + { + for (int i = 1; i < Len - 1; i++) + { + bool inside = false; + for (int j = 0; j < borders.Count; j++) + { + if (borders[j].Check_point(temp_nodes[i])) + { + List SlidePoint = slidePointAlongEdge(temp_nodes[i - 1], temp_nodes[i], temp_nodes[i + 1], borders[j]); + Corrected_line.Add(SlidePoint[0]); + Corrected_line.Add(SlidePoint[1]); + inside = true; + } + if (borders[j].Check_edge(temp_nodes[i - 1], temp_nodes[i])) + { + List SlidePoint = SlideEgde(temp_nodes[i - 1], temp_nodes[i], borders[j]); + if (temp_nodes.Count == 2) + { + Corrected_line.Add(SlidePoint[0]); + Corrected_line.Add(SlidePoint[1]); + } + Corrected_line[Corrected_line.Count - 1] = SlidePoint[0]; + Corrected_line.Add(SlidePoint[1]); + inside = true; + } + } + if (!inside) { Corrected_line.Add(temp_nodes[i]); } + } + + Corrected_line.Add(temp_nodes[temp_nodes.Count - 1]); + + } + else + { + for (int j = 0; j < borders.Count; j++) + { + if (borders[j].Check_edge(temp_nodes[0], temp_nodes[1])) + { + Node Slided_out = new Node(0,0,0); + if (temp_nodes[0].x < temp_nodes[1].x) {Corrected_line.Add(Slided_out = new Node(temp_nodes[0].x+1, temp_nodes[0].y, 0));} + if (temp_nodes[0].x > temp_nodes[1].x) {Corrected_line.Add(Slided_out = new Node(temp_nodes[0].x - 1, temp_nodes[0].y, 0)); } + if (temp_nodes[0].y < temp_nodes[1].y) { Corrected_line.Add(Slided_out = new Node(temp_nodes[0].x, temp_nodes[0].y + 1, 0)); } + if (temp_nodes[0].y > temp_nodes[1].y) { Corrected_line.Add(Slided_out = new Node(temp_nodes[0].x, temp_nodes[0].y - 1, 0)); } + List SlidePoint = SlideEgde(Slided_out, temp_nodes[1], borders[j]); + Corrected_line.Add(SlidePoint[0]); + Corrected_line.Add(SlidePoint[1]); + } + } + Corrected_line.Add(temp_nodes[temp_nodes.Count - 1]); + + } + + + str = "Wstêpna lista: "; + for (int i = 0; i < temp_nodes.Count; i++) { str += $"[{temp_nodes[i].x}, {temp_nodes[i].y}] ,"; } + str += "]\n"; + //Debug.Log(str); + str = "Poprawiona Lista: "; + for (int i = 0; i < Corrected_line.Count; i++) { str += $"[{Corrected_line[i].x} , {Corrected_line[i].y}] ,"; } + str += "]\n"; + //Debug.Log(str); + return Corrected_line; + + return temp_nodes; + } + public void NewVertex(int Warehouse_x, int Warehouse_y, int rotation,int Max_Warehouse_x, int Min_Warehouse_x, int Max_Warehouse_y, int Min_Warehouse_y, List borders) + { + int new_nodes_number = 0; + int x_1 = 0, y_1 = 0, x_2 = 0, y_2 = 0, x_3 = 0, y_3 = 0, newNode_index = 1, Previous_index = 1; + + Node new_Node = new Node(Warehouse_x, Warehouse_y, 0); + new_Node.final = true; + Previous_index = NearestVertexIndex(new_Node); + Node Closest_node = this.Node_vertices[Previous_index]; + List new_nodes = new List(); + switch (rotation) + { + case 2: + + if (Closest_node.x < Min_Warehouse_x && + Closest_node.y >= Min_Warehouse_y && Closest_node.y <= Max_Warehouse_y) + { + new_nodes_number = 3; + x_1 = Warehouse_x + 1; + y_1 = Warehouse_y; + x_2 = x_1; + if (Math.Abs(Max_Warehouse_y) < Math.Abs(Min_Warehouse_y)) + { + y_2 = Min_Warehouse_y - 1; + } + else + { + y_2 = Max_Warehouse_y + 1; + } + x_3 = Closest_node.x; + y_3 = y_2; + } + if ((Closest_node.y < Min_Warehouse_y || Closest_node.y > Max_Warehouse_y) && Closest_node.x <= Warehouse_x) + { + new_nodes_number = 2; + x_1 = Warehouse_x + 1; + y_1 = Warehouse_y; + x_2 = x_1; + y_2 = Closest_node.y; + } + if (Closest_node.x > Warehouse_x) + { + new_nodes_number = 1; + x_1 = Closest_node.x; + y_1 = Warehouse_y; + } + if(Closest_node.y == Warehouse_y && Warehouse_x < Closest_node.x) + { + new_nodes_number = 0; + } + + break; + case -2: + if (Closest_node.x > Max_Warehouse_x && + Closest_node.y >= Min_Warehouse_y && Closest_node.y <= Max_Warehouse_y) + { + new_nodes_number = 3; + x_1 = Warehouse_x - 1; + y_1 = Warehouse_y; + x_2 = x_1; + if (Math.Abs(Max_Warehouse_y) < Math.Abs(Min_Warehouse_y)) + { + y_2 = Min_Warehouse_y - 1; + } + else + { + y_2 = Max_Warehouse_y + 1; + } + x_3 = Closest_node.x; + y_3 = y_2; + + } + if ((Closest_node.y < Min_Warehouse_y || Closest_node.y > Max_Warehouse_y) && Closest_node.x >= Warehouse_x) + { + new_nodes_number = 2; + x_1 = Warehouse_x - 1; + y_1 = Warehouse_y; + x_2 = x_1; + y_2 = Closest_node.y; + + + } + if (Closest_node.x < Warehouse_x) + { + new_nodes_number = 1; + x_1 = Closest_node.x; + y_1 = Warehouse_y; + + } + if (Closest_node.y == Warehouse_y && Warehouse_x > Closest_node.x) + { + new_nodes_number = 0; + } + break; + case -1: + if (Closest_node.y > Max_Warehouse_y && + Closest_node.x >= Min_Warehouse_x && Closest_node.x <= Max_Warehouse_x) + { + new_nodes_number = 3; + + x_1 = Warehouse_x; + y_1 = Warehouse_y - 1; + y_2 = y_1; + if (Math.Abs(Max_Warehouse_x) < Math.Abs(Min_Warehouse_x)) + { + x_2 = Max_Warehouse_x + 1; + } + else + { + x_2 = Min_Warehouse_x - 1; + } + y_3 = Closest_node.y; + x_3 = x_2; + + } + if ((Closest_node.x < Min_Warehouse_x || Closest_node.x > Max_Warehouse_x) && Closest_node.y >= Warehouse_y) + { + new_nodes_number = 2; + y_1 = Warehouse_y - 1; + x_1 = Warehouse_x; + y_2 = y_1; + x_2 = Closest_node.x; + + } + if (Closest_node.y < Warehouse_y) + { + new_nodes_number = 1; + y_1 = Closest_node.y; + x_1 = Warehouse_x; + } + if (Closest_node.x == Warehouse_x && Warehouse_y > Closest_node.y) + { + new_nodes_number = 0; + } + break; + case 1: + if (Closest_node.y < Min_Warehouse_y && + Closest_node.x >= Min_Warehouse_x && Closest_node.x <= Max_Warehouse_x) + { + new_nodes_number = 3; + + x_1 = Warehouse_x; + y_1 = Warehouse_y + 1; + if (Math.Abs(Max_Warehouse_x) < Math.Abs(Min_Warehouse_x)) + { + x_2 = Max_Warehouse_x + 1; + } + else + { + x_2 = Min_Warehouse_x - 1; + } + y_2 = y_1; + y_3 = Closest_node.y; + x_3 = x_2; + } + if ((Closest_node.x < Min_Warehouse_x || Closest_node.x > Max_Warehouse_x) && Closest_node.y <= Warehouse_y) + { + new_nodes_number = 2; + y_1 = Warehouse_y + 1; + x_1 = Warehouse_x; + y_2 = y_1; + x_2 = Closest_node.x; + + } + if (Closest_node.y > Warehouse_y) + { + new_nodes_number = 1; + y_1 = Closest_node.y; + x_1 = Warehouse_x; + } + if (Closest_node.x == Warehouse_x && Warehouse_y < Closest_node.y) + { + new_nodes_number = 0; + } + break; + } + switch (new_nodes_number) + { + case 3: + new_nodes.Add(new_Node); + new_nodes.Add(new Node(x_1, y_1, 0)); + new_nodes.Add(new Node(x_2, y_2, 0)); + new_nodes.Add(new Node(x_3, y_3, 0)); + new_nodes.Add(Closest_node); + new_nodes = Modify_temp_line(new_nodes, borders); + + + break; + case 2: + new_nodes.Add(new_Node); + new_nodes.Add(new Node(x_1, y_1, 0)); + new_nodes.Add(new Node(x_2, y_2, 0)); + new_nodes.Add(Closest_node); + new_nodes = Modify_temp_line(new_nodes, borders); + + break; + case 1: + new_nodes.Add(new_Node); + new_nodes.Add(new Node(x_1, y_1, 0)); + new_nodes.Add(Closest_node); + new_nodes = Modify_temp_line(new_nodes, borders); + + break; + case 0: + new_nodes.Add(new_Node); + new_nodes.Add(Closest_node); + new_nodes = Modify_temp_line(new_nodes, borders); + break; + } + Previous_index += 1; + int? index_ = null; + new_nodes = Split_to_long_edges(new_nodes); + for (int i = 1; i < new_nodes.Count; i++) + { + index_ = IsNodeExist(new_nodes[new_nodes.Count - i - 1]); + if (index_ == null) + { + newNode_index = Add_new_point(new_nodes[new_nodes.Count - i - 1]); + } + else { newNode_index = (int)index_; } + if (index_ != newNode_index) + { + Add_new_edge(Previous_index, newNode_index); + } + Previous_index = newNode_index; + } + + string json = ""; + json += "\"Node_Connections\":{"; + int index = 0; + foreach (var kvp in Node_Connections) + { + json += "\"" + (kvp.Key).ToString() + "\":["; + for (int i = 0; i < kvp.Value.Count; i++) + { + json += $"{kvp.Value[i].target}"; + if (i < kvp.Value.Count - 1) + json += ","; + } + json += "]"; + if (index < Node_Connections.Count - 1) + json += ","; + index++; + } + json += "}}\n\n"; + + for (int i = 0; i < this.Node_vertices.Count; i++) + { + json += $"{Node_vertices[i].Index}: x: {Node_vertices[i].x}, y: {Node_vertices[i].y},Input_dir: {Node_vertices[i].Input_dir},from_: {Node_vertices[i].from_}\n"; + } + //Debug.Log($"{json}"); + } + public Node ReplaceEgde(Edge Old_connection, int StartNodeIndex, int StopNodeIndex, Node NewMidPoint) + { + NewMidPoint.from_ = StartNodeIndex; + Node StopNode = this.Node_vertices[StopNodeIndex - 1]; + Node StartNode = this.Node_vertices[StartNodeIndex - 1]; + + if ( + ((StartNode.x == StopNode.x) && ((StartNode.y > NewMidPoint.y && StopNode.y < NewMidPoint.y) || (StartNode.y < NewMidPoint.y && StopNode.y > NewMidPoint.y)))|| + ((StartNode.y == StopNode.y) && ((StartNode.x > NewMidPoint.x && StopNode.x < NewMidPoint.x) || (StartNode.x < NewMidPoint.x && StopNode.x > NewMidPoint.x))) + ) + { + NewMidPoint.Input_dir = StopNode.Input_dir; + int NewMidPoint_Index = Add_new_point(NewMidPoint); + Old_connection.target = NewMidPoint_Index; + StopNode.from_ = NewMidPoint_Index; + this.Node_vertices[StopNodeIndex - 1] = StopNode; + Add_edge_without_mesh(NewMidPoint_Index, StopNodeIndex); + Add_edge_without_mesh(StartNodeIndex,NewMidPoint_Index); + + } + return NewMidPoint; + + + } + public List Split_to_long_edges(List Not_Splited) + { + bool all_lenght_correct = false; + while (!all_lenght_correct) + { + List Splited = new List(); + all_lenght_correct = true; + for (int i = 1; i < Not_Splited.Count; i++) + { + float distance = Node_Distance(Not_Splited[i - 1], Not_Splited[i]); + int distance_ = (int)distance; + if (distance_ > 10) + { + if (Not_Splited[i - 1].x == Not_Splited[i].x) + { + Splited.Add(Not_Splited[i - 1]); + Splited.Add(new Node(Not_Splited[i - 1].x, (int)(Not_Splited[i - 1].y + Not_Splited[i].y) /2 , 0)); + all_lenght_correct = false; + } + if (Not_Splited[i - 1].y == Not_Splited[i].y) + { + Splited.Add(Not_Splited[i - 1]); + Splited.Add(new Node((int)(Not_Splited[i - 1].x + Not_Splited[i].x) / 2, Not_Splited[i - 1].y, 0)); + all_lenght_correct = false; + } + } + else + { + Splited.Add(Not_Splited[i - 1]); + } + } + Splited.Add(Not_Splited[Not_Splited.Count - 1]); + Not_Splited = Splited; + } + return Not_Splited; + } + public string Serialize() + { + string json =""; + json += "\"Node_Connections\":{"; + int index = 0; + foreach (var kvp in Node_Connections) + { + json += "\"" + kvp.Key.ToString() + "\":["; + for (int i = 0; i < kvp.Value.Count; i++) + { + json += $"{kvp.Value[i].target}"; + if (i < kvp.Value.Count - 1) + json += ","; + } + json += "]"; + if (index < Node_Connections.Count - 1) + json += ","; + index++; + } + json += "}}"; + + return json; + } + public void Add_edge_without_mesh(int StartIndex, int StopIndex) + { + int diff = 0; + float rotation = 0; + int dir = 0; + + Node StartNode = this.Node_vertices[StartIndex - 1]; + Node StopNode = this.Node_vertices[StopIndex - 1]; + + + if (StartNode.x == StopNode.x) + { + diff = StopNode.y - StartNode.y; + dir = (diff > 0) ? 1 : -1; + rotation = 90f; + } + else if (StartNode.y == StopNode.y) + { + diff = StopNode.x - StartNode.x; + dir = (diff > 0) ? 2 : -2; + rotation = 0f; + } + Node_Connections[StartIndex].Add(new Edge(dir, StopIndex)); + } + public bool DFS(int start_index, int endIndex, List path) + { + path.Add(this.Node_vertices[start_index]); + if (start_index == endIndex) + return true; + foreach (Edge child in Node_Connections[start_index+1]) + { + int childIndex = child.target - 1; + if (DFS(childIndex, endIndex, path)) + return true; + } + path.RemoveAt(path.Count - 1); + return false; + } + public List FindPath(int startValue, int Node_x, int Node_y) + { + int endValue = (int)(IsNodeExist(new Node(Node_x, Node_y, 0))-1); + List path = new List(); + if (DFS(startValue, endValue, path)) + return path; + return new List(); + } +} + + + + + + + diff --git a/Assets/src/models/SortLine.cs.meta b/Assets/src/models/SortLine.cs.meta new file mode 100644 index 0000000..2776c66 --- /dev/null +++ b/Assets/src/models/SortLine.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5f8761feb2222a4e8d5b7c876d616d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/Sort_Line_Collider.cs b/Assets/src/models/Sort_Line_Collider.cs new file mode 100644 index 0000000..6375886 --- /dev/null +++ b/Assets/src/models/Sort_Line_Collider.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Sort_Line_Collider : MonoBehaviour +{ + private void OnTriggerEnter(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Enter"); + } + } + + private void OnTriggerStay(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Stay"); + } + } + + private void OnTriggerExit(Collider other) + { + if (other.gameObject.tag == "Sort_Line") + { + Debug.Log("Exit"); + } + } +} diff --git a/Assets/src/models/Sort_Line_Collider.cs.meta b/Assets/src/models/Sort_Line_Collider.cs.meta new file mode 100644 index 0000000..94c8db5 --- /dev/null +++ b/Assets/src/models/Sort_Line_Collider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed0ff8a91c8e93743bd01f747f148be2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/VHSMaterial.cs.meta b/Assets/src/models/VHSMaterial.cs.meta new file mode 100644 index 0000000..c23fddb --- /dev/null +++ b/Assets/src/models/VHSMaterial.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5a3e8966a6eaeb459b6954649fa7eb0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/VSHLight.cs.meta b/Assets/src/models/VSHLight.cs.meta new file mode 100644 index 0000000..96bc684 --- /dev/null +++ b/Assets/src/models/VSHLight.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 06dbc651f152e2f4bb1e360042c43699 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/add_package.cs b/Assets/src/models/add_package.cs new file mode 100644 index 0000000..f840c52 --- /dev/null +++ b/Assets/src/models/add_package.cs @@ -0,0 +1,167 @@ +//------------------------------------------------------------------------------ +// +// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator +// version 1.7.0 +// from Assets/src/models/add_package.inputactions +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine.InputSystem; +using UnityEngine.InputSystem.Utilities; + +public partial class @Add_package: IInputActionCollection2, IDisposable +{ + public InputActionAsset asset { get; } + public @Add_package() + { + asset = InputActionAsset.FromJson(@"{ + ""name"": ""add_package"", + ""maps"": [ + { + ""name"": ""package"", + ""id"": ""432aa7eb-49f2-4189-b98b-398521f8f0e1"", + ""actions"": [ + { + ""name"": ""add"", + ""type"": ""Button"", + ""id"": ""fc9c9b9d-b994-47ff-82a7-4c7927201bd9"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false + } + ], + ""bindings"": [ + { + ""name"": """", + ""id"": ""0e8b47f3-f9db-4821-8974-dec54e988fee"", + ""path"": ""/anyKey"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""add"", + ""isComposite"": false, + ""isPartOfComposite"": false + } + ] + } + ], + ""controlSchemes"": [] +}"); + // package + m_package = asset.FindActionMap("package", throwIfNotFound: true); + m_package_add = m_package.FindAction("add", throwIfNotFound: true); + } + + public void Dispose() + { + UnityEngine.Object.Destroy(asset); + } + + public InputBinding? bindingMask + { + get => asset.bindingMask; + set => asset.bindingMask = value; + } + + public ReadOnlyArray? devices + { + get => asset.devices; + set => asset.devices = value; + } + + public ReadOnlyArray controlSchemes => asset.controlSchemes; + + public bool Contains(InputAction action) + { + return asset.Contains(action); + } + + public IEnumerator GetEnumerator() + { + return asset.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public void Enable() + { + asset.Enable(); + } + + public void Disable() + { + asset.Disable(); + } + + public IEnumerable bindings => asset.bindings; + + public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false) + { + return asset.FindAction(actionNameOrId, throwIfNotFound); + } + + public int FindBinding(InputBinding bindingMask, out InputAction action) + { + return asset.FindBinding(bindingMask, out action); + } + + // package + private readonly InputActionMap m_package; + private List m_PackageActionsCallbackInterfaces = new List(); + private readonly InputAction m_package_add; + public struct PackageActions + { + private @Add_package m_Wrapper; + public PackageActions(@Add_package wrapper) { m_Wrapper = wrapper; } + public InputAction @add => m_Wrapper.m_package_add; + public InputActionMap Get() { return m_Wrapper.m_package; } + public void Enable() { Get().Enable(); } + public void Disable() { Get().Disable(); } + public bool enabled => Get().enabled; + public static implicit operator InputActionMap(PackageActions set) { return set.Get(); } + public void AddCallbacks(IPackageActions instance) + { + if (instance == null || m_Wrapper.m_PackageActionsCallbackInterfaces.Contains(instance)) return; + m_Wrapper.m_PackageActionsCallbackInterfaces.Add(instance); + @add.started += instance.OnAdd; + @add.performed += instance.OnAdd; + @add.canceled += instance.OnAdd; + } + + private void UnregisterCallbacks(IPackageActions instance) + { + @add.started -= instance.OnAdd; + @add.performed -= instance.OnAdd; + @add.canceled -= instance.OnAdd; + } + + public void RemoveCallbacks(IPackageActions instance) + { + if (m_Wrapper.m_PackageActionsCallbackInterfaces.Remove(instance)) + UnregisterCallbacks(instance); + } + + public void SetCallbacks(IPackageActions instance) + { + foreach (var item in m_Wrapper.m_PackageActionsCallbackInterfaces) + UnregisterCallbacks(item); + m_Wrapper.m_PackageActionsCallbackInterfaces.Clear(); + AddCallbacks(instance); + } + } + public PackageActions @package => new PackageActions(this); + public interface IPackageActions + { + void OnAdd(InputAction.CallbackContext context); + } +} diff --git a/Assets/src/models/add_package.cs.meta b/Assets/src/models/add_package.cs.meta new file mode 100644 index 0000000..8408878 --- /dev/null +++ b/Assets/src/models/add_package.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee20a789bd0fca345b8778392227353f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/src/models/add_package.inputactions b/Assets/src/models/add_package.inputactions new file mode 100644 index 0000000..2ffa620 --- /dev/null +++ b/Assets/src/models/add_package.inputactions @@ -0,0 +1,34 @@ +{ + "name": "add_package", + "maps": [ + { + "name": "package", + "id": "432aa7eb-49f2-4189-b98b-398521f8f0e1", + "actions": [ + { + "name": "add", + "type": "Button", + "id": "fc9c9b9d-b994-47ff-82a7-4c7927201bd9", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "", + "id": "0e8b47f3-f9db-4821-8974-dec54e988fee", + "path": "/anyKey", + "interactions": "", + "processors": "", + "groups": "", + "action": "add", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [] +} \ No newline at end of file diff --git a/Assets/src/models/add_package.inputactions.meta b/Assets/src/models/add_package.inputactions.meta new file mode 100644 index 0000000..4c2dce9 --- /dev/null +++ b/Assets/src/models/add_package.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a9c06c81837aee2479b61dcf3e6fb390 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 1 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/src/models/warehouse.cs b/Assets/src/models/warehouse.cs new file mode 100644 index 0000000..ba9d0e4 --- /dev/null +++ b/Assets/src/models/warehouse.cs @@ -0,0 +1,426 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Newtonsoft.Json; +using System; +using UnityEditor.Experimental.GraphView; +using UnityEngine.InputSystem; + +[System.Serializable] + +public class warehouse : MonoBehaviour +{ + //dane do inicjalizacji + public string Destination; + public int BigPackagesSlots; + public int MediumPackagesSlots; + public int SmallPackagesSlots; + public Dictionary Shelf_List; + + //dane operacyjne + public List Empty_slots; + public List PackegesOverload; + private Dictionary storageList; + [JsonIgnore] + public GameObject instantiatedObject; + + //dane z linii produkcyjnej + public int Grid_X; + public int Grid_Y; + public int Grid_rotation; + + public float LocationX; + public float LocationY; + private float rotation; + + public List path; + + public int maxX; + public int maxY; + public int minX; + public int minY; + + public int shelves_number; + + public Robot robot; + private int warehouse_id; + + + public warehouse(string Destination, int X, int Y, int rotation, int BigPackagesSlots, int MediumPackagesSlots, int SmallPachagesSlots) + { + this.Destination = Destination; + this.BigPackagesSlots = BigPackagesSlots; + this.MediumPackagesSlots = MediumPackagesSlots; + this.SmallPackagesSlots = SmallPachagesSlots; + this.Empty_slots = new List { BigPackagesSlots, MediumPackagesSlots, SmallPachagesSlots }; + this.PackegesOverload = new List { false, false, false }; + this.storageList = new Dictionary(); + this.Grid_X = X; + this.Grid_Y = Y; + this.Grid_rotation = rotation; + this.Shelf_List = new Dictionary(); + + this.LocationX = (float)(X * 13.05); + this.LocationY = (float)(Y * 13.05); + switch (rotation) + { + case -1: this.rotation = 0f; break; + case -2: this.rotation = 90f; break; + case 1: this.rotation = 180f; break; + case 2: this.rotation = -90; break; + } + this.shelves_number = (int)Math.Ceiling((BigPackagesSlots * 3 + Math.Ceiling(MediumPackagesSlots * 1.5) + SmallPachagesSlots) / 45); + + } + + + //odbiór paczek z pomieszczenia + //private void Shipping(List shippingList) + //{ + // foreach (string packageID in shippingList) + // { + // int size = storageList[packageID]; + // this.Empty_slots[size]++; + // if (PackegesOverload[size]) { PackegesOverload[size] = false; } + // storageList.Remove(packageID); + // } + //} + + //dodaj paczkê nadaj ID + public void New_package(Package new_package) + { + if (!PackegesOverload[new_package.size]) + { + Empty_slots[new_package.size]--; + if (Empty_slots[new_package.size] == 0) { PackegesOverload[new_package.size] = true; } + } + + foreach (var shelfEntry in this.Shelf_List) + { + Shelf shelfValue = shelfEntry.Value; + + float emptySlots = shelfValue.GetEmptySlots(); + if (emptySlots > 0.0f) + { + Vector3 shelfPosition = shelfValue.GetPosition(); + //Package newPackage = new Package; //?? + + //shelfValue.AddPackage(newPackage); + //Debug.Log($"Package added to shelf: {shelfKey}"); + + //int bigPackagesCount = shelfValue.GetPackageCount(0); + //int mediumPackagesCount = shelfValue.GetPackageCount(1); + //int smallPackagesCount = shelfValue.GetPackageCount(2); + + //Debug.Log($"Shelf Key: {shelfKey}, Big Packages: {bigPackagesCount}, Medium Packages: {mediumPackagesCount}, Small Packages: {smallPackagesCount}"); + //break; + } + if (!this.storageList.ContainsKey(new_package.ID)) + { + this.storageList.Add(new_package.ID, 1); + foreach (var key in this.storageList.Keys) + { + Debug.Log($"ID in storageList: {key}"); + } + + } + } + } + + public warehouse get() + { + return this; + } + + public (int length_, int width_) optimizerectangle() + { + int squareroot = (int)Math.Sqrt(this.shelves_number); + int length_ = squareroot; + int width_ = squareroot; + + while (length_ * width_ != this.shelves_number) + { + if (length_ * width_ < this.shelves_number) + { + width_++; + } + else + { + break; + } + } + + return (length_, width_); + } + + public int Add_MeshObject(GameObject InstanceML, float MLwidth, float MLlength, float MLheigth, int ID, List borders, GameObject robot_prefab) + { + this.shelves_number = (int)Math.Ceiling((this.BigPackagesSlots * 3 + Math.Ceiling(this.MediumPackagesSlots * 1.5) + this.SmallPackagesSlots) / 45); + float start_x = this.LocationX - 2.5f * MLlength - 1.5f * MLheigth; + float incrementation; + float new_rotation = 0f; + float new_y; + float max_offset_w = 0f; + (int length_, int width_) = optimizerectangle(); + //Debug.Log($"{length_}, {width_}"); + + float offset_w = 16f; + + for (int w_index = 0; w_index < width_; w_index++) + { + if (w_index % 2 == 0) + { + offset_w += 20f; + } + else + { + offset_w += MLwidth; + } + } + int wall_length = (int)(Mathf.RoundToInt((float)(length_ * MLlength + MLlength + 16f + 2 * 1) / 13.05f) + 1); + int wall_width = (int)(Mathf.RoundToInt(offset_w / 13.05f) + 1); + offset_w = 0f; + + switch (this.Grid_rotation) + { + case -1: + + this.maxY = this.Grid_Y + wall_width; + this.maxX = this.Grid_X + (wall_length - 1) / 2; + this.minY = this.Grid_Y; + this.minX = this.Grid_X - (wall_length - 1) / 2; + + break; + case 1: + this.maxY = this.Grid_Y; + this.maxX = this.Grid_X + (wall_length) / 2; + this.minY = this.Grid_Y - wall_width; + this.minX = this.Grid_X - (wall_length) / 2; + + break; + case -2: + + this.maxX = this.Grid_X + wall_width; + this.maxY = this.Grid_Y + (wall_length) / 2; + this.minX = this.Grid_X; + this.minY = this.Grid_Y - (wall_length) / 2; + + break; + case 2: + this.maxX = this.Grid_X; + this.maxY = this.Grid_Y + (wall_length) / 2; + this.minX = this.Grid_X - wall_width; + this.minY = this.Grid_Y - (wall_length) / 2; + break; + + } + + for (int i = 0; i < borders.Count; i++) + { + if (borders[i].Check_point(this.maxX, this.maxY) || borders[i].Check_point(this.minX, this.maxY) + || borders[i].Check_point(this.maxX, this.minY) || borders[i].Check_point(this.minX, this.minY)) + { + return 1; + } + } + + for (int x_ = this.minX; x_ < this.maxX + 1; x_++) + { + for (int y_ = this.minY; y_ < this.maxY + 1; y_++) + { + GameObject ParentLine = GameObject.Find("Sort_Line"); + Transform childTransform = ParentLine.transform.Find($"Segment{x_}_{y_}"); + if (childTransform != null) + { + return 1; + } + } + } + + GameObject instantiatedObject = new GameObject($"Warehouse{this.Destination}{ID}"); + instantiatedObject.transform.position = new Vector3(this.LocationX, 0, this.LocationY); + int shelf_counter = 0; + int counter_offset_l = 0; + + offset_w = 0f; + float offset_l = 0f; + + if (length_ % 2 == 0) + { + offset_l = -((length_ * MLlength + (MLlength + 16f)) / 2); + //-(length_ * MLlength + (MLlength + 16f) / 2); + } + else + { + offset_l = -((length_ * MLlength + (MLlength + 16f) / 2 + MLlength) / 2); + } + int path_l = length_ / 2; + for (int l_index = 0; l_index < length_; l_index++) + { + if (l_index == path_l) + { + // do ewentualnej zmiany + offset_l += MLlength + 16f; + counter_offset_l++; + } + else + { + offset_l += MLlength; + } + + offset_w = 16f; //(width_ * MLwidth + ((width_ / 2) * MLwidth)); //16f + for (int w_index = 0; w_index < width_; w_index++) + { + if (w_index % 2 == 0) + { + new_rotation = 180f; + // do ewentualnej zmiany + offset_w += 20f; + + + } + else + { + new_rotation = 0f; + offset_w += MLwidth; + + } + + for (int hight_number = 0; hight_number < 5; hight_number++) + { + int shelf_index = (l_index * width_ * 5) + (w_index * 5) + hight_number; + + GameObject InstanceShelf = Instantiate(InstanceML, new Vector3(this.LocationX + offset_l, 1f + hight_number * MLheigth, this.LocationY + offset_w), Quaternion.Euler(new Vector3(-90f, new_rotation, 0))); + InstanceShelf.name = $"Shelf{shelf_index}"; + InstanceShelf.transform.SetParent(instantiatedObject.transform); + Shelf Shelf_component = InstanceShelf.GetComponent(); + Debug.Log($" {this.Grid_rotation}"); + + if (new_rotation == 0f) + { + Shelf_component.Initialize(InstanceShelf, $"Shelf{shelf_index}", this.Grid_rotation); + } + else + { + Shelf_component.Initialize(InstanceShelf, $"Shelf{shelf_index}", -this.Grid_rotation); + } + this.Shelf_List.Add($"Shelf{shelf_index}",Shelf_component); + + if (offset_w > max_offset_w) { max_offset_w = offset_w; } + + } + shelf_counter++; + if (shelf_counter >= shelves_number) + { + break; + } + } + + } + + borders.Add(new WarehouseFiled(this.minX, this.minY, this.maxX, this.maxY)); + //Debug.Log($"{this.Destination}{ID}: Minima: X {this.minX}, Y {this.minY}, Maxima: X {this.maxX}, Y {this.maxY}, Rotation: {this.Grid_rotation}"); + + float holeWidth = 6.8f; + float holeHeight = 5.0f; + + //dluzsze sciany + GameObject front_wall1 = GameObject.CreatePrimitive(PrimitiveType.Cube); + // x, y, z, gdzie y to wysokosc + front_wall1.transform.position = new Vector3(this.LocationX + 18.0f, 8f, this.LocationY + 6.75f); + front_wall1.transform.localScale = new Vector3((wall_length * 13.05f) / 2 - holeWidth / 2, 15f, 1f); + front_wall1.transform.SetParent(instantiatedObject.transform); + + GameObject front_wall2 = GameObject.CreatePrimitive(PrimitiveType.Cube); + + front_wall2.transform.position = new Vector3(this.LocationX - 18.0f, 8f, this.LocationY + 6.75f); + front_wall2.transform.localScale = new Vector3((wall_length * 13.05f) / 2 - holeWidth / 2, 15f, 1f); + front_wall2.transform.SetParent(instantiatedObject.transform); + + GameObject hole = GameObject.CreatePrimitive(PrimitiveType.Cube); + hole.transform.position = new Vector3(this.LocationX, 13f, this.LocationY + 6.75f); + hole.transform.localScale = new Vector3(holeWidth, holeHeight, 1f); + hole.transform.SetParent(instantiatedObject.transform); + + + GameObject back_wall = GameObject.CreatePrimitive(PrimitiveType.Cube); + back_wall.transform.position = new Vector3(this.LocationX, 8f, this.LocationY + wall_width * 13.05f); + back_wall.transform.localScale = new Vector3(wall_length * 13.05f, 15f, 1f); + back_wall.transform.SetParent(instantiatedObject.transform); + + //krotsze + GameObject left_wall = GameObject.CreatePrimitive(PrimitiveType.Cube); + left_wall.transform.position = new Vector3(this.LocationX + wall_length * 13.05f / 2, 8f, this.LocationY + wall_width * 13.05f / 2 + MLlength / 4); + left_wall.transform.localScale = new Vector3(1f, 15f, wall_width * 13.05f - MLlength / 2 + 1); + left_wall.transform.SetParent(instantiatedObject.transform); + + GameObject right_wall = GameObject.CreatePrimitive(PrimitiveType.Cube); + right_wall.transform.position = new Vector3(this.LocationX - wall_length * 13.05f / 2, 8f, this.LocationY + wall_width * 13.05f / 2 + MLlength / 4); + right_wall.transform.localScale = new Vector3(1f, 15f, wall_width * 13.05f - MLlength / 2 + 1); + right_wall.name = $"RightWall"; + right_wall.transform.SetParent(instantiatedObject.transform); + + + GameObject SortLineObject = GameObject.Find("SortingLine"); + SortLine Sorting = SortLineObject.GetComponent(); + //Debug.Log("Sorting"); + + Sorting.NewVertex(this.Grid_X, this.Grid_Y, this.Grid_rotation, this.maxX, this.minX, this.maxY, this.minY, borders); + this.path = Sorting.FindPath(0, this.Grid_X, this.Grid_Y); + //string str = $"{this.Destination}{ID} : [ "; + //for (int i = 0; i < Path.Count; i++) + //{ + // str += $" {Path[i]} "; + //} + //str += " ]"; + //Debug.Log(str); + this.warehouse_id = ID; + + GameObject cube = Instantiate(robot_prefab, new Vector3(this.LocationX, 1.5f, this.LocationY + 16.0f), Quaternion.Euler(new Vector3(0, 0, 0))); + cube.transform.SetParent(instantiatedObject.transform); + Robot robot = cube.GetComponent(); + robot.robot_prefab = cube; + robot.warehouse_id = ID; + robot.LocationX = this.Grid_X; + robot.LocationY = this.Grid_Y; + + instantiatedObject.transform.rotation = Quaternion.Euler(new Vector3(0, this.rotation, 0)); + + robot.set_start_pos(robot.transform.position); + + return 0; + + } + + + + + public void UpdateMeshRotation(float posX, float posY) + { + this.LocationX = posX; + this.LocationY = posY; + + if (instantiatedObject != null) + { + this.instantiatedObject.transform.position = new Vector3(posX, 1f, posY); + } + } + + public void UpdateMeshPosition(float Rot) + { + this.rotation = Rot; + if (instantiatedObject != null) + { + this.instantiatedObject.transform.position = new Vector3(0, Rot, 0); + + } + + } + + public string ToJson() + { + + string responseJson = JsonUtility.ToJson(this); + return responseJson; + } +} \ No newline at end of file diff --git a/Assets/src/models/warehouse.cs.meta b/Assets/src/models/warehouse.cs.meta new file mode 100644 index 0000000..7d4ad4c --- /dev/null +++ b/Assets/src/models/warehouse.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3ea478c777b82ed42b89eb8c34e21e90 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ConsoleApp1/Program.cs b/ConsoleApp1/Program.cs new file mode 100644 index 0000000..ef63ab9 --- /dev/null +++ b/ConsoleApp1/Program.cs @@ -0,0 +1,582 @@ +using System; +using System.ComponentModel.Design; + + +public struct Edge +{ + public int dir; + public int target; + + public Edge(int dir_, int val) + { + dir = dir_; + target = val; + } +} + +public struct Node +{ + public int x; + public int y; + public int Input_dir; + + // Konstruktor + public Node(int x_, int y_, int val) + { + x = x_; + y = y_; + + Input_dir = val; + } + + public static float operator &(Node start, Node stop) + { + return (float)Math.Sqrt(Math.Pow((stop.x - start.x), 2) + Math.Pow((stop.y - start.y), 2)); + } + +} + +public class Program +{ + public static void Main() + { + //x1, y1 - niestartowe punkty + //x2, y2 - startowe punkty + //int x1 = 4; + //int y1 = -7; + //int x2 = 0; + //int y2 = 0; + //int rotation = 3; + //List<(int, int)> result = Vertices.NewVertex(x1, y1, x2, y2, rotation); + //foreach (var point in result) + //{ + // Console.WriteLine($"({point.Item1}, {point.Item2})"); + //} + + List Vertecies_list = new List { new Node(5, 5, 0), new Node(-5, -5,0), new Node(-5, 5, 0), new Node(5, -5, 0), new Node(0, 0, 0) }; + Console.WriteLine(NearestVertexIndex(new Node(-6, 2, 0), Vertecies_list)); + + + List Vertecies_list = new List {new Node(5,5), new Node(-5, -5), new Node(-5, 5), new Node(5, -5), new Node(0, 0) } + Console.WriteLine(NearestVertexIndex(new Node(2,2), Vertecies_list )) + + + } + + + + public static int NearestVertexIndex(Node new_Vertex, List Node_vertices) + { + int index = 0; + float distance = float.MaxValue; + Node currently_closest_Node = Node_vertices[index]; + for (int i = 0; i < Node_vertices.Count; i++) + { + float new_distance = Node_vertices[i] & new_Vertex; + if (new_distance < distance) + { +<<<<<<< HEAD + index = i; + distance = new_distance; +======= + if (y1 < 0) + { + y1 += 1; + } + else + { + y1 -= 1; + } +<<<<<<< HEAD + new_x = x2; + new_y = y1; + + } + //wejÅ›cie od doÅ‚u + else if (rotation == 2) + { + if (y1 < 0) + { + y1 -= 1; + } + else + { + y1 += 1; + } + new_x = x2; + new_y = y1; + + } + + + } + //case gdy sciana jest na osi y + + if (y1 == y2) + { + new_x = x1; + new_y = y1; + } + else + { + //wejÅ›cie od prawej + if (rotation == 1) + { + if (x1 < 0) + { + x1 -= 1; + } + else + { + x1 += 1; + } + new_x = x1; + new_y = y2; + } + //wejÅ›cie od lewej + else if (rotation == 3) + { + if (x1 < 0) + { + x1 += 1; + } + else + { + x1 -= 1; + } + new_x = x2; + new_y = y1; + } + + + } + points.Add((x1, y1)); + points.Add((new_x, new_y)); + + return points; + + } + public static List<(int, int)> NewVertex(int x1, int y1, int x2, int y2, int rotation) + { + int new_x = x1, new_y = y1; + List<(int, int)> points = new List<(int, int)>(); + // case gdy krótsza Å›ciana jest na osi x + // czyli trzeba znaleźć boki krótszej Å›ciany z sprawdzić czy zmeiniajÄ… siÄ™ dla x czy dla y. jak dla X, to to jest + // ten case + if (x1 == x2) + { + new_x = x1; + new_y = y1; + } + else + { + //wejÅ›cie od góry + if (rotation == 0) + { + if (y1 < 0) + { + y1 += 1; + } + else + { + y1 -= 1; + } +======= +>>>>>>> sorting + new_x = x2; + new_y = y1; + +>>>>>>> master + } + } + return index; + } +} +//public class Vertices +//{ +// public static List<(int, int)> NewVertex(int x1, int y1, int x2, int y2, int rotation) +// { +// int new_x = x1, new_y = y1; +// List<(int, int)> points = new List<(int, int)>(); +// // case gdy krótsza Å›ciana jest na osi x +// // czyli trzeba znaleźć boki krótszej Å›ciany z sprawdzić czy zmeiniajÄ… siÄ™ dla x czy dla y. jak dla X, to to jest +// // ten case +// if (x1 == x2) +// { +// new_x = x1; +// new_y = y1; +// } +// else +// { +// //wejÅ›cie od góry +// if (rotation == 0) +// { +// if (y1 < 0) +// { +// y1 += 1; +// } +// else +// { +// y1 -= 1; +// } +// new_x = x2; +// new_y = y1; + +// } +// //wejÅ›cie od doÅ‚u +// else if (rotation == 2) +// { +// if (y1 < 0) +// { +// y1 -= 1; +// } +// else +// { +// y1 += 1; +// } +// new_x = x2; +// new_y = y1; + +// } + + +// } +// //case gdy sciana jest na osi y + +// if (y1 == y2) +// { +// new_x = x1; +// new_y = y1; +// } +// else +// { +// //wejÅ›cie od prawej +// if (rotation == 1) +// { +// if (x1 < 0) +// { +// x1 -= 1; +// } +// else +// { +// x1 += 1; +// } +// new_x = x1; +// new_y = y2; +// } +// //wejÅ›cie od lewej +// else if (rotation == 3) +// { +// if (x1 < 0) +// { +// x1 += 1; +// } +// else +// { +// x1 -= 1; +// } +// new_x = x2; +// new_y = y1; +// } + + +// } +// points.Add((x1, y1)); +// points.Add((new_x, new_y)); + +// return points; + +// } +// public static List<(int, int)> NewVertex(int x1, int y1, int x2, int y2, int rotation) +// { +// int new_x = x1, new_y = y1; +// List<(int, int)> points = new List<(int, int)>(); +// // case gdy krótsza Å›ciana jest na osi x +// // czyli trzeba znaleźć boki krótszej Å›ciany z sprawdzić czy zmeiniajÄ… siÄ™ dla x czy dla y. jak dla X, to to jest +// // ten case +// if (x1 == x2) +// { +// new_x = x1; +// new_y = y1; +// } +// else +// { +// //wejÅ›cie od góry +// if (rotation == 0) +// { +// if (y1 < 0) +// { +// y1 += 1; +// } +// else +// { +// y1 -= 1; +// } +// new_x = x2; +// new_y = y1; + +// } +// //wejÅ›cie od doÅ‚u +// else if (rotation == 2) +// { +// if (y1 < 0) +// { +// y1 -= 1; +// } +// else +// { +// y1 += 1; +// } +// new_x = x2; +// new_y = y1; + +// } + + +// } +// //case gdy sciana jest na osi y + +// if (y1 == y2) +// { +// new_x = x1; +// new_y = y1; +// } +// else +// { +// //wejÅ›cie od prawej +// if (rotation == 1) +// { +// if (x1 < 0) +// { +// x1 -= 1; +// } +// else +// { +// x1 += 1; +// } +// new_x = x1; +// new_y = y2; +// } +// //wejÅ›cie od lewej +// else if (rotation == 3) +// { +// if (x1 < 0) +// { +// x1 += 1; +// } +// else +// { +// x1 -= 1; +// } +// new_x = x2; +// new_y = y1; +// } + + +// } +// points.Add((x1, y1)); +// points.Add((new_x, new_y)); + +// return points; + +// } +//} + + + + + +<<<<<<< HEAD +======= + } + public static List<(int, int)> NewVertex(int x1, int y1, int x2, int y2, int rotation) + { + int new_x = x1, new_y = y1; + List<(int, int)> points = new List<(int, int)>(); + // case gdy krótsza Å›ciana jest na osi x + // czyli trzeba znaleźć boki krótszej Å›ciany z sprawdzić czy zmeiniajÄ… siÄ™ dla x czy dla y. jak dla X, to to jest + // ten case + if (x1 == x2) + { + new_x = x1; + new_y = y1; + } + else + { + //wejÅ›cie od góry + if (rotation == 0) + { + if (y1 < 0) + { + y1 += 1; + } + else + { + y1 -= 1; + } + new_x = x2; + new_y = y1; + + } + //wejÅ›cie od doÅ‚u + else if (rotation == 2) + { + if (y1 < 0) + { + y1 -= 1; + } + else + { + y1 += 1; + } + new_x = x2; + new_y = y1; + + } + + + } + //case gdy sciana jest na osi y + + if (y1 == y2) + { + new_x = x1; + new_y = y1; + } + else + { + //wejÅ›cie od prawej + if (rotation == 1) + { + if (x1 < 0) + { + x1 -= 1; + } + else + { + x1 += 1; + } + new_x = x1; + new_y = y2; + } + //wejÅ›cie od lewej + else if (rotation == 3) + { + if (x1 < 0) + { + x1 += 1; + } + else + { + x1 -= 1; + } + new_x = x2; + new_y = y1; + } + + + } + points.Add((x1, y1)); + points.Add((new_x, new_y)); + + return points; + + } +} + + + +public struct Edge +{ + public int dir; + public int target; + + public Edge(int dir_, int val) + { + dir = dir_; + target = val; + } +} + +public struct Node +{ + public int x; + public int y; + public int Input_dir; + + // Konstruktor + public Node(int x_, int y_, int val) + { + x = x_; + y = y_; + + Input_dir = val; + } + + public static float operator &(Node start, Node stop) + { + return (float)Math.Sqrt(Math.Pow((stop.x - start.x), 2) + Math.Pow((stop.y - start.y), 2)); + } +} + + +<<<<<<< HEAD + +public struct Edge +{ + public int dir; + public int target; + + public Edge(int dir_, int val) + { + dir = dir_; + target = val; + } +} + +public struct Node +{ + public int x; + public int y; + public int Input_dir; + + // Konstruktor + public Node(int x_, int y_, int val) + { + x = x_; + y = y_; + + Input_dir = val; + } + + public static float operator &(Node start, Node stop) + { + return (float)Math.Sqrt(Math.Pow((stop.x - start.x), 2) + Math.Pow((stop.y - start.y), 2)); + } +} + + +======= +>>>>>>> sorting +public int NearestVertexIndex(Node new_Vertex,List Node_vertices) + { + int index = 0; + float distance = float.MaxValue; + Node currently_closest_Node =Node_vertices[index]; + for (int i = 0; i < Node_vertices.Count; i++) + { + float new_distance = Node_vertices[index] & Node_vertices[i] + if (new_distance < distance) +<<<<<<< HEAD + { + currently_closest_Node = Node_vertices[index] +======= + { + currently_closest_Node = Node_vertices[index]; +>>>>>>> sorting + distance = new_distance; + } + } + return index; + } +>>>>>>> master diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..f39d4df --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_ConfigSource: 0 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_Modified: 0 + m_ErrorMessage: + m_UserModificationsInstanceId: -852 + m_OriginalInstanceId: -854 + m_LoadAssets: 0 diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 42494fa..2109606 100644 Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index bf3ea7b..c281c05 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1 +1,2 @@ -m_EditorVersion: 5.5.0xp1Linux +m_EditorVersion: 2022.3.21f1 +m_EditorVersionWithRevision: 2022.3.21f1 (bf09ca542b87) diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index 4c83164..3cf11b9 100644 Binary files a/ProjectSettings/QualitySettings.asset and b/ProjectSettings/QualitySettings.asset differ diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..5e97f83 --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,121 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "defaultInstantiationMode": 0 + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "defaultInstantiationMode": 1 + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 793b839..c4d2580 100644 Binary files a/ProjectSettings/TagManager.asset and b/ProjectSettings/TagManager.asset differ diff --git a/ProjectSettings/UnityAdsSettings.asset b/ProjectSettings/UnityAdsSettings.asset deleted file mode 100644 index 3e3e276..0000000 Binary files a/ProjectSettings/UnityAdsSettings.asset and /dev/null differ diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..bd59660 --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_EmptyShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 + m_CompiledVersion: 0 + m_RuntimeVersion: 0 + m_RuntimeResources: {fileID: 0} diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/README.md b/README.md index 03ea06b..48feabf 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,3 @@ -# RESTful-Unity -RESTful-Unity aims to provides a simple RESTful HTTP server for [Unity3d](https://unity3d.com).
-Access and capsule the state of game objects from a Unity scene over http requests. - -This project was created during prototyping a 3D simulation where game objects could be accessed and controlled by [openHAB](https://github.com/openhab/openhab).
It's a proof of concept side project, therefore the functionality of the server was kept to a minimum. - -**GET Example**
-for requesting the color of a game object. Path: /color/{game object name} -![GET](https://i.imgur.com/jAz4ah2.png) - -**POST Example**
-for changing the color of a game object by a POST request. Path: /color/{game object name} -![POST](https://i.imgur.com/XTJav1I.png) - -## Features - -* Supported HTTP tpyes: GET, POST, PUT and DELETE -* Store and configure the routes within a configuration class -* Create parameterize routing paths -* Access the query string variables from a request -* Support for basic authentication -* Capsule the executed operation within static invoker classes and methods -* Define the response content, HTTP status code and MIME type -* This project contains a demo scene for controlling the color of a cube and two light sources - - -## Setup - -### 1. Init -Attach the _Unity main thread involker_ and the _server init_ script to the main camera.
-![Camera](https://i.imgur.com/Eyx27YQ.png) - -### 2. The routing table -Define the routing table inside the _server init_ script. -![Routing table](https://i.imgur.com/GkNZAl9.png) - -### 3. Invoke -Write a the referenced invoker class and method.
-![Invoke](https://i.imgur.com/7vCJHD3.png) - -And define the HTTP response the the request
-![Response](https://i.imgur.com/wKq96cd.png) - - ## Licence Copyright 2016, Tim F. Rieck diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset new file mode 100644 index 0000000..7c2212c --- /dev/null +++ b/UserSettings/EditorUserSettings.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!162 &1 +EditorUserSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_ConfigSettings: + RecentlyUsedSceneGuid-0: + value: 570751045c0c0f085c0f5d7a49260b4417154f2f28782734787d486ae6e26339 + flags: 0 + RecentlyUsedSceneGuid-1: + value: 075007545c515e090b0b5e2145740f4446161e292f7820602e2f4e32b1b5636f + flags: 0 + RecentlyUsedSceneGuid-2: + value: 5b01025356545d5a085e5f7a47255c44404e40727b7d246079791f35b5e13239 + flags: 0 + vcSharedLogLevel: + value: 0d5e400f0650 + flags: 0 + m_VCAutomaticAdd: 1 + m_VCDebugCom: 0 + m_VCDebugCmd: 0 + m_VCDebugOut: 0 + m_SemanticMergeMode: 2 + m_DesiredImportWorkerCount: 3 + m_StandbyImportWorkerCount: 2 + m_IdleImportWorkerShutdownDelay: 60000 + m_VCShowFailedCheckout: 1 + m_VCOverwriteFailedCheckoutAssets: 1 + m_VCProjectOverlayIcons: 1 + m_VCHierarchyOverlayIcons: 1 + m_VCOtherOverlayIcons: 1 + m_VCAllowAsyncUpdate: 1 + m_ArtifactGarbageCollection: 1 diff --git a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt new file mode 100644 index 0000000..5813550 --- /dev/null +++ b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt @@ -0,0 +1,1082 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 3} + - {fileID: 15} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 2560 + height: 1307 + m_MinSize: {x: 300, y: 200} + m_MaxSize: {x: 24288, y: 16192} + vertical: 0 + controlID: 11408 +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 343 + y: 73 + width: 1614 + height: 833 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: -101, y: -26} + snapCorner: 3 + id: Tool Settings + index: 0 + layout: 1 + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -141, y: 149} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-grid-and-snap-toolbar + index: 1 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-scene-view-toolbar + index: 0 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-search-toolbar + index: 1 + layout: 1 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-transform-toolbar + index: 0 + layout: 2 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 197} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-component-tools + index: 1 + layout: 2 + - dockPosition: 0 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 67.5, y: -123} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 2 + id: Orientation + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Light Settings + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Camera + index: 1 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Constraints + index: 2 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Collisions + index: 3 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Navmesh Display + index: 4 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Agent Display + index: 5 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Obstacle Display + index: 6 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Occlusion Culling + index: 7 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Physics Debugger + index: 8 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Scene Visibility + index: 9 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Particles + index: 10 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap + index: 11 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap Palette Helper + index: 12 + layout: 4 + m_OverlaysVisible: 1 + m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: -6.393328, y: 3.3091776, z: -20.6285} + speed: 2 + m_Value: {x: -6.393328, y: 3.3091776, z: -20.6285} + m_RenderMode: 0 + m_CameraMode: + drawMode: 0 + name: Shaded + section: Shading Mode + m_ValidateTrueMetals: 0 + m_DoValidateTrueMetals: 0 + m_ExposureSliderValue: 0 + m_SceneViewState: + m_AlwaysRefresh: 0 + showFog: 1 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + showParticleSystems: 1 + showVisualEffectGraphs: 1 + m_FxEnabled: 1 + m_Grid: + xGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + yGrid: + m_Fade: + m_Target: 1 + speed: 2 + m_Value: 1 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + zGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: 0.0102157295, y: -0.98883736, z: 0.08116789, w: 0.124679744} + speed: 2 + m_Value: {x: 0.01021554, y: -0.98881906, z: 0.081166394, w: 0.12467744} + m_Size: + m_Target: 21.205439 + speed: 2 + m_Value: 21.205439 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_CameraSettings: + m_Speed: 0.88056 + m_SpeedNormalized: 0.44 + m_SpeedMin: 0.001 + m_SpeedMax: 2 + m_EasingEnabled: 1 + m_EasingDuration: 0.4 + m_AccelerationEnabled: 1 + m_FieldOfViewHorizontalOrVertical: 60 + m_NearClip: 0.03 + m_FarClip: 10000 + m_DynamicClip: 1 + m_OcclusionCulling: 0 + m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0} + m_LastSceneViewOrtho: 0 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 4} + - {fileID: 9} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1959 + height: 1307 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 16192, y: 16192} + vertical: 1 + controlID: 11409 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 5} + - {fileID: 7} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1959 + height: 854 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 11410 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 343 + height: 854 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 6} + m_Panes: + - {fileID: 6} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 73 + width: 342 + height: 833 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 085a0000 + m_LastClickedID: 23048 + m_ExpandedIDs: 8a8effff96c4ffffaec4ffff34fbffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 5} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 343 + y: 0 + width: 1616 + height: 854 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 2} + m_Panes: + - {fileID: 8} + - {fileID: 2} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 343 + y: 73 + width: 1614 + height: 833 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: [] + m_SerializedViewValues: [] + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 1614, y: 812} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -807 + m_HBaseRangeMax: 807 + m_VBaseRangeMin: -406 + m_VBaseRangeMax: 406 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 0 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 1614 + height: 812 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 807, y: 406} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -807 + y: -406 + width: 1614 + height: 812 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 1614, y: 833} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 01000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 10} + - {fileID: 13} + m_Position: + serializedVersion: 2 + x: 0 + y: 854 + width: 1959 + height: 453 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 11324 +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ConsoleWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1306 + height: 453 + m_MinSize: {x: 101, y: 121} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 12} + m_Panes: + - {fileID: 11} + - {fileID: 12} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 927 + width: 1305 + height: 432 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Assets/Mesh_Models + m_Globs: [] + m_OriginalText: + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 96 + m_LastFolders: + - Assets/Mesh_Models + m_LastFoldersGridSize: 96 + m_LastProjectPath: C:\Users\Sebastian\Desktop\unity\PackageManager + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 2e5b0000 + m_LastClickedID: 23342 + m_ExpandedIDs: 00000000d25a000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 10} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000d25a000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: f6590000 + m_LastClickedInstanceID: 23030 + m_HadKeyboardFocusLastEvent: 0 + m_ExpandedInstanceIDs: c6230000405b000000000000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 10} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 96 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 207 +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 927 + width: 1305 + height: 432 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ProjectBrowser + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1306 + y: 0 + width: 653 + height: 453 + m_MinSize: {x: 232, y: 271} + m_MaxSize: {x: 10002, y: 10021} + m_ActualView: {fileID: 14} + m_Panes: + - {fileID: 14} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1306 + y: 927 + width: 651 + height: 432 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Assets/Mesh_Models + m_Globs: [] + m_OriginalText: + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 16 + m_LastFolders: + - Assets/Mesh_Models + m_LastFoldersGridSize: -1 + m_LastProjectPath: C:\Users\Sebastian\Desktop\unity\PackageManager + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 2e5b0000 + m_LastClickedID: 23342 + m_ExpandedIDs: 00000000d25a000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000d25a000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: 085a0000 + m_LastClickedInstanceID: 23048 + m_HadKeyboardFocusLastEvent: 0 + m_ExpandedInstanceIDs: + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 16 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 200 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1959 + y: 0 + width: 601 + height: 1307 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 16} + m_Panes: + - {fileID: 16} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1959 + y: 73 + width: 600 + height: 1286 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: -330 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_LastInspectedObjectInstanceID: -1 + m_LastVerticalScrollValue: 0 + m_GlobalObjectId: + m_InspectorMode: 0 + m_LockTracker: + m_IsLocked: 0 + m_PreviewWindow: {fileID: 0} diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt new file mode 100644 index 0000000..165b928 --- /dev/null +++ b/UserSettings/Layouts/default-2021.dwlt @@ -0,0 +1,1177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: 0 + y: 43 + width: 2560 + height: 1357 + m_ShowMode: 4 + m_Title: Scene + m_RootView: {fileID: 2} + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_Maximized: 1 +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 3} + - {fileID: 5} + - {fileID: 4} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 2560 + height: 1357 + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_UseTopView: 1 + m_TopViewHeight: 30 + m_UseBottomView: 1 + m_BottomViewHeight: 20 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 2560 + height: 30 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 1337 + width: 2560 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 6} + - {fileID: 13} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 2560 + height: 1307 + m_MinSize: {x: 300, y: 200} + m_MaxSize: {x: 24288, y: 16192} + vertical: 0 + controlID: 16 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 7} + - {fileID: 10} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1960 + height: 1307 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 16192, y: 16192} + vertical: 1 + controlID: 17 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 8} + - {fileID: 9} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1960 + height: 1027 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 18 +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 334 + height: 1027 + m_MinSize: {x: 201, y: 221} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 15} + m_Panes: + - {fileID: 15} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 334 + y: 0 + width: 1626 + height: 1027 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 14} + m_Panes: + - {fileID: 16} + - {fileID: 14} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 11} + - {fileID: 12} + m_Position: + serializedVersion: 2 + x: 0 + y: 1027 + width: 1960 + height: 280 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 105 +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ConsoleWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1391 + height: 280 + m_MinSize: {x: 101, y: 121} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 18} + m_Panes: + - {fileID: 17} + - {fileID: 18} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ProjectBrowser + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1391 + y: 0 + width: 569 + height: 280 + m_MinSize: {x: 232, y: 271} + m_MaxSize: {x: 10002, y: 10021} + m_ActualView: {fileID: 19} + m_Panes: + - {fileID: 19} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1960 + y: 0 + width: 600 + height: 1307 + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 20} + m_Panes: + - {fileID: 20} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 334 + y: 73 + width: 1624 + height: 1006 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: -101, y: -26} + snapCorner: 3 + id: Tool Settings + index: 0 + layout: 1 + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -141, y: 149} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-grid-and-snap-toolbar + index: 1 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-scene-view-toolbar + index: 0 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-search-toolbar + index: 1 + layout: 1 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-transform-toolbar + index: 0 + layout: 2 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 197} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-component-tools + index: 1 + layout: 2 + - dockPosition: 0 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 67.5, y: -123} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 2 + id: Orientation + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Light Settings + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Camera + index: 1 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Constraints + index: 2 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Collisions + index: 3 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Navmesh Display + index: 4 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Agent Display + index: 5 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Obstacle Display + index: 6 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Occlusion Culling + index: 7 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Physics Debugger + index: 8 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Scene Visibility + index: 9 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Particles + index: 10 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap + index: 11 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap Palette Helper + index: 12 + layout: 4 + m_OverlaysVisible: 1 + m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: -47.78102, y: -173.80807, z: -290.06598} + speed: 2 + m_Value: {x: -47.78102, y: -173.80807, z: -290.06598} + m_RenderMode: 0 + m_CameraMode: + drawMode: 0 + name: Shaded + section: Shading Mode + m_ValidateTrueMetals: 0 + m_DoValidateTrueMetals: 0 + m_ExposureSliderValue: 0 + m_SceneViewState: + m_AlwaysRefresh: 0 + showFog: 1 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + showParticleSystems: 1 + showVisualEffectGraphs: 1 + m_FxEnabled: 1 + m_Grid: + xGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + yGrid: + m_Fade: + m_Target: 1 + speed: 2 + m_Value: 1 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + zGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: -0.0062963245, y: -0.94460386, z: 0.32767272, w: -0.018140743} + speed: 2 + m_Value: {x: -0.0072792596, y: -0.9445383, z: 0.32764995, w: -0.020974316} + m_Size: + m_Target: 363.00885 + speed: 2 + m_Value: 363.00885 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_CameraSettings: + m_Speed: 0.94053 + m_SpeedNormalized: 0.47 + m_SpeedMin: 0.001 + m_SpeedMax: 2 + m_EasingEnabled: 1 + m_EasingDuration: 0.4 + m_AccelerationEnabled: 1 + m_FieldOfViewHorizontalOrVertical: 60 + m_NearClip: 0.03 + m_FarClip: 10000 + m_DynamicClip: 1 + m_OcclusionCulling: 0 + m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0} + m_LastSceneViewOrtho: 0 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 73 + width: 333 + height: 1006 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 6608f3ff4272f3fff2d8f3ffe233f4ff323ef4ff0276f4ff709cf4ff1601f5ff3a38f5ffbe6df5ff521dfaff4eb3faff24defbff84a0fdffacfffeffec93ffff34fbffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: WarehouseWRC10 + m_OriginalName: WarehouseWRC10 + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: -740202 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 0 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 8} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 334 + y: 73 + width: 1624 + height: 1006 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: [] + m_SerializedViewValues: [] + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 1624, y: 985} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -812 + m_HBaseRangeMax: 812 + m_VBaseRangeMin: -492.5 + m_VBaseRangeMax: 492.5 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 1624 + height: 985 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 812, y: 492.5} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -812 + y: -492.5 + width: 1624 + height: 985 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 1624, y: 1006} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 01000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} +--- !u!114 &17 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 818 + width: 1390 + height: 541 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Assets/Mesh_Models + m_Globs: [] + m_OriginalText: + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 96 + m_LastFolders: + - Assets/Mesh_Models + m_LastFoldersGridSize: 96 + m_LastProjectPath: C:\Users\Sebastian\Desktop\unity\PackageManager + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 565b0000 + m_LastClickedID: 23382 + m_ExpandedIDs: 00000000105b0000125b000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 11} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000105b0000125b0000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 0 + m_ExpandedInstanceIDs: c6230000405b000000000000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 11} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 96 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 207 +--- !u!114 &18 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 1100 + width: 1390 + height: 259 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !u!114 &19 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1391 + y: 1100 + width: 567 + height: 259 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Assets/src/models + m_Globs: [] + m_OriginalText: + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 16 + m_LastFolders: + - Assets/src/models + m_LastFoldersGridSize: -1 + m_LastProjectPath: C:\Users\Sebastian\Desktop\unity\PackageManager + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 5a5b0000 + m_LastClickedID: 23386 + m_ExpandedIDs: 00000000105b0000125b000000ca9a3b + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 12} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000105b0000125b0000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 1 + m_ExpandedInstanceIDs: + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 16 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 200 +--- !u!114 &20 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1960 + y: 73 + width: 599 + height: 1286 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: -330 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_LastInspectedObjectInstanceID: -1 + m_LastVerticalScrollValue: 0 + m_GlobalObjectId: + m_InspectorMode: 0 + m_LockTracker: + m_IsLocked: 0 + m_PreviewWindow: {fileID: 0} diff --git a/UserSettings/Search.index b/UserSettings/Search.index new file mode 100644 index 0000000..dba62d5 --- /dev/null +++ b/UserSettings/Search.index @@ -0,0 +1,13 @@ +{ + "name": "Assets", + "roots": ["Assets"], + "includes": [], + "excludes": [], + "options": { + "types": true, + "properties": true, + "extended": false, + "dependencies": false + }, + "baseScore": 999 +} \ No newline at end of file diff --git a/UserSettings/Search.settings b/UserSettings/Search.settings new file mode 100644 index 0000000..e025283 --- /dev/null +++ b/UserSettings/Search.settings @@ -0,0 +1,81 @@ +trackSelection = true +refreshSearchWindowsInPlayMode = false +fetchPreview = true +defaultFlags = 0 +keepOpen = false +queryFolder = "Assets" +onBoardingDoNotAskAgain = true +showPackageIndexes = false +showStatusBar = false +scopes = { + "last_search.DA949528" = "package man" + "OpenInspectorPreview.DA949528" = "0" + "currentGroup.DA949528" = "all" + "last_search.DD5CDD96" = "" + "OpenInspectorPreview.DD5CDD96" = "0" + "currentGroup.DD5CDD96" = "scene" +} +providers = { + adb = { + active = false + priority = 2500 + defaultAction = null + } + asset = { + active = true + priority = 25 + defaultAction = null + } + store = { + active = true + priority = 100 + defaultAction = null + } + find = { + active = true + priority = 25 + defaultAction = null + } + log = { + active = false + priority = 210 + defaultAction = null + } + packages = { + active = true + priority = 90 + defaultAction = null + } + performance = { + active = false + priority = 100 + defaultAction = null + } + profilermarkers = { + active = false + priority = 100 + defaultAction = null + } + scene = { + active = true + priority = 50 + defaultAction = null + } +} +objectSelectors = { +} +recentSearches = [ +] +searchItemFavorites = [ +] +savedSearchesSortOrder = 0 +showSavedSearchPanel = false +hideTabs = false +expandedQueries = [ +] +queryBuilder = false +ignoredProperties = "id;name;classname;imagecontentshash" +helperWidgetCurrentArea = "all" +disabledIndexers = "" +minIndexVariations = 2 +findProviderIndexHelper = true \ No newline at end of file diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..bc02fe8 --- /dev/null +++ b/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file