Created field bubble shields / propulsion, currently just a prototype with its own test scene
This commit is contained in:
Reinier Vens 2025-01-30 01:58:05 +00:00
commit c6ffcad3f1
213 changed files with 2145 additions and 1213 deletions

5
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,5 @@
{
"recommendations": [
"visualstudiotoolsforunity.vstuc"
]
}

10
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,10 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Unity",
"type": "vstuc",
"request": "attach"
}
]
}

60
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,60 @@
{
"files.exclude": {
"**/.DS_Store": true,
"**/.git": true,
"**/.vs": true,
"**/.gitmodules": true,
"**/.vsconfig": true,
"**/*.booproj": true,
"**/*.pidb": true,
"**/*.suo": true,
"**/*.user": true,
"**/*.userprefs": true,
"**/*.unityproj": true,
"**/*.dll": true,
"**/*.exe": true,
"**/*.pdf": true,
"**/*.mid": true,
"**/*.midi": true,
"**/*.wav": true,
"**/*.gif": true,
"**/*.ico": true,
"**/*.jpg": true,
"**/*.jpeg": true,
"**/*.png": true,
"**/*.psd": true,
"**/*.tga": true,
"**/*.tif": true,
"**/*.tiff": true,
"**/*.3ds": true,
"**/*.3DS": true,
"**/*.fbx": true,
"**/*.FBX": true,
"**/*.lxo": true,
"**/*.LXO": true,
"**/*.ma": true,
"**/*.MA": true,
"**/*.obj": true,
"**/*.OBJ": true,
"**/*.asset": true,
"**/*.cubemap": true,
"**/*.flare": true,
"**/*.mat": true,
"**/*.meta": true,
"**/*.prefab": true,
"**/*.unity": true,
"build/": true,
"Build/": true,
"Library/": true,
"library/": true,
"obj/": true,
"Obj/": true,
"Logs/": true,
"logs/": true,
"ProjectSettings/": true,
"UserSettings/": true,
"temp/": true,
"Temp/": true
},
"dotnet.defaultSolution": "Aetheria-Economy.sln"
}

View file

@ -0,0 +1,82 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Fog Brush
m_Shader: {fileID: 4800000, guid: 268da230635cfb34ab4ed6ad39503fa0, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 1
- _Depth: 80
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Power: 16
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8dd249f658a914548b4890537a80eab8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sector Waves Medium
m_Shader: {fileID: 4800000, guid: ccdbaf77577994d46b0e61c53d5dc4a9, type: 3}
m_ShaderKeywords: B
m_ValidKeywords: []
m_InvalidKeywords:
- B
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -55,11 +57,12 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Constant: 1
- _Cutoff: 0.5
- _Depth: 4
- _Depth: 7.58
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Frequency: 0.01

View file

@ -62,7 +62,7 @@ Material:
- _BumpScale: 1
- _Constant: 0
- _Cutoff: 0.5
- _Depth: -8
- _Depth: -16.75
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Frequency: 0.005

View file

@ -2,14 +2,17 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Grid 1
m_Shader: {fileID: 4800000, guid: 715b1ce444e57364a9458657be896071, type: 3}
m_ShaderKeywords: _RENDERING_CUTOUT _TESSELLATION_EDGE
m_ValidKeywords:
- _RENDERING_CUTOUT
- _TESSELLATION_EDGE
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -21,11 +24,11 @@ Material:
serializedVersion: 3
m_TexEnvs:
- _AlphaMask:
m_Texture: {fileID: 2800000, guid: 314e63bcb8ac19045b9577f68a24bb42, type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Background:
m_Texture: {fileID: 8900000, guid: b607eb85a346eaf459b28449d909bbe5, type: 3}
m_Texture: {fileID: 8900000, guid: 589f8d25c07df474ebf6e5cf31ac21c4, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
@ -84,12 +87,13 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0.4
- _AlphaRange: 80
- _AlphaRange: 465.6
- _AlphaRangeCenter: -100
- _AlphaRangeFeather: 10
- _AlphaTiling: 0.5
- _AlphaRangeFeather: 25
- _AlphaTiling: 1
- _BackgroundBlur: 0.75
- _BackgroundFresnel: 0.999
- _BumpScale: 1
@ -113,7 +117,7 @@ Material:
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ParallaxStrength: 0
- _Smoothness: 1
- _Smoothness: 0.824
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

View file

@ -9,7 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Shield
m_Shader: {fileID: 4800000, guid: 8cdd48af96eb47745a96bca98f53d5bd, type: 3}
m_ValidKeywords: []
m_ValidKeywords:
- A
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -21,7 +22,7 @@ Material:
serializedVersion: 3
m_TexEnvs:
- _Background:
m_Texture: {fileID: 8900000, guid: 3aff5e4f12da60e42b543a55f412144f, type: 3}
m_Texture: {fileID: 8900000, guid: 589f8d25c07df474ebf6e5cf31ac21c4, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
@ -75,44 +76,80 @@ Material:
m_Ints: []
m_Floats:
- _Ambient_Multiplier: 0
- _BackgroundBlur: 0
- _BackgroundFresnel: -0.5
- _BackgroundBlur: 0.1
- _BackgroundFresnel: 0.75
- _BlurFresnel: -2
- _BulbRadius: 0
- _BulbRange: 0.05
- _BumpScale: 1
- _CellExponent: 1
- _CellSpeed: 1
- _CellTiling: 12
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DeviationOpacityExponent: 4
- _Displacement: 1
- _DisplacementOpacity: 0
- _DstBlend: 0
- _Emission: 50
- _EmissionFresnel: 0.5
- _Emission: 8
- _EmissionFresnel: -0.5
- _FresnelOpacity: 1
- _Gloss: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _MaxDisplacement: 0.073
- _MeleeDisplacement: 0
- _MeleeFlattening: 8
- _MeleeShape: 4
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _OpacityFresnel: 3
- _OpacityFresnel: 4
- _Parallax: 0.02
- _PushOpacity: 1
- _Push: 1
- _PushEnvelopeExponent: 2
- _PushFrequencyExponent: 2
- _PushOpacity: 0
- _PushOpacityRangeMax: 0.25
- _PushOpacityRangeMin: 0.75
- _PushVerticalExponent: 0
- _PushWaveEnvelopeExponent: 2
- _PushWaveExponent: 1
- _PushWaveFrequency: 8
- _PushWaveMagnitude: 2
- _PushWaveMagnitude: 0
- _PushWaveOffset: 0
- _PushWaveRange: 3.14
- _PushWaveRangeExponent: 4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _Speed: 1
- _SrcBlend: 1
- _SubdivisionAmount: 10
- _SubdivisionAmount: 8
- _TendrilExponent: 2
- _TendrilInfluence: 0.1
- _TendrilRadius: 0
- _TendrilSize: 0
- _TwistAngleExponent: 1
- _TwistAngleMax: 1
- _TwistAngleMin: 1
- _TwistBack: 1
- _TwistEnvelopeExponent: 2
- _TwistFrequencyExponent: 1.5
- _TwistFront: 0
- _TwistRear: 0
- _TwistVerticalExponent: 8
- _UVSec: 0
- _WaveExponent: 1
- _WaveFrequency: 50.24
- _WaveMagnitude: 1
- _WaveOffset: 0
- _WaveRangeExponent: 2
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 0.25499997, b: 0.6288488, a: 1}
- _PushDirection: {r: 0, g: 0, b: 1, a: 1}
- _EmissionColor: {r: 0.25490198, g: 0.7046673, b: 1, a: 1}
- _InverseScale: {r: 0.25, g: 0.33333334, b: 0.083333336, a: 1}
- _MeleeDirection: {r: -0.00000008742278, g: -0, b: -1, a: 0}
- _PushDirection: {r: 0, g: 0, b: -1, a: 0}
m_BuildTextureStacks: []

View file

@ -63,7 +63,7 @@ Material:
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AtmosphereThickness: 0.15
- _AtmosphereThickness: 0.05
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Entrance
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON
m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlendOp: 0
- _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone Background Primary
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON
m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlendOp: 0
- _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone Background Secondary
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON
m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlendOp: 0
- _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON
m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlendOp: 0
- _BumpScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -76,7 +76,7 @@ Material:
- _ColorMask: 15
- _Cutoff: 0.5
- _DangerSteepness: 1.5
- _DepthRange: 284.9062
- _DepthRange: 216.52303
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
@ -89,7 +89,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Scale: 0.0007099797
- _Scale: 2.1248078
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

View file

@ -71,7 +71,7 @@ Material:
- _ColorMask: 15
- _Cutoff: 0.5
- _DangerSteepness: 1.5
- _DepthRange: 284.9062
- _DepthRange: 216.52303
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Zone Link
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
m_InvalidKeywords: []
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- ALWAYS
- GRABPASS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlendOp: 0
- _BumpScale: 1

BIN
Assets/Models/CatmullGrid.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,351 @@
fileFormatVersion: 2
guid: aa6193d250644494faa1b8492b0e98d1
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: CatmullGrid_MeshPart0
- first:
1: 100004
second: CatmullGrid_MeshPart1
- first:
1: 100006
second: CatmullGrid_MeshPart10
- first:
1: 100008
second: CatmullGrid_MeshPart11
- first:
1: 100010
second: CatmullGrid_MeshPart12
- first:
1: 100012
second: CatmullGrid_MeshPart13
- first:
1: 100014
second: CatmullGrid_MeshPart14
- first:
1: 100016
second: CatmullGrid_MeshPart2
- first:
1: 100018
second: CatmullGrid_MeshPart3
- first:
1: 100020
second: CatmullGrid_MeshPart4
- first:
1: 100022
second: CatmullGrid_MeshPart5
- first:
1: 100024
second: CatmullGrid_MeshPart6
- first:
1: 100026
second: CatmullGrid_MeshPart7
- first:
1: 100028
second: CatmullGrid_MeshPart8
- first:
1: 100030
second: CatmullGrid_MeshPart9
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: CatmullGrid_MeshPart0
- first:
4: 400004
second: CatmullGrid_MeshPart1
- first:
4: 400006
second: CatmullGrid_MeshPart10
- first:
4: 400008
second: CatmullGrid_MeshPart11
- first:
4: 400010
second: CatmullGrid_MeshPart12
- first:
4: 400012
second: CatmullGrid_MeshPart13
- first:
4: 400014
second: CatmullGrid_MeshPart14
- first:
4: 400016
second: CatmullGrid_MeshPart2
- first:
4: 400018
second: CatmullGrid_MeshPart3
- first:
4: 400020
second: CatmullGrid_MeshPart4
- first:
4: 400022
second: CatmullGrid_MeshPart5
- first:
4: 400024
second: CatmullGrid_MeshPart6
- first:
4: 400026
second: CatmullGrid_MeshPart7
- first:
4: 400028
second: CatmullGrid_MeshPart8
- first:
4: 400030
second: CatmullGrid_MeshPart9
- first:
23: 2300000
second: CatmullGrid_MeshPart0
- first:
23: 2300002
second: CatmullGrid_MeshPart1
- first:
23: 2300004
second: CatmullGrid_MeshPart10
- first:
23: 2300006
second: CatmullGrid_MeshPart11
- first:
23: 2300008
second: CatmullGrid_MeshPart12
- first:
23: 2300010
second: CatmullGrid_MeshPart13
- first:
23: 2300012
second: CatmullGrid_MeshPart14
- first:
23: 2300014
second: CatmullGrid_MeshPart2
- first:
23: 2300016
second: CatmullGrid_MeshPart3
- first:
23: 2300018
second: CatmullGrid_MeshPart4
- first:
23: 2300020
second: CatmullGrid_MeshPart5
- first:
23: 2300022
second: CatmullGrid_MeshPart6
- first:
23: 2300024
second: CatmullGrid_MeshPart7
- first:
23: 2300026
second: CatmullGrid_MeshPart8
- first:
23: 2300028
second: CatmullGrid_MeshPart9
- first:
23: 2300030
second: //RootNode
- first:
33: 3300000
second: CatmullGrid_MeshPart0
- first:
33: 3300002
second: CatmullGrid_MeshPart1
- first:
33: 3300004
second: CatmullGrid_MeshPart10
- first:
33: 3300006
second: CatmullGrid_MeshPart11
- first:
33: 3300008
second: CatmullGrid_MeshPart12
- first:
33: 3300010
second: CatmullGrid_MeshPart13
- first:
33: 3300012
second: CatmullGrid_MeshPart14
- first:
33: 3300014
second: CatmullGrid_MeshPart2
- first:
33: 3300016
second: CatmullGrid_MeshPart3
- first:
33: 3300018
second: CatmullGrid_MeshPart4
- first:
33: 3300020
second: CatmullGrid_MeshPart5
- first:
33: 3300022
second: CatmullGrid_MeshPart6
- first:
33: 3300024
second: CatmullGrid_MeshPart7
- first:
33: 3300026
second: CatmullGrid_MeshPart8
- first:
33: 3300028
second: CatmullGrid_MeshPart9
- first:
33: 3300030
second: //RootNode
- first:
43: 4300000
second: CatmullGrid_MeshPart0
- first:
43: 4300002
second: CatmullGrid_MeshPart1
- first:
43: 4300004
second: CatmullGrid_MeshPart2
- first:
43: 4300006
second: CatmullGrid_MeshPart3
- first:
43: 4300008
second: CatmullGrid_MeshPart4
- first:
43: 4300010
second: CatmullGrid_MeshPart5
- first:
43: 4300012
second: CatmullGrid_MeshPart6
- first:
43: 4300014
second: CatmullGrid_MeshPart7
- first:
43: 4300016
second: CatmullGrid_MeshPart8
- first:
43: 4300018
second: CatmullGrid_MeshPart9
- first:
43: 4300020
second: CatmullGrid_MeshPart10
- first:
43: 4300022
second: CatmullGrid_MeshPart11
- first:
43: 4300024
second: CatmullGrid_MeshPart12
- first:
43: 4300026
second: CatmullGrid_MeshPart13
- first:
43: 4300028
second: CatmullGrid_MeshPart14
- first:
43: 4300030
second: CatmullGrid
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: No Name
second: {fileID: 2100000, guid: 429eef4d6d29a9d4b9bb60e38e60bc75, type: 2}
materials:
materialImportMode: 0
materialName: 0
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
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: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 0
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
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: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 0
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: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -66,7 +66,7 @@ ModelImporter:
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
useFileScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0

View file

@ -11,6 +11,7 @@ namespace UniRx.Triggers
public class ObservablePointerEnterTrigger : ObservableTriggerBase, IEventSystemHandler, IPointerEnterHandler
{
Subject<PointerEventData> onPointerEnter;
public bool SuppressDisable;
void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
{
@ -24,7 +25,8 @@ namespace UniRx.Triggers
private void OnDisable()
{
onPointerEnter = null;
if(!SuppressDisable)
onPointerEnter = null;
}
protected override void RaiseOnCompletedOnDestroy()

View file

@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &791530951415938407
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3040023561780424834}
- component: {fileID: 8539532519029615782}
- component: {fileID: 4655154266675363797}
m_Layer: 11
m_Name: Fog Patch
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3040023561780424834
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: -3148.4, y: -253.6, z: -1108.1}
m_LocalScale: {x: 1513.8295, y: 1513.8295, z: 1513.8295}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &8539532519029615782
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4655154266675363797
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 8dd249f658a914548b4890537a80eab8, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4084aa3d08e52e04f880ad13daa409b4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 8842807112802394818}
- component: {fileID: 8689774408369415534}
- component: {fileID: 5705448000916375656}
- component: {fileID: -5496574226213385675}
m_Layer: 21
m_Name: Dodecahedron
m_TagString: Untagged
@ -186,6 +187,18 @@ MonoBehaviour:
LabelDisplayMaxDistance: 500
ScanLabelContainer: {fileID: 6463386671854692106}
ScanLabel: {fileID: 3355762817961458026}
--- !u!114 &-5496574226213385675
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &306400354849379669
PrefabInstance:
m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 7449398549621940518}
- component: {fileID: 4507103896627202189}
- component: {fileID: 648083621841515580}
- component: {fileID: -5443764149998352794}
m_Layer: 21
m_Name: Hexahedron
m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &-5443764149998352794
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1190053687094253987
PrefabInstance:
m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 8747099621875196907}
- component: {fileID: 1545255963217739444}
- component: {fileID: -5409019571952974707}
- component: {fileID: -2501508196100734606}
m_Layer: 21
m_Name: Icosahedron
m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &-2501508196100734606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &3463514625940279421
PrefabInstance:
m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 946329779588188460}
- component: {fileID: 7390748043139687254}
- component: {fileID: -4611973708976329780}
- component: {fileID: -8908388773057984787}
m_Layer: 21
m_Name: Octahedron
m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &-8908388773057984787
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &2076349920387032576
PrefabInstance:
m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 4008709970769624704}
- component: {fileID: 7436534270673427838}
- component: {fileID: -6589342969031261525}
- component: {fileID: 5724758014884646323}
m_Layer: 21
m_Name: Tetrahedron
m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &5724758014884646323
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &6290826240748108471
PrefabInstance:
m_ObjectHideFlags: 0

View file

@ -306,6 +306,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
SuppressDisable: 1
--- !u!114 &2829353637824256212
MonoBehaviour:
m_ObjectHideFlags: 0

View file

@ -11,7 +11,8 @@
"id": "197ba05c-054a-44fc-8328-0d37e8ac00db",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": true
},
{
"name": "Look",
@ -19,7 +20,8 @@
"id": "323b9ea0-f916-4609-b697-322fc0ef9420",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": true
},
{
"name": "Minimap Zoom",
@ -27,7 +29,8 @@
"id": "5708685d-78bd-4d2b-8796-712704f21bfb",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Target Reticle",
@ -35,7 +38,8 @@
"id": "86f2e6cc-b895-4c55-aa19-70220df477d2",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Target Previous",
@ -43,7 +47,8 @@
"id": "2cf8e2b2-1463-463b-8f55-e79884f3767d",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Target Next",
@ -51,7 +56,8 @@
"id": "1e2bd5af-e174-4533-8c57-b04b7e9df92c",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Target Nearest",
@ -59,7 +65,8 @@
"id": "b2a42777-c22b-48f3-9e74-8dc715449845",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Toggle Heatsinks",
@ -67,7 +74,8 @@
"id": "e6c6ff6a-4ac2-4e53-a3c9-9461f52e723f",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Toggle Shield",
@ -75,7 +83,8 @@
"id": "5566504f-ee89-4eb9-9bbb-03f4b22dfe7d",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Override Shutdown",
@ -83,7 +92,8 @@
"id": "62a64686-4670-43c9-81ee-bbb8578e284b",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Ping",
@ -91,7 +101,8 @@
"id": "cfc95f69-9b8a-41d5-a071-003b4e292524",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Hide UI",
@ -99,7 +110,8 @@
"id": "1cdb2515-91e1-4895-879d-8a7347e60b21",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Tractor Beam",
@ -107,7 +119,17 @@
"id": "e61d5d8e-eaf7-449d-8d54-624e15b6c964",
"expectedControlType": "",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": true
},
{
"name": "Turn",
"type": "Value",
"id": "b93a3495-742e-4536-a9c7-57d6ab81d04c",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
@ -125,7 +147,7 @@
{
"name": "WASD",
"id": "00ca640b-d935-4593-8157-c05846ea39b3",
"path": "Dpad",
"path": "Dpad(mode=1)",
"interactions": "",
"processors": "",
"groups": "",
@ -341,6 +363,39 @@
"action": "Tractor Beam",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "1D Axis",
"id": "0a0e25af-91a6-4e29-ad62-649fdcb137bd",
"path": "1DAxis",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "negative",
"id": "8536ca60-1fed-4f29-8060-04d46cfffcab",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "positive",
"id": "19c175bf-d4e6-4626-8bee-91e0c473a94b",
"path": "<Keyboard>/e",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": false,
"isPartOfComposite": true
}
]
},
@ -354,7 +409,8 @@
"id": "add1d35f-58cd-4789-8868-f0afb51d87bc",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": true
},
{
"name": "Submit",
@ -362,7 +418,8 @@
"id": "766f9151-3f3d-4e12-8ade-ce5aacd3940f",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Cancel",
@ -370,7 +427,8 @@
"id": "9dc56d99-ed81-42c3-b38d-1a7e76688b34",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Point",
@ -378,7 +436,8 @@
"id": "dfeef3e2-b0cc-4a9c-97ea-48ab693ac37f",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Click",
@ -386,7 +445,8 @@
"id": "aae7decd-7584-44f4-87ad-09c14c406ead",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "ScrollWheel",
@ -394,7 +454,8 @@
"id": "25891af2-479b-4104-9a29-158aee22fa73",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "MiddleClick",
@ -402,7 +463,8 @@
"id": "dc9af334-4f90-46dc-9b77-f381faa04a79",
"expectedControlType": "",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "RightClick",
@ -410,7 +472,8 @@
"id": "27901940-469e-42cd-92b3-f5f787a8d1d6",
"expectedControlType": "",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Drag",
@ -418,7 +481,8 @@
"id": "0c96ec22-9571-46c8-94bf-199e70e919ed",
"expectedControlType": "Vector2",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
@ -808,7 +872,8 @@
"id": "e43f020b-dec0-43d2-a83b-1390d45819be",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Galaxy Map",
@ -816,7 +881,8 @@
"id": "d198f18c-8c55-4a31-a694-4959c763f664",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Inventory",
@ -824,7 +890,8 @@
"id": "dafe13a7-da46-408e-853e-6954e37da5c8",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Main Menu",
@ -832,7 +899,8 @@
"id": "0515c617-9dff-406f-ab3e-763971d532d3",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Input Screen",
@ -840,7 +908,8 @@
"id": "e76aa7e9-e24d-47e1-865d-ffe72ba5c1c2",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
},
{
"name": "Interact",
@ -848,7 +917,8 @@
"id": "31f7b7e1-d15e-40e8-b74f-2d0dc4195d4d",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 45
m_MipMap: 0
m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 512
m_Height: 512
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 45
m_MipMap: 0
m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 512
m_Height: 512
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 74
m_MipMap: 1
m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 2
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 512
m_Height: 512
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 45
m_MipMap: 0
m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -12,12 +12,13 @@ RenderTexture:
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 512
m_Height: 512
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 74
m_MipMap: 1
m_GenerateMips: 1
@ -25,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -35,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -12,12 +12,13 @@ RenderTexture:
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 128
m_Height: 128
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 49
m_MipMap: 0
m_GenerateMips: 1
@ -25,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -35,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 128
m_Height: 128
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 45
m_MipMap: 0
m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

BIN
Assets/Resources/Settings.asset (Stored with Git LFS)

Binary file not shown.

View file

@ -5245,7 +5245,7 @@ MonoBehaviour:
ModeOverride: 0
LensShift: {x: 0, y: 0}
GateFit: 2
m_SensorSize: {x: 1.7777778, y: 1}
m_SensorSize: {x: 1, y: 1}
m_Transitions:
m_BlendHint: 3
m_InheritPosition: 0
@ -7802,6 +7802,80 @@ MonoBehaviour:
CopyRotation: 0
PixelSnapCamera: {fileID: 0}
PixelSnapIncrement: 1
--- !u!1001 &495677244
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_RootOrder
value: 13
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.x
value: -148.1
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.z
value: -162.9
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4837153162502999620, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_Name
value: Wormhole 1
objectReference: {fileID: 0}
- target: {fileID: 4837153162502999620, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4a77c480b4bb2a148954bd57dfe91d0b, type: 3}
--- !u!1 &496438310
GameObject:
m_ObjectHideFlags: 0
@ -15623,6 +15697,7 @@ MonoBehaviour:
type: 3}
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!114 &990038541
MonoBehaviour:
m_ObjectHideFlags: 0
@ -31228,6 +31303,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8c03374f22d0a3d4882018de66894a84, type: 3}
m_Name:
m_EditorClassIdentifier:
GridMesh: {fileID: 2135526004}
GridCamera: {fileID: 1537342003}
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
@ -31871,6 +31947,89 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &2135526003
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_Name
value: CatmullGrid
objectReference: {fileID: 0}
- target: {fileID: 100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_RootOrder
value: 12
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.x
value: 1000
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.z
value: 1000
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.y
value: -7.88
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.x
value: -0.00000003774895
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2300030, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 493bb263313ccb54493188c33eaf150c, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
--- !u!4 &2135526004 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1,
type: 3}
m_PrefabInstance: {fileID: 2135526003}
m_PrefabAsset: {fileID: 0}
--- !u!114 &114477922027825946
MonoBehaviour:
m_ObjectHideFlags: 0

Binary file not shown.

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b80802908cfba8846807eff8e86a2585
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -23,10 +23,10 @@ RenderSettings:
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientIntensity: 5
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_SkyboxMaterial: {fileID: 2100000, guid: 79db663d2fbb102459f8b1caf620f8c9, type: 2}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.023674645, g: 0.04639011, b: 0.122535154, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -155,7 +155,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 815358592}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
@ -213,6 +213,96 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 87891008}
m_CullTransparentMesh: 1
--- !u!1 &307955061
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 307955065}
- component: {fileID: 307955064}
- component: {fileID: 307955063}
- component: {fileID: 307955062}
m_Layer: 5
m_Name: Click Catcher.1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!114 &307955062
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20fa7724865c6b04097615292a325dfe, type: 3}
m_Name:
m_EditorClassIdentifier:
DragDistance: 25
--- !u!114 &307955063
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &307955064
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_CullTransparentMesh: 1
--- !u!224 &307955065
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 815358592}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1001 &401779934
PrefabInstance:
m_ObjectHideFlags: 0
@ -456,7 +546,7 @@ PrefabInstance:
type: 3}
propertyPath: CancelClickCatcher
value:
objectReference: {fileID: 1618381686}
objectReference: {fileID: 307955062}
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3}
propertyPath: m_Pivot.x
@ -470,7 +560,7 @@ PrefabInstance:
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3}
propertyPath: m_RootOrder
value: 3
value: 4
objectReference: {fileID: 0}
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3}
@ -697,6 +787,21 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 686a80c9880b431b94a9b0029d39cf1f, type: 3}
m_Name:
m_EditorClassIdentifier:
PickupCount: 64
PickupPrefabs:
- {fileID: 7436534270673427838, guid: 521bfeece7dd5fd4e8f166d38493f18c, type: 3}
- {fileID: 4507103896627202189, guid: 366909b6a01d7254d8eef01c333f8e00, type: 3}
- {fileID: 7390748043139687254, guid: d2b7e9a9cd7733041b0553682e4b61af, type: 3}
- {fileID: 5705448000916375656, guid: d2cec1d8c3d94074e9d2e6088e1c02d7, type: 3}
- {fileID: 1545255963217739444, guid: f399719f41451754eba07ca072698b68, type: 3}
PickupTravelDistance: 128
PickupTravelTimeMin: 16
PickupTravelTimeMax: 32
PickupSizeMin: 0.5
PickupSizeMax: 1
ScaleExponent: 2
PickupSpawnDistanceMin: 5
PickupSpawnDistanceMax: 20
Camera: {fileID: 1153356615}
TestField: {fileID: 909026488}
Properties: {fileID: 401779935}
@ -810,6 +915,7 @@ RectTransform:
- {fileID: 1618381684}
- {fileID: 401779936}
- {fileID: 1112533349}
- {fileID: 307955065}
- {fileID: 415327856}
- {fileID: 87891009}
m_Father: {fileID: 0}
@ -840,7 +946,7 @@ PrefabInstance:
- target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6,
type: 3}
propertyPath: m_LocalScale.x
value: 3
value: 4
objectReference: {fileID: 0}
- target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6,
type: 3}
@ -921,7 +1027,7 @@ MeshCollider:
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: -5495902117074765545, guid: dd6644c1aa6c16c47bb9fea9822ce805, type: 3}
--- !u!114 &909026488
@ -936,6 +1042,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a9ee74b07ad0390459302080d186cc58, type: 3}
m_Name:
m_EditorClassIdentifier:
Camera: {fileID: 1153356615}
TestMagnitude: 0.5
Throttle:
x: 0
@ -943,9 +1050,7 @@ MonoBehaviour:
ThrottleDecay: 5
FlowSpeed: 2
FlowSpeedThrottleExponent: 1
FlowMagnitude: 2
FlowMagnitudeThrottleExponent: 2
FlowOpacityThrottleExponent: 1
WaveThrottleExponent: 0
MaxHits: 16
MagnitudeTimeScaling:
Exponent: 0.333
@ -958,6 +1063,16 @@ MonoBehaviour:
MeleeDuration: 3
MeleeAngle: 180
MeleeAngleExponent: 0.5
TendrilBaseRadius: 3
TendrilTipRadius: 0.25
TendrilExtensionExponent: 2
TendrilExtendBaseAnimationExponent: 0.5
TendrilBaseDamping: 2
TendrilTipRadiusAnimationExponent: 2
TendrilFadeExponent: 2
GrabExtendTime: 1.5
GrabEnvelopTime: 0.75
GrabPullTime: 1.5
RefractionAxis: 1
--- !u!114 &909026489
MonoBehaviour:
@ -1360,7 +1475,7 @@ Camera:
m_GameObject: {fileID: 1153356610}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_ClearFlags: 2
m_BackGroundColor: {r: 0.23584908, g: 0.23584908, b: 0.23584908, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
@ -1376,7 +1491,7 @@ Camera:
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 15
field of view: 30
orthographic: 0
orthographic size: 5
m_Depth: 0
@ -1424,7 +1539,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3}
m_Name:
m_EditorClassIdentifier:
sharedProfile: {fileID: 11400000, guid: 59a61f0cd928369448838883100e06e6, type: 2}
sharedProfile: {fileID: 11400000, guid: b80802908cfba8846807eff8e86a2585, type: 2}
isGlobal: 1
blendDistance: 0
weight: 1
@ -1511,7 +1626,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
Layers:
serializedVersion: 2
m_Bits: 1
m_Bits: 2097153
RayCamera: {fileID: 1153356615}
--- !u!114 &1618381686
MonoBehaviour:

View file

@ -143,6 +143,15 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
""processors"": """",
""interactions"": """",
""initialStateCheck"": true
},
{
""name"": ""Turn"",
""type"": ""Value"",
""id"": ""b93a3495-742e-4536-a9c7-57d6ab81d04c"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": true
}
],
""bindings"": [
@ -160,7 +169,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
{
""name"": ""WASD"",
""id"": ""00ca640b-d935-4593-8157-c05846ea39b3"",
""path"": ""Dpad"",
""path"": ""Dpad(mode=1)"",
""interactions"": """",
""processors"": """",
""groups"": """",
@ -376,6 +385,39 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
""action"": ""Tractor Beam"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": ""1D Axis"",
""id"": ""0a0e25af-91a6-4e29-ad62-649fdcb137bd"",
""path"": ""1DAxis"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""negative"",
""id"": ""8536ca60-1fed-4f29-8060-04d46cfffcab"",
""path"": ""<Keyboard>/q"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""positive"",
""id"": ""19c175bf-d4e6-4626-8bee-91e0c473a94b"",
""path"": ""<Keyboard>/e"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": false,
""isPartOfComposite"": true
}
]
},
@ -1027,6 +1069,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
m_Player_Ping = m_Player.FindAction("Ping", throwIfNotFound: true);
m_Player_HideUI = m_Player.FindAction("Hide UI", throwIfNotFound: true);
m_Player_TractorBeam = m_Player.FindAction("Tractor Beam", throwIfNotFound: true);
m_Player_Turn = m_Player.FindAction("Turn", throwIfNotFound: true);
// UI
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
@ -1118,6 +1161,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
private readonly InputAction m_Player_Ping;
private readonly InputAction m_Player_HideUI;
private readonly InputAction m_Player_TractorBeam;
private readonly InputAction m_Player_Turn;
public struct PlayerActions
{
private @AetheriaInput m_Wrapper;
@ -1135,6 +1179,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
public InputAction @Ping => m_Wrapper.m_Player_Ping;
public InputAction @HideUI => m_Wrapper.m_Player_HideUI;
public InputAction @TractorBeam => m_Wrapper.m_Player_TractorBeam;
public InputAction @Turn => m_Wrapper.m_Player_Turn;
public InputActionMap Get() { return m_Wrapper.m_Player; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
@ -1183,6 +1228,9 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
@TractorBeam.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@Turn.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
@Turn.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
@Turn.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
}
m_Wrapper.m_PlayerActionsCallbackInterface = instance;
if (instance != null)
@ -1226,6 +1274,9 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
@TractorBeam.started += instance.OnTractorBeam;
@TractorBeam.performed += instance.OnTractorBeam;
@TractorBeam.canceled += instance.OnTractorBeam;
@Turn.started += instance.OnTurn;
@Turn.performed += instance.OnTurn;
@Turn.canceled += instance.OnTurn;
}
}
}
@ -1442,6 +1493,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
void OnPing(InputAction.CallbackContext context);
void OnHideUI(InputAction.CallbackContext context);
void OnTractorBeam(InputAction.CallbackContext context);
void OnTurn(InputAction.CallbackContext context);
}
public interface IUIActions
{

View file

@ -20,6 +20,7 @@ using UnityEngine.Rendering.PostProcessing;
using UnityEngine.Serialization;
using UnityEngine.UI;
using Unity.Mathematics;
using UnityEditor.Localization.Plugins.XLIFF.V12;
using UnityEngine.EventSystems;
using static Unity.Mathematics.math;
using float2 = Unity.Mathematics.float2;
@ -294,7 +295,7 @@ public class ActionGameManager : MonoBehaviour
Input.Global.ZoneMap.performed += context =>
{
ToggleMenuTab(MenuTab.Map);
MenuMap.Position = CurrentEntity.Position.xz;
MenuMap.Position = CurrentEntity.Position.xz;
};
Input.Global.Inventory.performed += context => ToggleMenuTab(MenuTab.Inventory);
@ -457,7 +458,8 @@ public class ActionGameManager : MonoBehaviour
return slot;
}
foreach (var actionBarInput in PlayerSettings.InputSettings.ActionBarInputs.OrderBy(i=>i)) createBinding(actionBarInput);
var bindings = PlayerSettings.InputSettings.ActionBarInputs.OrderBy(i => i)
.Select(createBinding).ToList();
#endregion
@ -465,6 +467,16 @@ public class ActionGameManager : MonoBehaviour
StartGame();
//if (!PlayerSettings.InputSettings.ActionBarInputs.Any())
{
var newbinds = Enumerable.Range(0, 64)//CurrentEntity.WeaponGroups
.Zip(
bindings,
(i, slot) =>
slot.Binding = new ActionBarWeaponGroupBinding(CurrentEntity, slot, i)
);
}
ConsoleController.AddCommand("revealzones",
_ =>
{

View file

@ -337,7 +337,7 @@ public class EntityInstance : MonoBehaviour
// U coordinate between 0-1 indicates a hit that didn't land directly on a hardpoint
// Find the 2D position of the hit scaled to the schematic
float2 hitPos = float2.zero;
if (hardpointIndex < 0)
if (hardpointIndex < 0 || hardpointIndex >= hullData.Hardpoints.Count)
{
hitPos = float2(hit.TexCoord.x * hullData.Shape.Width, hit.TexCoord.y * hullData.Shape.Height);
// Search all schematic border cells for the cell which is closest to the hit position

View file

@ -4,31 +4,28 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using Unity.Mathematics;
using UnityEngine.Animations;
using static Unity.Mathematics.math;
public class FieldDriver : MonoBehaviour
{
public Camera Camera;
public float2 Push;
public float FrontTwist;
public float RearTwist;
[Inspectable]
public float TestMagnitude;
public float2 Throttle;
[Inspectable]
public float ThrottleDecay = 1;
[Inspectable]
public float FlowSpeed;
[Inspectable]
public float FlowSpeedThrottleExponent;
[Inspectable]
public float FlowMagnitude;
[Inspectable]
public float FlowMagnitudeThrottleExponent;
[Inspectable]
public float FlowOpacityThrottleExponent;
public float WaveThrottleExponent;
public int MaxHits;
[Inspectable]
public ExponentialCurve MagnitudeTimeScaling;
[Inspectable]
[Inspectable, InspectorHeader("Melee")]
public float MeleeRange;
[Inspectable]
public float MeleeRangeExponent;
@ -42,16 +39,60 @@ public class FieldDriver : MonoBehaviour
public float MeleeAngle;
[Inspectable]
public float MeleeAngleExponent;
[Inspectable, InspectorHeader("Tendril")]
public float TendrilBaseRadius = 3;
[Inspectable]
public Axis RefractionAxis = Axis.X;
public float TendrilTipRadius = .1f;
[Inspectable]
public float TendrilExtensionExponent = .75f;
[Inspectable]
public float TendrilExtendBaseAnimationExponent = .5f;
[Inspectable]
public float TendrilBaseDamping = 2;
[Inspectable]
public float TendrilTipRadiusAnimationExponent = 2f;
[Inspectable]
public float TendrilFadeExponent = 2;
// [Inspectable]
// public float GrabScaleAnimationExponent = .5f;
[Inspectable, InspectorHeader("Grab")]
public float GrabExtendTime;
[Inspectable]
public float GrabEnvelopTime;
[Inspectable]
public float GrabPullTime;
[Inspectable]
public RectTransform.Axis RefractionAxis = RectTransform.Axis.Horizontal;
private Material _field;
private ComputeBuffer _hitBuffer;
private List<FieldHit> _hits = new List<FieldHit>();
private float _pushWaveOffset;
private double2 _throttle;
private float _waveOffset;
private float _meleeTime;
private bool _meleeActive;
private MeshCollider _collider;
private Transform _grabObject;
private Vector3 _grabObjectStartPos;
private Vector3 _grabObjectStartTendrilBasePos;
private Vector3 _grabObjectEndPos;
private Vector3 _grabObjectVelocity;
private float _grabObjectScale;
private float _grabTime;
private GrabPhase _grabPhase;
private Vector3 _tendrilBasePos;
private Vector3 _tendrilBendTarget;
private Vector3 _tendrilTargetPos;
private float _fadePoint;
private enum GrabPhase
{
Extend,
Envelop,
Pull
}
private struct FieldHit
{
@ -63,6 +104,7 @@ public class FieldDriver : MonoBehaviour
void Start()
{
_collider = GetComponent<MeshCollider>();
_field = GetComponent<MeshRenderer>().material;
var clickableCollider = GetComponent<ClickableCollider>();
if(clickableCollider!=null)
@ -80,12 +122,12 @@ public class FieldDriver : MonoBehaviour
if (_hits.Count >= MaxHits) return;
var hit = new FieldHit
{
Position = normalize(transform.InverseTransformPoint(position)),
Position = Vector3.Scale(normalize(transform.InverseTransformPoint(position)), transform.localScale),
Direction = normalize(transform.rotation * direction),
Magnitude = magnitude,
Time = 0
};
Debug.Log($"Received hit: Position={hit.Position}, Direction={hit.Direction}");
//Debug.Log($"Received hit: Position={hit.Position}, Direction={hit.Direction}");
_hits.Add(hit);
}
@ -97,8 +139,39 @@ public class FieldDriver : MonoBehaviour
_meleeTime = 0;
}
public bool CanGrab => _grabObject == null;
public void GrabObject(Transform t, Vector3 v)
{
_grabPhase = GrabPhase.Extend;
_grabObject = t;
_grabObjectStartPos = t.position;
_grabObjectVelocity = v;
_grabObjectScale = t.localScale.x;
_tendrilBasePos = _grabObjectStartTendrilBasePos = _collider.ClosestPoint(_grabObjectStartPos);
_fadePoint = .999f;
}
void Update()
{
var pushMag = min(length(Push), 1);
_waveOffset = frac(_waveOffset + Time.deltaTime * FlowSpeed * pow(max(pushMag, max(abs(FrontTwist), abs(RearTwist))), FlowSpeedThrottleExponent));
var refractionRotation = Matrix4x4.Rotate(Camera.transform.rotation).inverse;
if (RefractionAxis == RectTransform.Axis.Vertical) refractionRotation =
Matrix4x4.Rotate(Quaternion.Euler(90, 0, 0)) * refractionRotation;
_field.SetFloat("_WaveOffset", _waveOffset * PI * 2);
_field.SetFloat("_Push", pushMag);
_field.SetVector("_PushDirection", new Vector4(-Push.x, 0, -Push.y));
_field.SetFloat("_TwistFront", FrontTwist);
_field.SetFloat("_TwistRear", RearTwist);
_field.SetVector("_InverseScale", new Vector4(1/transform.localScale.x,1/transform.localScale.y,1/transform.localScale.z));
_field.SetMatrix("_ReflRotate", refractionRotation);
for (int i = 0; i < _hits.Count; i++)
{
var hit = _hits[i];
@ -110,38 +183,123 @@ public class FieldDriver : MonoBehaviour
i--;
}
}
_hitBuffer.SetData(_hits);
_field.SetBuffer("_Hits", _hitBuffer);
_field.SetInt("_HitCount", _hits.Count);
if (_meleeActive)
{
_meleeTime += Time.deltaTime / MeleeDuration;
if (_meleeTime > 1)
if (_meleeTime < 1)
{
_field.SetVector("_MeleeDirection", Quaternion.AngleAxis(sign(_meleeTime*2-1) * MeleeAngle * pow(abs(_meleeTime * 2 - 1), MeleeAngleExponent), Vector3.up) * -Vector3.forward);
_field.SetFloat("_MeleeDisplacement", pow(1 - 2 * abs(_meleeTime - .5f), MeleeRangeExponent) * MeleeRange);
_field.SetFloat("_MeleeShape", MeleeShaping);
_field.SetFloat("_MeleeFlattening", MeleeFlatness);
}
else
{
_meleeActive = false;
_field.SetFloat("_MeleeDisplacement", 0);
}
}
_throttle = AetheriaMath.Damp(_throttle, Throttle, ThrottleDecay, Time.deltaTime);
var throttleDir = (float2) normalize(_throttle);
var throttleMag = min(length(_throttle), 1);
if(_grabObject != null)
{
_grabTime += Time.deltaTime / _grabPhase switch
{
GrabPhase.Extend => GrabExtendTime,
GrabPhase.Envelop => GrabEnvelopTime,
GrabPhase.Pull => GrabPullTime,
_ => throw new ArgumentOutOfRangeException()
};
if (_grabTime > 1)
{
_grabTime = 0;
if (_grabPhase == GrabPhase.Envelop)
{
_grabObjectEndPos = _grabObject.position;
}
if (_grabPhase == GrabPhase.Pull)
{
Destroy(_grabObject.gameObject);
_grabObject = null;
_field.SetFloat("_TendrilInfluence", 0);
}
else _grabPhase++;
}
_pushWaveOffset = frac(_pushWaveOffset + Time.deltaTime * FlowSpeed * (float) pow(throttleMag, FlowSpeedThrottleExponent));
if (_grabObject != null)
{
_tendrilBasePos = AetheriaMath.Damp(_tendrilBasePos, _grabObject.position, TendrilBaseDamping, Time.deltaTime);
switch (_grabPhase)
{
case GrabPhase.Extend:
_tendrilBendTarget = _grabObjectStartPos;
_grabObject.position += _grabObjectVelocity * Time.deltaTime;
_tendrilTargetPos = lerp(
lerp(_grabObjectStartTendrilBasePos, _grabObjectStartPos, _grabTime),
lerp(_grabObjectStartPos, _grabObject.position, _grabTime),
pow(_grabTime, TendrilExtensionExponent));
_field.SetFloat("_TendrilInfluence", pow(_grabTime, TendrilExtendBaseAnimationExponent));
_field.SetFloat("_TendrilSize", lerp(TendrilBaseRadius/2,TendrilBaseRadius,pow(_grabTime, TendrilExtendBaseAnimationExponent)));
_field.SetFloat("_TendrilRadius", _grabObjectScale * pow(_grabTime, TendrilTipRadiusAnimationExponent) * TendrilTipRadius);
break;
case GrabPhase.Envelop:
_tendrilBendTarget = _grabObjectStartPos;
_tendrilTargetPos = _grabObject.position += _grabObjectVelocity * Time.deltaTime * (1-_grabTime);
_field.SetFloat("_TendrilInfluence", 1);
_field.SetFloat("_TendrilSize", TendrilBaseRadius);
_field.SetFloat("_TendrilRadius", _grabObjectScale * TendrilTipRadius);
break;
case GrabPhase.Pull:
_tendrilTargetPos = _grabObject.position = lerp(_grabObjectEndPos, transform.position, _grabTime*_grabTime);
_tendrilBendTarget = lerp(_grabObjectStartPos, _grabObjectEndPos, _grabTime*_grabTime);
if (_fadePoint > .99 && transform.InverseTransformPoint(_grabObject.position).sqrMagnitude < 1)
_fadePoint = _grabTime;
_field.SetFloat("_TendrilInfluence", pow(smoothstep(1, _fadePoint, _grabTime), TendrilFadeExponent));
_field.SetFloat("_TendrilSize", TendrilBaseRadius);
_field.SetFloat("_TendrilRadius", _grabObjectScale * TendrilTipRadius);
break;
default:
throw new ArgumentOutOfRangeException();
}
_field.SetVector("_TendrilBase", Vector3.Scale(transform.InverseTransformPoint(_tendrilBasePos).normalized, transform.localScale));
_field.SetVector("_TendrilBend", Vector3.Scale(transform.InverseTransformPoint(_tendrilBendTarget), transform.localScale));
_field.SetVector("_TendrilTarget", Vector3.Scale(transform.InverseTransformPoint(_tendrilTargetPos), transform.localScale));
}
}
}
var refractionRotation = Matrix4x4.Rotate(transform.rotation);
if (RefractionAxis == Axis.Y) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(90, 0, 0)) * refractionRotation;
if (RefractionAxis == Axis.X) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(0, 90, 0)) * refractionRotation;
_hitBuffer.SetData(_hits);
_field.SetBuffer("_Hits", _hitBuffer);
_field.SetInt("_HitCount", _hits.Count);
_field.SetFloat("_PushWaveMagnitude", FlowMagnitude * (float) pow(throttleMag, FlowMagnitudeThrottleExponent));
_field.SetFloat("_PushOpacity", (float) pow(throttleMag, FlowOpacityThrottleExponent));
_field.SetFloat("_PushWaveOffset", _pushWaveOffset);
_field.SetVector("_PushDirection", new Vector4(throttleDir.x,0,throttleDir.y));
_field.SetVector("_InverseScale", new Vector4(1/transform.localScale.x,1/transform.localScale.y,1/transform.localScale.z));
_field.SetMatrix("_ReflRotate", refractionRotation);
_field.SetVector("_MeleeDirection", Quaternion.AngleAxis(sign(_meleeTime*2-1) * MeleeAngle * pow(abs(_meleeTime * 2 - 1), MeleeAngleExponent), Vector3.up) * -Vector3.forward);
_field.SetFloat("_MeleeDisplacement", pow(1 - 2 * abs(_meleeTime - .5f), MeleeRangeExponent) * MeleeRange);
_field.SetFloat("_MeleeShape", MeleeShaping);
_field.SetFloat("_MeleeFlattening", MeleeFlatness);
private float almostIdentity( float x )
{
return x*x*(2.0f-x);
}
private float smooth(float t)
{
return t * t * (3.0f - 2.0f * t);
}
private const int GIZMO_STEPS = 16;
private void OnDrawGizmosSelected()
{
if (_grabObject != null)
{
Vector3 previous = _tendrilBasePos;
for (int i = 1; i <= GIZMO_STEPS; i++)
{
var l = (float)i / GIZMO_STEPS;
var next = AetheriaMath.GetQuadraticSplinePosition(_tendrilBasePos, _tendrilBendTarget, _tendrilTargetPos, l);
Gizmos.DrawLine(previous, next);
previous = next;
}
}
}
private void OnDestroy()
{
_hitBuffer.Dispose();
}
}

View file

@ -4,7 +4,7 @@ MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
executionOrder: 300
icon: {instanceID: 0}
userData:
assetBundleName:

View file

@ -26,9 +26,11 @@ public class GridObject : MonoBehaviour
void Update()
{
var t = transform;
t.localRotation = Quaternion.Euler(sin(Time.time - _timeOffset * RotationSpeed) * 90, 0, cos(Time.time - _timeOffset * RotationSpeed) * 90);
if (Zone == null) return;
var t = transform;
var position = t.position;
var gridHeight = Zone.GetHeight(position.Flatland()) + GridOffset;
Velocity += Vector3.up * (sign(gridHeight - position.y) * GridAttraction * Time.deltaTime);
@ -44,6 +46,5 @@ public class GridObject : MonoBehaviour
_selfVelocity *= max(0, 1 - Drag * Time.deltaTime);
t.position = position + (Velocity + new Vector3(_selfVelocity.x, 0, _selfVelocity.y)) * Time.deltaTime;
t.localRotation = Quaternion.Euler(sin(Time.time - _timeOffset * RotationSpeed) * 90, 0, cos(Time.time - _timeOffset * RotationSpeed) * 90);
}
}

View file

@ -36,6 +36,6 @@ public class ItemPickup : MonoBehaviour
private void OnDestroy()
{
ZoneRenderer.DestroyLoot(this);
ZoneRenderer?.DestroyLoot(this);
}
}

View file

@ -1,147 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// using System;
// using System.Collections;
// using System.Collections.Generic;
// using System.Linq;
// using MessagePack;
// using Newtonsoft.Json;
// using Unity.Mathematics;
// using static Unity.Mathematics.math;
//
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class HaulingControllerData : ControllerData
// {
// [InspectableField, JsonProperty("targetDistance"), Key(6)]
// public float DockTime = 2;
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new HaulingController(context, this, entity, item);
// }
// }
//
// public class HaulingController : ControllerBase<HaulingTask>, IBehavior, IPersistentBehavior
// {
// private HaulingControllerData _data;
// private EquippedItem Item { get; }
//
// private bool _taskStarted;
// private int _itemsDelivered;
// private int _itemsCarried;
// private SimpleCommodity _simpleCommodityDelivery;
// private List<CraftedItemInstance> _craftedItemDelivery = new List<CraftedItemInstance>();
//
// public HaulingController(ItemManager itemManager, HaulingControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new bool Execute(float delta)
// {
// if (Task != null)
// {
// if (!_taskStarted)
// {
// MoveTo(Task.Origin, true, OnPickup);
// //MoveTo(haulingTask.Zone, OnOriginZoneArrival);
// _taskStarted = true;
// }
// }
// return base.Execute(delta);
// }
//
// // void OnOriginZoneArrival()
// // {
// // var haulingTask = _context.ItemData.Get<HaulingTask>(Task);
// //
// // _entity.SetMessage("Entering pickup phase.");
// //
// // MoveTo(_context.ItemData.Get<Entity>(haulingTask.Origin), true, OnPickup);
// // }
//
// void OnPickup()
// {
// Entity.SetParent(Task.Origin);
//
// _itemsCarried = Task.Origin.TryTransferItems(Entity, Task.ItemType, Task.Quantity - _itemsDelivered);
//
// if (_itemsCarried == 0)
// {
// FinishTask();
// return;
// }
//
// Wait(_data.DockTime, OnItemObtained);
// }
//
// void OnItemObtained()
// {
// Entity.SetMessage("Entering delivery phase.");
//
// MoveTo(Task.Target, true, OnDelivery);
// //MoveTo(target.Zone.Data.ID, OnTargetZoneArrival);
// }
//
// // void OnTargetZoneArrival()
// // {
// // var haulingTask = _context.ItemData.Get<HaulingTask>(Task);
// //
// // MoveTo(_context.ItemData.Get<Entity>(haulingTask.Target), true, OnDelivery);
// // }
//
// void OnDelivery()
// {
// Entity.SetParent(Task.Target);
//
// var itemsDelivered = Entity.TryTransferItems(Task.Target, Task.ItemType, _itemsCarried);
// _itemsCarried -= itemsDelivered;
// _itemsDelivered += itemsDelivered;
//
// Wait(_data.DockTime, () =>
// {
// // We were unable to transfer all onboard items to target entity, cargo is probably full. Bring back the surplus and end the mission
// if(_itemsCarried > 0)
// MoveTo(Task.Origin, true, ReturnSurplusToOrigin);
// // We have delivered the target quantity of items, end the mission
// else if(_itemsDelivered >= Task.Quantity)
// FinishTask();
// // We aren't done yet. Resetting the task will make us go for another delivery run
// else
// _taskStarted = false;
// });
// }
//
// void ReturnSurplusToOrigin()
// {
// Entity.SetParent(Task.Origin);
//
// Entity.TryTransferItems(Task.Origin, Task.ItemType, _itemsCarried);
//
// Wait(_data.DockTime, OnItemObtained);
//
// FinishTask();
// }
//
// public PersistentBehaviorData Store()
// {
// return new HaulingControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var towingControllerPersistence = data as HaulingControllerPersistence;
// Task = towingControllerPersistence.Task;
// }
// }
//
// public class HaulingControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public HaulingTask Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: e8c5153aa2579174c901c552bfb495a4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,141 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class MiningControllerData : ControllerData
// {
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new MiningController(context, this, entity, item);
// }
// }
//
// public class MiningController : ControllerBase<Mining>, IBehavior, IPersistentBehavior, IInitializableBehavior
// {
//
// private MiningControllerData _data;
// private EquippedItem Item { get; }
// private bool _taskStarted;
// private int _asteroid = -1;
// private MiningTool _miningTool;
// private Switch _toolSwitch;
//
// public MiningController(ItemManager itemManager, MiningControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new void Initialize()
// {
// // _miningTool = Entity.GetBehavior<MiningTool>();
// // _toolSwitch = Entity.GetSwitch<MiningTool>();
// base.Initialize();
// }
//
// public new bool Execute(float delta)
// {
// // if (Task != null)
// // {
// // if (!_taskStarted)
// // {
// // NextAsteroid();
// // _taskStarted = true;
// // }
// // else
// // {
// // if (!Moving)
// // {
// // if (_entity.OccupiedCapacity < _entity.Capacity - 1)
// // {
// // var asteroidTransform = Zone.GetAsteroidTransform(Task.Asteroids, _asteroid);
// // if (length(_entity.Position - asteroidTransform.xy) - asteroidTransform.w > _miningTool.Range)
// // {
// // _entity.SetMessage("Moving to target asteroid.");
// // MoveTo(() => Zone.GetAsteroidTransform(Task.Asteroids, _asteroid).xy,
// // () => Zone.GetAsteroidVelocity(Task.Asteroids, _asteroid));
// // _toolSwitch.Activated = false;
// // }
// // else
// // {
// // if (Zone.AsteroidExists(Task.Asteroids, _asteroid))
// // {
// // _miningTool.AsteroidBelt = Task.Asteroids;
// // _miningTool.Asteroid = _asteroid;
// // _toolSwitch.Activated = true;
// // Aim.Objective = Zone.GetAsteroidTransform(Task.Asteroids, _asteroid).xy;
// // Aim.Update(delta);
// // }
// // else NextAsteroid();
// // }
// // }
// // else
// // {
// // _entity.SetMessage("Out of cargo space. Returning home to offload cargo.");
// // GoHome(OnArriveHome);
// // }
// // }
// // }
// // }
// return base.Execute(delta);
// }
//
// // private void OnArriveHome()
// // {
// // var homeEntity = _context.ItemData.Get<Entity>(HomeEntity);
// // foreach (var item in _entity.Cargo
// // .Select(id => _context.ItemData.Get<ItemInstance>(id))
// // .Where(item => item is SimpleCommodity)
// // .Cast<SimpleCommodity>()
// // .ToArray())
// // {
// // int quantity = min((int) ((homeEntity.Capacity - homeEntity.OccupiedCapacity) / _context.GetData(item).Size), item.Quantity);
// // var newItem = _entity.RemoveCargo(item, quantity);
// // homeEntity.AddCargo(newItem);
// //
// // if (quantity < item.Quantity)
// // {
// // homeEntity.SetMessage("Colony is out of cargo space. Closing Mining Task.");
// // FinishTask();
// // _taskStarted = false;
// // return;
// // }
// // }
// // }
//
// private void NextAsteroid()
// {
// _asteroid = Zone.NearestAsteroid(Task.Asteroids, Entity.Position.xz);
// Entity.SetMessage("Selecting new asteroid.");
// }
//
// public PersistentBehaviorData Store()
// {
// return new MiningControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var miningControllerPersistence = data as MiningControllerPersistence;
// Task = miningControllerPersistence.Task;
// }
// }
//
// public class MiningControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public Mining Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b476455dca4333e4da76388aae46ac5e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,56 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System.Collections.Generic;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn)]
// public class ParticleEffectData : BehaviorData
// {
// [InspectablePrefab, JsonProperty("Particles"), Key(1)]
// public string ParticlesPrefab;
//
// [InspectableField, JsonProperty("thrust"), Key(2)]
// public bool AreaEmitter;
//
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new ParticleEffect(context, this, entity, item);
// }
// }
//
// public class ParticleEffect : IBehavior, IAlwaysUpdatedBehavior
// {
// private ParticleEffectData _data;
//
// public Entity Entity { get; }
// public EquippedItem Item { get; }
// public ItemManager Context { get; }
//
// public BehaviorData Data => _data;
//
// public float Emission { get; private set; }
//
// public ParticleEffect(ItemManager context, ParticleEffectData data, Entity entity, EquippedItem item)
// {
// Context = context;
// _data = data;
// Entity = entity;
// Item = item;
// }
//
// public float Execute(float delta, float input)
// {
// Emission = saturate(input);
// return input;
// }
//
// public void Update(float delta)
// {
// Emission = 0;
// }
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3c26dc8102d619a429a178bc6670242d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,104 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class TowingControllerData : ControllerData
// {
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new TowingController(context, this, entity, item);
// }
// }
//
// public class TowingController : ControllerBase<StationTowing>, IBehavior, IPersistentBehavior
// {
//
// private TowingControllerData _data;
// private EquippedItem Item { get; }
// private bool _taskStarted;
//
// public TowingController(ItemManager itemManager, TowingControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new bool Execute(float delta)
// {
// if (Task != null)
// {
// if (!_taskStarted)
// {
// MoveTo(Task.Station, true, OnPickup);
// _taskStarted = true;
// }
// }
// return base.Execute(delta);
// }
//
// // void OnZoneArrival()
// // {
// // var towingTask = _context.ItemData.Get<StationTowing>(Task);
// //
// // _entity.SetMessage("Entering pickup phase.");
// //
// // MoveTo(_context.ItemData.Get<Entity>(towingTask.Station), true, OnPickup);
// // }
//
// void OnPickup()
// {
// Task.Station.SetParent(Entity);
//
// Entity.SetMessage("Entering delivery phase.");
//
// MoveTo(() =>
// {
// var orbitParent = Zone.GetOrbitPosition(Task.OrbitParent);
// var parentToUs = Entity.Position.xz - orbitParent;
// return orbitParent + normalize(parentToUs) * Task.OrbitDistance;
// }, () => Zone.GetOrbitVelocity(Task.OrbitParent), OnDelivery);
// }
//
// void OnDelivery()
// {
// Task.Station.RemoveParent();
//
// Entity.SetMessage("Target delivered. Returning Home.");
//
// var orbit = Zone.CreateOrbit(Task.OrbitParent, Entity.Position.xz);
// Task.Station.OrbitData = orbit.ID;
//
// FinishTask();
// _taskStarted = false;
// }
//
// public PersistentBehaviorData Store()
// {
// return new TowingControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var towingControllerPersistence = data as TowingControllerPersistence;
// Task = towingControllerPersistence.Task;
// }
// }
//
// public class TowingControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public StationTowing Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: de134a549a7d86f43a3590b78a2edeee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -136,3 +136,11 @@ public class OrderAttribute : Attribute
Order = order;
}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = true, Inherited = true)]
public class InspectorHeaderAttribute : Attribute
{
public readonly string header;
public InspectorHeaderAttribute(string header) => this.header = header;
}

View file

@ -12,7 +12,8 @@ public class ZoneEnvironment
[JsonProperty("nebula"), Key(0)] public NebulaSettings Nebula;
[JsonProperty("flow"), Key(1)] public FlowSettings Flow;
[JsonProperty("noise"), Key(2)] public NoiseSettings Noise;
[JsonProperty("lighting"), Key(2)] public AmbientLightingSettings Lighting;
[JsonProperty("lighting"), Key(3)] public AmbientLightingSettings Lighting;
[JsonProperty("grid"), Key(4)] public GridSettings Grid;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
@ -33,6 +34,13 @@ public class NebulaSettings
[JsonProperty("safetyDistance"), Key(10)] public float SafetyDistance;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class GridSettings
{
[JsonProperty("enabled"), Key(0)] public bool Enabled;
[JsonProperty("offset"), Key(1)] public float Offset;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class AmbientLightingSettings
{
@ -50,7 +58,7 @@ public class FlowSettings
[JsonProperty("scrollSpeed"), Key(2)] public float GlobalScrollSpeed;
[JsonProperty("period"), Key(3)] public float Period;
[JsonProperty("amplitudeSlope"), Key(4)] public float SlopeAmplitude;
[JsonProperty("amplitudeSwirl"), Key(4)] public float SwirlAmplitude;
[JsonProperty("amplitudeSwirl"), Key(5)] public float SwirlAmplitude;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
@ -151,4 +159,3 @@ public class RadialWaveBrush : TextureBrush
return cos((ang + Phase.x) * Frequency.x * PI + (pow(dist, WaveExponent) + Phase.y) * Frequency.y);
}
}

View file

@ -523,7 +523,6 @@ public class Galaxy
{
MinHeap<DijkstraVertex> unsearchedNodes = new MinHeap<DijkstraVertex>();
unsearchedNodes.PushObj(new DijkstraVertex{Zone = source}, 0);
//SortedList<float,DijkstraVertex> members = new SortedList<float,DijkstraVertex>{{0, new DijkstraVertex{Zone = source}}};
var searched = new HashSet<GalaxyZone>();
while (true)
{

View file

@ -1,30 +1,112 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Unity.Mathematics;
using static Unity.Mathematics.math;
using Random = UnityEngine.Random;
public class FieldTester : MonoBehaviour
{
public int PickupCount;
public ItemPickup[] PickupPrefabs;
public float PickupTravelDistance;
public float PickupTravelTimeMin;
public float PickupTravelTimeMax;
public float PickupSizeMin;
public float PickupSizeMax;
public float ScaleExponent;
public float PickupSpawnDistanceMin;
public float PickupSpawnDistanceMax;
public Camera Camera;
public FieldDriver TestField;
public PropertiesPanel Properties;
private AetheriaInput _input;
private bool _forceThrust;
private float _throttleDecay = 2;
private bool _directionalPush;
private float _twistFront;
private float _twistRear;
private List<(float lerp, float time, Transform transform)> _pickups = new List<(float lerp, float time, Transform transform)>();
private void Start()
{
_input = new AetheriaInput();
_input.Player.Enable();
Properties.AddField("Time Scale", () => Time.timeScale, f => Time.timeScale = f, 0, 2);
Properties.AddField("FOV", () => Camera.fieldOfView, f => Camera.fieldOfView = f, 15, 45);
Properties.AddButton("Melee", () => TestField.Melee());
Properties.AddField("Force Thrust", () => _forceThrust, b => _forceThrust = b);
Properties.AddField("Directional Push", () => _directionalPush, b => _directionalPush = b);
Properties.AddField("Throttle Decay", () => _throttleDecay, f => _throttleDecay = f);
Properties.Inspect(TestField, true, true);
Properties.AddProperty("Current Hits", () => TestField.HitCount.ToString());
Properties.AddProperty("Push X", () => $"{(int)(TestField.Push.x * 100)}%");
Properties.AddProperty("Push Y", () => $"{(int)(TestField.Push.y * 100)}%");
Properties.AddProperty("Front Twist", () => $"{(int)(TestField.FrontTwist * 100)}%");
Properties.AddProperty("Rear Twist", () => $"{(int)(TestField.RearTwist * 100)}%");
for (int i = 0; i < PickupCount; i++)
{
var l = (float)i / PickupCount;
var pickup = Instantiate(PickupPrefabs[(int)(l * PickupPrefabs.Length)], transform);
var i1 = i;
var click = pickup.GetComponent<ClickableCollider>();
click.OnClick += (collider, data, ray, hit) =>
{
if (!TestField.CanGrab) return;
click.Clear();
var p = _pickups[i1];
var travelTime = lerp(PickupTravelTimeMin, PickupTravelTimeMax, l);
TestField.GrabObject(p.transform, Vector3.forward * (PickupTravelDistance / travelTime));
p.transform = null;
_pickups[i1] = p;
};
pickup.ScanLabelContainer.gameObject.SetActive(false);
pickup.enabled = false;
var pickupTransform = pickup.transform;
var time = Random.value;
var circle = Random.insideUnitCircle.normalized * Random.Range(PickupSpawnDistanceMin,PickupSpawnDistanceMax);
pickupTransform.position = new Vector3(circle.x,circle.y, (time-.5f)*PickupTravelDistance);
_pickups.Add((l, time, pickupTransform));
}
}
private void Update()
{
TestField.Throttle = _forceThrust ? float2(0,1) : _input.Player.Move.ReadValue<Vector2>();
var move = _forceThrust ? float2(0,1) : (float2)_input.Player.Move.ReadValue<Vector2>();
var turn = _input.Player.Turn.ReadValue<float>();
if (_directionalPush)
{
TestField.Push = AetheriaMath.Damp(TestField.Push, move, _throttleDecay, Time.deltaTime);
TestField.FrontTwist = AetheriaMath.Damp(TestField.FrontTwist,
turn,
_throttleDecay, Time.deltaTime);
TestField.RearTwist = AetheriaMath.Damp(TestField.RearTwist,
turn,
_throttleDecay, Time.deltaTime);
}
else
{
TestField.Push = AetheriaMath.Damp(TestField.Push, float2(0,move.y), _throttleDecay, Time.deltaTime);
TestField.FrontTwist = AetheriaMath.Damp(TestField.FrontTwist,
clamp(turn + move.x, -1, 1) * (1+min(move.y,0)),
_throttleDecay, Time.deltaTime);
TestField.RearTwist = AetheriaMath.Damp(TestField.RearTwist,
clamp(turn - move.x, -1, 1) * (1+min(-move.y,0)),
_throttleDecay, Time.deltaTime);
}
for (var i = 0; i < _pickups.Count; i++)
{
var (l, time, t) = _pickups[i];
if (t == null) continue;
time = frac(time + Time.deltaTime / lerp(PickupTravelTimeMin, PickupTravelTimeMax, l));
t.localScale = Vector3.one * lerp(PickupSizeMin, PickupSizeMax, l) * Zone.PowerPulse(time - .5f, ScaleExponent);
t.position = new Vector3(t.position.x, t.position.y, (time - .5f) * PickupTravelDistance);
_pickups[i] = (l, time, t);
}
}
}

View file

@ -466,7 +466,7 @@ public class PropertiesPanel : MonoBehaviour
Transform dragObject = null;
weaponGroups.OnBeginDragAsObservable().Subscribe(x =>
{
//Debug.Log($"Began dragging weapon group {x.group}");
Debug.Log($"Began dragging weapon group {x.group}");
GameManager.BeginDrag(new WeaponGroupDragObject(x.group));
dragObject = Instantiate(weaponGroups.Groups[x.group], DragParent, true).transform;
dragOffset = (Vector2)dragObject.position - x.pointerEventData.position;
@ -477,7 +477,7 @@ public class PropertiesPanel : MonoBehaviour
});
weaponGroups.OnEndDragAsObservable().Subscribe(x =>
{
//Debug.Log($"Ended dragging weapon group {x.group}");
Debug.Log($"Ended dragging weapon group {x.group}");
GameManager.EndDrag();
Destroy(dragObject.gameObject);
});

View file

@ -18,6 +18,7 @@ using static Unity.Mathematics.noise;
[RequireComponent( typeof( Camera ) )]
public class VolumeSampling : MonoBehaviour
{
public Transform GridMesh;
public Camera GridCamera;
public GameSettings Settings;
@ -49,6 +50,13 @@ public class VolumeSampling : MonoBehaviour
var environment = ActionGameManager.Instance?.CurrentEnvironment ?? Settings.DefaultEnvironment;
if (GridMesh != null)
{
GridMesh.gameObject.SetActive(environment.Grid.Enabled);
GridMesh.position = new Vector3(_gridTransform.position.x, environment.Grid.Offset, _gridTransform.position.z);
GridMesh.localScale = new Vector3(GridCamera.orthographicSize, 1, GridCamera.orthographicSize);
}
// Volumetric sampling parameters are used by several shaders
Shader.SetGlobalTexture("_NebulaSurfaceHeight", NebulaSurfaceHeight);
Shader.SetGlobalTexture("_NebulaPatchHeight", NebulaPatchHeight);

View file

@ -531,6 +531,7 @@ public class ZoneRenderer : MonoBehaviour
var distance = length(difference);
entityInstance.CompassIcon.gameObject.SetActive(
PerspectiveEntity.EntityInfoGathered.ContainsKey(entityInstance.Entity) &&
PerspectiveEntity.EntityInfoGathered[entityInstance.Entity] > Settings.GameplaySettings.TargetDetectionInfoThreshold &&
distance > _minimapDistance);
entityInstance.CompassIcon.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg - 90);

View file

@ -107,7 +107,7 @@ Category {
//
// Note that there are no random points at all, no loops, and virtually no setup, yet the
// pattern appears random anyway.
float m(float2 p){
float cells(float2 p){
// Offset - used for animation. Put in as an afterthought, so probably needs more
// tweaking, but it works well enough for the purpose of this demonstration.
@ -139,7 +139,7 @@ Category {
fixed4 frag (v2f i) : SV_Target
{
float dist = length(i.texcoord - float2(.5,.5));
return _Depth * powerPulse(dist * 2,_Power) * m(i.texcoord1.xy*_Frequency);
return _Depth * powerPulse(dist * 2,_Power) * cells(i.texcoord1.xy*_Frequency);
}
ENDCG
}

View file

@ -11,36 +11,59 @@ Shader "Aetheria/Field"
Properties
{
_Displacement("Max Displacement", Range(0, 1.0)) = 0.3
_SubdivisionAmount("Subivision Amount", Range(1, 10)) = 1
// _Color("Color", Color) = (1,1,1,1)
// _Metallic("Metallic", Range(0, 1)) = 1
// _Gloss("Gloss", Range(0, 1)) = 0.8
_Ambient_Multiplier("Ambient Multiplier", Float) = 5
_SubdivisionAmount("Subivision Amount", Range(1, 12)) = 1
_Color("Color", Color) = (1,1,1,1)
_EmissionColor ("Emission Color", Color) = (1,1,1,1)
_Emission ("Emission Strength", Float) = 0
_EmissionFresnel ("Emission Fresnel", Float) = 1.0
_Background ("Background", CUBE) = "" {}
_BackgroundFresnel ("Background Fresnel", Float) = 1.0
_BackgroundBlur ("Background Blur", Float) = 2
_PushWaveMagnitude ("Push Magnitude", Float) = .5
_PushWaveFrequency ("Push Frequency", Float) = 2
_PushWaveRangeExponent ("Push Range Exponent", Float) = 2
_PushWaveEnvelopeExponent ("Push Envelope Exponent", Float) = 2
_PushWaveExponent ("Push Wave Exponent", Float) = 2
_PushWaveRange ("Push Range", Range(0,3.141592654)) = 1
_PushWaveOffset ("Push Time", Float) = .5
_PushDirection ("Push Direction", Vector) = (0,0,1)
_PushOpacity ("Push Opacity", Range(0,1)) = 1
_PushOpacityRangeMin ("Push Opacity Range Start", Range(0,1)) = .5
_PushOpacityRangeMax ("Push Opacity Range End", Range(0,1)) = .25
_BlurFresnel ("Blur Fresnel", Float) = 2
_FresnelOpacity ("Fresnel Opacity", Range(0,1)) = 1
_OpacityFresnel ("Opacity Fresnel", Float) = 1
_DisplacementOpacity ("Displacement Opacity", Float) = 1
_DeviationOpacityExponent ("Deviation Opacity Exponent", Float) = 8
_WaveMagnitude ("Wave Magnitude", Float) = .5
_WaveFrequency ("Wave Frequency", Float) = 2
_WaveOffset ("Wave Time", Float) = .5
_WaveExponent ("Wave Exponent", Float) = 2
_Push ("Push", Range(0,1)) = 1
_PushDirection ("Push Direction", Vector) = (0,0,1)
_PushVerticalExponent ("Push Vertical Exponent", Float) = 1
_PushEnvelopeExponent ("Push Envelope Exponent", Float) = 2
_PushFrequencyExponent ("Push Frequency Exponent", Float) = 2
// _PushOpacity ("Push Opacity", Range(0,1)) = 1
// _PushOpacityRangeMin ("Push Opacity Range Start", Range(0,1)) = .5
// _PushOpacityRangeMax ("Push Opacity Range End", Range(0,1)) = .25
_TwistFront ("Twist Front", Range(-1,1)) = 1
_TwistRear ("Twist Back", Range(-1,1)) = 1
_TwistVerticalExponent ("Twist Vertical Exponent", Float) = 1
_TwistEnvelopeExponent ("Twist Envelope Exponent", Range(1,12)) = 1
_TwistFrequencyExponent ("Twist Frequency Exponent", Float) = 2
_MeleeDisplacement ("Melee Displacement", Float) = 8
_MeleeShape ("Melee Shape", Float) = 8
_MeleeFlattening ("Melee Flattening", Float) = 8
_MeleeDirection ("Melee Direction", Vector) = (0,0,-1)
_TendrilSize ("Tendril Size", Float) = 1
_TendrilExponent ("Tendril Exponent", Float) = 1
_TendrilRadius ("Tendril Radius", Float) = .1
_TendrilInfluence ("Tendril Influence", Float) = .1
_InverseScale ("Inverse Scale", Vector) = (1,1,1)
_CellSpeed("Cell Speed", Float) = 1
_CellTiling("Cell Tiling", Float) = 1
_CellExponent("Cell Exponent", Float) = 1
// _BulbRadius ("Bulb Radius", Float) = .5
// _BulbRange ("Bulf Range", Float) = .1
}
SubShader
@ -56,6 +79,7 @@ Shader "Aetheria/Field"
#pragma domain domain_shader
#pragma fragment pixel_shader
#pragma multi_compile ___ UNITY_HDR_ON
#pragma multi_compile A B C D E F G H
//#pragma exclude_renderers nomrt
#pragma target 4.6
#pragma glsl
@ -64,52 +88,63 @@ Shader "Aetheria/Field"
#include "UnityPBSLighting.cginc"
#include "Dither Functions.cginc"
// #include "UnityShaderVariables.cginc"
// #include "UnityStandardCore.cginc"
//#include "HLSLSupport.cginc"
//#include "UnityShaderVariables.cginc"
//#include "Lighting.cginc"
//#include "AutoLight.cginc"
//#pragma only_renderers d3d11
uniform sampler2D _LightBuffer;
float _SubdivisionAmount;
float _Displacement;
// half4 _Color;
// float _Metallic;
// float _Gloss;
float _Ambient_Multiplier;
half4 _Color;
samplerCUBE _Background;
float _Emission;
half4 _EmissionColor;
float _EmissionFresnel;
float _BackgroundBlur;
float _BlurFresnel;
float _BackgroundFresnel;
float _FresnelOpacity;
float _OpacityFresnel;
float _PushWaveMagnitude;
float _PushWaveFrequency;
float _PushWaveRangeExponent;
float _PushWaveExponent;
float _PushWaveEnvelopeExponent;
float _PushWaveRange;
float _PushWaveOffset;
float _PushOpacity;
float _PushOpacityRangeMin;
float _PushOpacityRangeMax;
float _DisplacementOpacity;
float _DeviationOpacityExponent;
float _DisplacementOpacity;
float _WaveMagnitude;
float _WaveOffset;
float _WaveFrequency;
float _WaveExponent;
float _Push;
float3 _PushDirection;
float _PushVerticalExponent;
float _PushEnvelopeExponent;
float _PushFrequencyExponent;
// float _PushOpacity;
// float _PushOpacityRangeMin;
// float _PushOpacityRangeMax;
float _TwistVerticalExponent;
float _TwistEnvelopeExponent;
float _TwistFrequencyExponent;
float _TwistFront;
float _TwistRear;
float _MeleeDisplacement;
float _MeleeShape;
float _MeleeFlattening;
float3 _MeleeDirection;
float3 _TendrilBase;
float3 _TendrilBend;
float3 _TendrilTarget;
float _TendrilSize;
float _TendrilRadius;
float _TendrilExponent;
float _TendrilInfluence;
// float _BulbRadius;
// float _BulbRange;
float _CellSpeed;
float _CellExponent;
float _CellTiling;
int _HitCount;
struct FieldHit
{
@ -120,7 +155,6 @@ Shader "Aetheria/Field"
};
StructuredBuffer<FieldHit> _Hits;
uniform float3 _PushDirection;
uniform float3 _InverseScale;
uniform float4x4 _ReflRotate;
@ -177,19 +211,28 @@ Shader "Aetheria/Field"
//float depthSV : Depth;
};
// q = lerped position according to SV_DomainLocation.
// p = patch position, in sequential order [0], [1], etc...
// n = patch normal, in sequential order [0], [1], etc...
float3 PhongOperator(float3 q, float3 p, float3 n)
inline float3 spline(float3 p0, float3 p1, float3 p2, float t)
{
t = saturate(t);
float oneMinusT = 1 - t;
return
oneMinusT * oneMinusT * p0 +
2 * oneMinusT * t * p1 +
t * t * p2;
}
inline float bulb(float x)
{
return q - dot(q - p, n) * n;
return sqrt(0.25-pow(x-.5, 2));
}
float smootherstep(float edge0, float edge1, float x) {
// Scale, and clamp x to 0..1 range
x = saturate((x - edge0) / (edge1 - edge0));
// Evaluate polynomial
return x * x * x * (x * (x * 6 - 15) + 10);
inline float unlerp(float from, float to, float value){
return saturate((value - from) / (to - from));
}
inline float almostUnitIdentity( float x )
{
return x*x*x*(2.0-x);
}
struct v2f {
@ -200,28 +243,86 @@ Shader "Aetheria/Field"
float3 viewDirection : TEXCOORD2;
};
static const float EPSILON = .001;
float3 SampleDisplacement (float3 normal)
{
float3 disp = 0;
float l = smoothstep(UNITY_PI, 0, acos(dot(_PushDirection,normal)));
float pushwave = pow((sin(pow(l, _PushWaveRangeExponent)*UNITY_PI*_PushWaveFrequency - _PushWaveOffset * UNITY_TWO_PI)+1)/2, _PushWaveExponent);
if(_PushWaveMagnitude<0) pushwave = 1-pushwave;
disp += normal * pow(l, _PushWaveEnvelopeExponent) * pushwave * abs(_PushWaveMagnitude);
float vertical = acos(dot(normal,float3(0,1,0)))/UNITY_PI;
float angle = atan2(normal.z,normal.x) / UNITY_PI;
if(_Push > EPSILON)
{
float waveRange = acos(dot(_PushDirection,normal)) / UNITY_PI;
float pushwave = pow((sin(pow(waveRange, _PushFrequencyExponent)*_WaveFrequency-_WaveOffset)+1)/2, _WaveExponent);
if(_WaveMagnitude<0) pushwave = 1-pushwave;
//if(_CellExponent > 0) pushwave *= pow(cells(float2(waveRange * _CellTiling, vertical * _CellTiling)), _CellExponent);
float verticalEnvelope = pow( 4.0*vertical*(1.0-vertical), abs(_PushVerticalExponent) );
if(_PushVerticalExponent < 0) verticalEnvelope = 1-verticalEnvelope;
disp += normal * (
pow(waveRange, _PushEnvelopeExponent) *
verticalEnvelope *
pushwave *
abs(_WaveMagnitude) *
_Push);
}
float twist = angle < 0 ? _TwistFront : _TwistRear;
if(abs(twist) > EPSILON)
{
angle = frac(angle);
if(twist < 0) angle = 1 - angle;
float verticalEnvelope = pow( 4.0*vertical*(1.0-vertical), _TwistVerticalExponent );
float twistEnvelope = (1-angle) *
pow(angle, _TwistEnvelopeExponent) *
pow(1/_TwistEnvelopeExponent+1, _TwistEnvelopeExponent) *
(_TwistEnvelopeExponent+1);
float twistwave = pow((sin(pow(angle, _TwistFrequencyExponent)*_WaveFrequency - _WaveOffset)+1)/2, _WaveExponent);
if(_WaveMagnitude<0) twistwave = 1-twistwave;
disp += normal * (
verticalEnvelope *
twistEnvelope *
twistwave *
abs(_WaveMagnitude) *
abs(twist));
}
float3 scaledNormal = normal/_InverseScale;
for(int i=0; i<_HitCount; i++)
{
FieldHit hit = _Hits[i];
float3 toHit = hit.Position-scaledNormal;
float envelope = pow(smoothstep(hit.Magnitude + 4, 0, length(toHit)), 8 / hit.Time);
if(envelope < EPSILON) continue;
float hitroot = sqrt(hit.Magnitude);
float invsqtime = pow(1-hit.Time, 4);
float3 toHit = hit.Position/_InverseScale-scaledNormal;
float envelope = pow(smoothstep(hit.Magnitude + 4, 0, length(toHit)), 8 / (hit.Time));
disp += lerp(hit.Direction, normal, hit.Time) * (envelope * pow(cos(envelope*hitroot*hit.Time*6)+1,2) * hitroot * invsqtime * _InverseScale.y);
float invsqtime = pow(1-hit.Time, 2);
disp += lerp(normal, hit.Direction, invsqtime) * (envelope * pow(cos(envelope*hitroot*hit.Time*6)+1,2) * hitroot * invsqtime * _InverseScale.y);
}
if(_MeleeDisplacement>.01)
if(_MeleeDisplacement > EPSILON)
{
normal.y /= _MeleeFlattening;
normal.y *= _MeleeFlattening;
normal = normalize(normal);
disp += _MeleeDirection * pow(saturate(1 - acos(dot(normal,_MeleeDirection))/(UNITY_PI/2)),_MeleeShape) * _MeleeDisplacement;
disp += _MeleeDirection * (pow(saturate(1 - acos(dot(normal,_MeleeDirection))/(UNITY_PI/2)),_MeleeShape) * _MeleeDisplacement);
}
if(_TendrilInfluence > EPSILON)
{
float3 toBase = _TendrilBase-scaledNormal;
float3 toBend = _TendrilBend-scaledNormal;
float3 toTarget = _TendrilTarget-scaledNormal;
float tendrilLerp = 1 - saturate(length(toBase)/_TendrilSize);
float3 radial = normalize(-toBase) * _TendrilRadius;
// if(_BulbRadius > 0)
// {
// float bulbLerp = smoothstep(1-_BulbRange * _BulbRadius, 1, tendrilLerp);
// radial = normalize(-toBase) * (_TendrilRadius + bulb(bulbLerp) * _BulbRadius);
// toTarget += normalize(toTarget) * _BulbRadius*.25;
// toTarget += normalize(toTarget-toBend) * _BulbRadius*.25;
// }
float3 tendril = spline(toBase, toBend, toTarget, tendrilLerp) + radial;
disp = lerp(disp, tendril, almostUnitIdentity(tendrilLerp) * _TendrilInfluence);
}
return disp;
//return texCUBElod(_Offset, float4(normal, 0)).r;
@ -330,9 +431,8 @@ Shader "Aetheria/Field"
float3 dir = mul(_ReflRotate, refract(input.viewDirection,normal,_BackgroundFresnel));
//float lerp = smoothstep(UNITY_PI, 0, pow(acos(dot(_PushDirection,input.normal)), 2));
float2 screenUV = input.screenPos.xy / input.screenPos.w;
float l = pow(smoothstep(UNITY_PI * _PushOpacityRangeMin, UNITY_PI * _PushOpacityRangeMax, acos(dot(_PushDirection,input.normal))), 4);
ditherClip(screenUV, abs(height) * _DisplacementOpacity + deviation + l * _PushOpacity + pow(1-rim, _OpacityFresnel) * _FresnelOpacity);
deferredStruct.emission.rgb += texCUBElod(_Background, float4(dir, _BackgroundBlur)).rgb * _Emission * pow(rim,_EmissionFresnel) * _EmissionColor;
ditherClip(screenUV, abs(height) * _DisplacementOpacity + deviation + pow(1-rim, _OpacityFresnel) * _FresnelOpacity);
deferredStruct.emission.rgb += texCUBElod(_Background, float4(dir, _BackgroundBlur*pow(rim, _BlurFresnel))).rgb * _Emission * pow(rim,_EmissionFresnel) * _Color;
#ifndef UNITY_HDR_ON
deferredStruct.emission.rgb = exp2(-deferredStruct.emission.rgb);
@ -345,5 +445,6 @@ Shader "Aetheria/Field"
}
}
Fallback "Diffuse"
CustomEditor "CellBrushEditor"
}

BIN
GameData/AetherDB.msgpack (Stored with Git LFS)

Binary file not shown.

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true]]},"schematic":"","behaviors":[],"durability":550.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"SafeStuff II","description":"Your stuff is safe stuffed in the new, bigger SafeStuff","creator":"adfb9b08-aabc-45c6-9586-915698a9c4b0","mass":700.0,"shape":{"name":[[true,true,true],[true,true,true],[true,true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":450000,"id":"03740fd6-158d-43e9-b070-9a40e0b9bc45","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true]]},"schematic":"","behaviors":[],"durability":1000.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Enterprise Edition","description":"A large amount of storage","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":800.0,"shape":{"name":[[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":700000,"id":"46b66f9a-5c72-4e7a-ac9b-4dd7904cc4a1","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true],[true,true]]},"schematic":"","behaviors":[],"durability":125.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Plus Mini","description":"Take some of your cargo wherever your shipgo","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":50.0,"shape":{"name":[[true]]},"specificHeat":0.75,"conductivity":1.0,"price":50000,"id":"ae05f4cb-0dd5-4f37-af96-cc61c9d61e1f","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true],[true,true,true,true],[true,true,true,true],[true,true,true,true]]},"schematic":"","behaviors":[],"durability":250.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Plus","description":"Take your cargo wherever your shipgo","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":200.0,"shape":{"name":[[true,true],[true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":150000,"id":"49b4c15a-c10b-49c0-9dad-31dfb9b3a9b9","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"AI Pilot","description":"Place your valuable life and even more valuable cargo in the relentlessly logical hands of your AI copilot*. *Personalities may vary. Any neuroticism or homicidal madness in an artificial intelligence is not our responsibility. ","creator":"00000000-0000-0000-0000-000000000000","mass":0.0,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"11d9fd0c-c0dd-482f-8e2a-f7c289ed6a3d","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":3,"name":"All-Surface Stylus","description":"Draw and write on anything! Even lava!","creator":"00000000-0000-0000-0000-000000000000","mass":0.7,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"20376ecd-77fa-4ffe-9be6-185158ee1bfc","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Antireflective Coating","description":"Spray this stuff on your hull to make it invisible to radar.","creator":"00000000-0000-0000-0000-000000000000","mass":5.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"4810a43b-bbb9-447d-b62e-b723e4d88afc","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Ballistic Powder","description":"Used in the creation of ballistic weapons. \r\n","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"0b449ae1-7eab-47e8-ac3c-2b6f6ff01f00","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Big Red Button","description":"No one knows what it does, but everyone know it's critical to modern spaceship design. Just don't press it.","creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"5e2950d6-02df-461e-a35e-a4123c6a5639","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Cargo Pod","description":"Cargo space? No, cargo road, but also, cargo pod.","creator":"00000000-0000-0000-0000-000000000000","mass":20.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"17032840-c285-4f33-82ae-6b03f1e1e56b","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Circuit Board","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"3c8b2b3d-ca1a-405f-966f-c64662a64418","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Cockpit","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":25.0,"shape":null,"specificHeat":1.5,"conductivity":1.0,"price":0,"id":"6d20c298-281e-46fc-be33-dbcc575d49d7","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Construction Rebar","description":"Helps your building stay up.","creator":"00000000-0000-0000-0000-000000000000","mass":65.0,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"2aa99b2d-80ed-4640-9350-9affcfe6d8cd","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Crash Test Dummy","description":"Your best friend and co pilot","creator":"00000000-0000-0000-0000-000000000000","mass":7.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"4b3fc716-d362-4379-8c65-f2c471647ed1","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Daily Feed Ad Slot (5ms)","description":"A 5 ms slot on the most widely viewed news feed in the multiverse","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"601a345d-6f0b-4bdb-8171-be4befaf9a33","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Dashboard Ornament","description":"Add personality to your ship dashboard! *Not responsible for accidental death due to inertia from sudden deceleration","creator":"00000000-0000-0000-0000-000000000000","mass":0.5,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"03ff4335-fa65-4a89-8cea-68f70de01d60","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Dials","description":"Small dials for your control panel. Do they do anything? We don't know, but they sure look important.","creator":"00000000-0000-0000-0000-000000000000","mass":0.5,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"6d4c9e32-7ffd-45f6-8e08-86d544793774","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Diamond","description":"Used to harden a material. \r\n","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"8776c2fd-45f6-4ca6-8ef0-5214be830182","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Emergency Personal Life Support System","description":"The sole survivor's best friend.","creator":"00000000-0000-0000-0000-000000000000","mass":16.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"35f02735-1993-4467-b3de-028c2d6e2276","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Fuel","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"6821495a-4875-4350-a8e8-e813c3576aa8","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":3,"name":"Geiger Counter","description":"It's rad. You shouldn't be.","creator":"00000000-0000-0000-0000-000000000000","mass":6.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"1ea0df17-aba1-45bc-8d6e-a430c110e38d","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":0,"name":"Hat","description":"A hat. Goes on your head. OR: It keeps the rain off your head. ","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"5383d6b6-083b-4721-8f6b-426dba0beaeb","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Heat Sink Tile","description":"It's getting hot in here, so drain off all your heat before your systems overload","creator":"00000000-0000-0000-0000-000000000000","mass":7.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"0d6a518d-24e9-40bf-9861-301de17b5161","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":0,"name":"Helmet","description":"Goes on your head. But better.","creator":"00000000-0000-0000-0000-000000000000","mass":5.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"8b026aea-1d79-49a0-b843-abdfcca31bab","$type":"CompoundCommodityData"}

Some files were not shown because too many files have changed in this diff Show more