Fixed: unable to undock with an aetheric drive (game requires locomotion)
Entities have a chance of dropping any item on board when killed
Mine behavior generalized to grid objects, used in dropped loot
Added tractor beam (not itemized yet) which pulls in nearby loot (and mines!)
Items are added to player inventory when they collide with the ship (and mines explode!)
Added console command to spawn turret
This commit is contained in:
Reinier Vens 2021-04-15 04:25:22 +01:00
commit 11a55e236b
56 changed files with 6962 additions and 161 deletions

BIN
Assets/Materials/Substance/Metal/Pickup Base.sbsar (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,382 @@
fileFormatVersion: 2
guid: 26a894e543f3ed44893b1620707ca62c
ScriptedImporter:
internalIDToNameTable:
- first:
1: 100000
second: metal_car_paint/metal_car_paint
- first:
4: 400000
second: metal_car_paint/metal_car_paint/Transform
- first:
21: 2100000
second: mat.Car paint
- first:
23: 2300000
second: metal_car_paint/metal_car_paint/MeshRenderer
- first:
28: 2800000
second: Car paint_baseColor
- first:
28: 2800002
second: Car paint_normal
- first:
28: 2800004
second: Car paint_metallic
- first:
28: 2800006
second: Car paint_ambientOcclusion
- first:
28: 2800008
second: Car paint_height
- first:
33: 3300000
second: metal_car_paint/metal_car_paint/MeshFilter
- first:
114: 11400000
second: sbsar
- first:
114: 11400002
second: graph0
- first:
135: 13500000
second: metal_car_paint/metal_car_paint/SphereCollider
- first:
1001: 100100000
second: metal_car_paint
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 232528478, guid: 43a8bbf65be290d44ba52b94476242b9, type: 3}
version: 29
projectContext: 0
mGraphInstanceData:
- graphLabel: Car paint
prototypeName: Car paint
graphDescIndex: 0
generateAllOutputs: 0
generateMipMaps: 1
preset: " <sbspreset pkgurl=\"pkg://metal_car_paint\" label=\"\" >\n <presetinput
identifier=\"$outputsize\" uid=\"2092133592\" type=\"8\" value=\"11,11\" />\n
<presetinput identifier=\"normal_intensity\" uid=\"2045651458\" type=\"0\"
value=\"0.25\" />\n <presetinput identifier=\"age\" uid=\"2038752334\" type=\"0\"
value=\"1\" />\n <presetinput identifier=\"flakes\" uid=\"20245147\" type=\"4\"
value=\"1\" />\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\"
type=\"0\" value=\"0\" />\n <presetinput identifier=\"paint_scratches\" uid=\"22509202\"
type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_peeling\" uid=\"103560714\"
type=\"0\" value=\"0.151\" />\n <presetinput identifier=\"metal_roughness\"
uid=\"22504787\" type=\"0\" value=\"0.33\" />\n <presetinput identifier=\"paint_color\"
uid=\"105341618\" type=\"2\" value=\"1,0.891509,0.946396\" />\n <presetinput
identifier=\"paint_roughness\" uid=\"22504606\" type=\"0\" value=\"0\" />\n
<presetinput identifier=\"paint_metallic\" uid=\"22503567\" type=\"0\" value=\"0\"
/>\n </sbspreset>\n"
shaderName: Standard
materialProperties:
shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
shaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
lightmapFlags: 4
enableInstancingVariants: 0
doubleSidedGI: 0
customRenderQueue: -1
texEnvs:
- name: _BumpMap
texture: {fileID: 3068890721646206586, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailAlbedoMap
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailMask
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailNormalMap
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _EmissionMap
texture: {instanceID: 0}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MainTex
texture: {fileID: 5917659159057834157, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MetallicGlossMap
texture: {fileID: -3552914696322007609, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _OcclusionMap
texture: {fileID: -1242281561028671816, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _ParallaxMap
texture: {fileID: -1652887728991447519, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
floats:
- name: _BumpScale
float: 1
- name: _Cutoff
float: 0.5
- name: _DetailNormalMapScale
float: 1
- name: _DstBlend
float: 0
- name: _GlossMapScale
float: 1
- name: _Glossiness
float: 1
- name: _GlossyReflections
float: 1
- name: _Metallic
float: 1
- name: _Mode
float: 0
- name: _OcclusionStrength
float: 1
- name: _Parallax
float: 0.02
- name: _SmoothnessTextureChannel
float: 0
- name: _SpecularHighlights
float: 1
- name: _SrcBlend
float: 1
- name: _UVSec
float: 0
- name: _ZWrite
float: 1
colors:
- name: _Color
color: {r: 1, g: 1, b: 1, a: 1}
- name: _EmissionColor
color: {r: 0, g: 0, b: 0, a: 1}
outputDescList:
- outputName: diffuse
identifier: diffuse
usageName: diffuse
channelStr: diffuse
label: Diffuse
usage: 0
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: baseColor
identifier: basecolor
usageName: baseColor
channelStr: baseColor
label: Base Color
usage: 1
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: normal
identifier: normal
usageName: normal
channelStr: normal
label: Normal
usage: 7
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: specular
identifier: specular
usageName: specular
channelStr: specular
label: Specular
usage: 11
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: glossiness
identifier: glossiness
usageName: glossiness
channelStr: glossiness
label: Glossiness
usage: 14
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: roughness
identifier: roughness
usageName: roughness
channelStr: roughness
label: Roughness
usage: 15
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: metallic
identifier: metallic
usageName: metallic
channelStr: metallic
label: Metallic
usage: 34
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: ambientOcclusion
identifier: ambient_occlusion
usageName: ambientOcclusion
channelStr: ambientOcclusion
label: Ambient Occlusion
usage: 5
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: height
identifier: height
usageName: height
channelStr: height
label: Height
usage: 9
bImage: 1
bNumerical: 0
bLinear: 1
texturePackingList:
- targetName: diffuse
components:
- sourceName: diffuse
from: 0
to: 3
- targetName: baseColor
components:
- sourceName: baseColor
from: 0
to: 3
- targetName: normal
components:
- sourceName: normal
from: 0
to: 3
- targetName: specular
components:
- sourceName: specular
from: 0
to: 3
- targetName: glossiness
components:
- sourceName: glossiness
from: 0
to: 3
- targetName: roughness
components:
- sourceName: roughness
from: 0
to: 3
- targetName: metallic
components:
- sourceName: smoothness
from: 0
to: 3
- targetName: ambientOcclusion
components:
- sourceName: ambientOcclusion
from: 0
to: 3
- targetName: height
components:
- sourceName: height
from: 0
to: 3
textureParameters:
- textureName: Car paint_glossiness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_diffuse
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_baseColor
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_normal
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_specular
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_roughness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_metallic
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_ambientOcclusion
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_height
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - diffuse
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - baseColor
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - normal
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - specular
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - glossiness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - roughness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - metallic
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - ambientOcclusion
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - height
wrapMode: 0
filterMode: 1
aniso: 1
colorSpaceList: []
inputTextureMap: []
targetSettingList:
- label: Default
bOverride: 0
bLockRatio: 1
textureWidth: 2048
textureHeight: 2048
textureFormatMode: 0
normalCompressed: 0
bGenerateOnLoad: 1
material: {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c,
type: 3}
generatedTextures:
- {fileID: 5917659159057834157, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
- {fileID: 3068890721646206586, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
- {fileID: -3552914696322007609, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
- {fileID: -1242281561028671816, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
- {fileID: -1652887728991447519, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}

BIN
Assets/Materials/Substance/Metal/Pickup Trim.sbsar (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,381 @@
fileFormatVersion: 2
guid: c00b5a4f1e4743a4ca59b8030251f900
ScriptedImporter:
internalIDToNameTable:
- first:
1: 100000
second: metal_car_paint/metal_car_paint
- first:
4: 400000
second: metal_car_paint/metal_car_paint/Transform
- first:
21: 2100000
second: mat.Car paint
- first:
23: 2300000
second: metal_car_paint/metal_car_paint/MeshRenderer
- first:
28: 2800000
second: Car paint_baseColor
- first:
28: 2800002
second: Car paint_normal
- first:
28: 2800004
second: Car paint_metallic
- first:
28: 2800006
second: Car paint_ambientOcclusion
- first:
28: 2800008
second: Car paint_height
- first:
33: 3300000
second: metal_car_paint/metal_car_paint/MeshFilter
- first:
114: 11400000
second: sbsar
- first:
114: 11400002
second: graph0
- first:
135: 13500000
second: metal_car_paint/metal_car_paint/SphereCollider
- first:
1001: 100100000
second: metal_car_paint
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 232528478, guid: 43a8bbf65be290d44ba52b94476242b9, type: 3}
version: 29
projectContext: 0
mGraphInstanceData:
- graphLabel: Car paint
prototypeName: Car paint
graphDescIndex: 0
generateAllOutputs: 0
generateMipMaps: 1
preset: " <sbspreset pkgurl=\"pkg://metal_car_paint\" label=\"\" >\n <presetinput
identifier=\"$outputsize\" uid=\"2092133592\" type=\"8\" value=\"11,11\" />\n
<presetinput identifier=\"normal_intensity\" uid=\"2045651458\" type=\"0\"
value=\"0.25\" />\n <presetinput identifier=\"age\" uid=\"2038752334\" type=\"0\"
value=\"1\" />\n <presetinput identifier=\"flakes\" uid=\"20245147\" type=\"4\"
value=\"1\" />\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\"
type=\"0\" value=\"0.425\" />\n <presetinput identifier=\"paint_scratches\"
uid=\"22509202\" type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_peeling\"
uid=\"103560714\" type=\"0\" value=\"0.405\" />\n <presetinput identifier=\"metal_roughness\"
uid=\"22504787\" type=\"0\" value=\"0.425\" />\n <presetinput identifier=\"paint_color\"
uid=\"105341618\" type=\"2\" value=\"0,0.605881,1\" />\n <presetinput identifier=\"paint_roughness\"
uid=\"22504606\" type=\"0\" value=\"0\" />\n <presetinput identifier=\"paint_metallic\"
uid=\"22503567\" type=\"0\" value=\"1\" />\n </sbspreset>\n"
shaderName: Standard
materialProperties:
shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
shaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
lightmapFlags: 4
enableInstancingVariants: 0
doubleSidedGI: 0
customRenderQueue: -1
texEnvs:
- name: _BumpMap
texture: {fileID: 3068890721646206586, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailAlbedoMap
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailMask
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _DetailNormalMap
texture: {instanceID: 0}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _EmissionMap
texture: {instanceID: 0}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MainTex
texture: {fileID: 5917659159057834157, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MetallicGlossMap
texture: {fileID: -3552914696322007609, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _OcclusionMap
texture: {fileID: -1242281561028671816, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _ParallaxMap
texture: {fileID: -1652887728991447519, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
floats:
- name: _BumpScale
float: 1
- name: _Cutoff
float: 0.5
- name: _DetailNormalMapScale
float: 1
- name: _DstBlend
float: 0
- name: _GlossMapScale
float: 1
- name: _Glossiness
float: 0.5
- name: _GlossyReflections
float: 1
- name: _Metallic
float: 0
- name: _Mode
float: 0
- name: _OcclusionStrength
float: 1
- name: _Parallax
float: 0.005
- name: _SmoothnessTextureChannel
float: 0
- name: _SpecularHighlights
float: 1
- name: _SrcBlend
float: 1
- name: _UVSec
float: 0
- name: _ZWrite
float: 1
colors:
- name: _Color
color: {r: 1, g: 1, b: 1, a: 1}
- name: _EmissionColor
color: {r: 0, g: 0, b: 0, a: 1}
outputDescList:
- outputName: diffuse
identifier: diffuse
usageName: diffuse
channelStr: diffuse
label: Diffuse
usage: 0
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: baseColor
identifier: basecolor
usageName: baseColor
channelStr: baseColor
label: Base Color
usage: 1
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: normal
identifier: normal
usageName: normal
channelStr: normal
label: Normal
usage: 7
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: specular
identifier: specular
usageName: specular
channelStr: specular
label: Specular
usage: 11
bImage: 1
bNumerical: 0
bLinear: 0
- outputName: glossiness
identifier: glossiness
usageName: glossiness
channelStr: glossiness
label: Glossiness
usage: 14
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: roughness
identifier: roughness
usageName: roughness
channelStr: roughness
label: Roughness
usage: 15
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: metallic
identifier: metallic
usageName: metallic
channelStr: metallic
label: Metallic
usage: 34
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: ambientOcclusion
identifier: ambient_occlusion
usageName: ambientOcclusion
channelStr: ambientOcclusion
label: Ambient Occlusion
usage: 5
bImage: 1
bNumerical: 0
bLinear: 1
- outputName: height
identifier: height
usageName: height
channelStr: height
label: Height
usage: 9
bImage: 1
bNumerical: 0
bLinear: 1
texturePackingList:
- targetName: diffuse
components:
- sourceName: diffuse
from: 0
to: 3
- targetName: baseColor
components:
- sourceName: baseColor
from: 0
to: 3
- targetName: normal
components:
- sourceName: normal
from: 0
to: 3
- targetName: specular
components:
- sourceName: specular
from: 0
to: 3
- targetName: glossiness
components:
- sourceName: glossiness
from: 0
to: 3
- targetName: roughness
components:
- sourceName: roughness
from: 0
to: 3
- targetName: metallic
components:
- sourceName: smoothness
from: 0
to: 3
- targetName: ambientOcclusion
components:
- sourceName: ambientOcclusion
from: 0
to: 3
- targetName: height
components:
- sourceName: height
from: 0
to: 3
textureParameters:
- textureName: Car paint_glossiness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_diffuse
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_baseColor
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_normal
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_specular
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_roughness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_metallic
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_ambientOcclusion
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint_height
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - diffuse
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - baseColor
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - normal
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - specular
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - glossiness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - roughness
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - metallic
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - ambientOcclusion
wrapMode: 0
filterMode: 1
aniso: 1
- textureName: Car paint - height
wrapMode: 0
filterMode: 1
aniso: 1
colorSpaceList: []
inputTextureMap: []
targetSettingList:
- label: Default
bOverride: 0
bLockRatio: 1
textureWidth: 2048
textureHeight: 2048
textureFormatMode: 0
normalCompressed: 0
bGenerateOnLoad: 1
material: {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900,
type: 3}
generatedTextures:
- {fileID: 5917659159057834157, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3068890721646206586, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: -3552914696322007609, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: -1242281561028671816, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: -1652887728991447519, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}

View file

@ -99,12 +99,12 @@ ScriptedImporter:
offset: {x: 0, y: 0}
- name: _EmissionMap
texture: {instanceID: 0}
scale: {x: 2, y: 2}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _MainTex
texture: {fileID: 5917659159057834157, guid: 504c7bfe0d50ff64a88b8eac2ceb46f8,
type: 3}
scale: {x: 2, y: 2}
scale: {x: 1, y: 1}
offset: {x: 0, y: 0}
- name: _MetallicGlossMap
texture: {fileID: -3552914696322007609, guid: 504c7bfe0d50ff64a88b8eac2ceb46f8,

View file

@ -66,7 +66,7 @@ ScriptedImporter:
value=\"1\" />\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\"
type=\"0\" value=\"0\" />\n <presetinput identifier=\"paint_scratches\" uid=\"22509202\"
type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_peeling\" uid=\"103560714\"
type=\"0\" value=\"0.089\" />\n <presetinput identifier=\"metal_roughness\"
type=\"0\" value=\"0.095\" />\n <presetinput identifier=\"metal_roughness\"
uid=\"22504787\" type=\"0\" value=\"0.33\" />\n <presetinput identifier=\"paint_color\"
uid=\"105341618\" type=\"2\" value=\"1,0.891509,0.946396\" />\n <presetinput
identifier=\"paint_roughness\" uid=\"22504606\" type=\"0\" value=\"0\" />\n
@ -100,12 +100,12 @@ ScriptedImporter:
offset: {x: 0, y: 0}
- name: _EmissionMap
texture: {instanceID: 0}
scale: {x: 1, y: 1}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MainTex
texture: {fileID: 5917659159057834157, guid: b2bec4b400153d745b2915f1c43e5c96,
type: 3}
scale: {x: 2, y: 2}
scale: {x: 0.5, y: 0.5}
offset: {x: 0, y: 0}
- name: _MetallicGlossMap
texture: {fileID: -3552914696322007609, guid: b2bec4b400153d745b2915f1c43e5c96,

BIN
Assets/Models/primitives.blend (Stored with Git LFS)

Binary file not shown.

View file

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: b4479e2dcccbdc048878a980f116a96b
ModelImporter:
serializedVersion: 20101
serializedVersion: 20200
internalIDToNameTable:
- first:
74: 1989289236423521904
@ -103,6 +103,7 @@ ModelImporter:
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
additionalBone: 0
userData:
assetBundleName:

Binary file not shown.

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 00756c5884305d640afda217bd572807
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,134 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5284461483464579928
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8489385781787202308}
- component: {fileID: 2667259809042191123}
- component: {fileID: 2093307059618178533}
- component: {fileID: 8815906420840494942}
- component: {fileID: 8842807112802394818}
- component: {fileID: 8689774408369415534}
m_Layer: 21
m_Name: Dodecahedron
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8489385781787202308
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302}
m_LocalPosition: {x: 2.76403, y: 0, z: 0}
m_LocalScale: {x: 3, y: 3, z: 3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0}
--- !u!33 &2667259809042191123
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_Mesh: {fileID: 4241688549776596879, guid: b4479e2dcccbdc048878a980f116a96b, type: 3}
--- !u!23 &2093307059618178533
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
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}
--- !u!135 &8815906420840494942
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.91187096
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &8842807112802394818
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: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
--- !u!54 &8689774408369415534
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View file

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

View file

@ -0,0 +1,134 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7643266616531142933
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3419130779256825702}
- component: {fileID: 3269639735116279291}
- component: {fileID: 7427774873968414741}
- component: {fileID: 674324171579366365}
- component: {fileID: 7449398549621940518}
- component: {fileID: 648083621841515580}
m_Layer: 21
m_Name: Hexahedron
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3419130779256825702
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302}
m_LocalPosition: {x: -2.6274304, y: 0, z: 0}
m_LocalScale: {x: 3, y: 3, z: 3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0}
--- !u!33 &3269639735116279291
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_Mesh: {fileID: 3976614008025827415, guid: b4479e2dcccbdc048878a980f116a96b, type: 3}
--- !u!23 &7427774873968414741
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
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}
--- !u!135 &674324171579366365
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.8
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &7449398549621940518
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: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
--- !u!54 &648083621841515580
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View file

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

View file

@ -0,0 +1,134 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7167547457198401877
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7548484292876150345}
- component: {fileID: 7390838957595368880}
- component: {fileID: 6960669510133879758}
- component: {fileID: 3507902894264904200}
- component: {fileID: 8747099621875196907}
- component: {fileID: -5409019571952974707}
m_Layer: 21
m_Name: Icosahedron
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7548484292876150345
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302}
m_LocalPosition: {x: -0, y: 0, z: -2.9576573}
m_LocalScale: {x: 3, y: 3, z: 3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0}
--- !u!33 &7390838957595368880
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_Mesh: {fileID: -7230695461121354804, guid: b4479e2dcccbdc048878a980f116a96b, type: 3}
--- !u!23 &6960669510133879758
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
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}
--- !u!135 &3507902894264904200
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.8303433
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &8747099621875196907
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: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
--- !u!54 &-5409019571952974707
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View file

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

View file

@ -0,0 +1,134 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8555821447211356933
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5807113421007930924}
- component: {fileID: 4899765339662518078}
- component: {fileID: 1691511938472729356}
- component: {fileID: 3657818610818556929}
- component: {fileID: 946329779588188460}
- component: {fileID: -4611973708976329780}
m_Layer: 21
m_Name: Octahedron
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5807113421007930924
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302}
m_LocalPosition: {x: -0, y: 0, z: 2.7794502}
m_LocalScale: {x: 3, y: 3, z: 3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0}
--- !u!33 &4899765339662518078
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_Mesh: {fileID: 3635823603335089682, guid: b4479e2dcccbdc048878a980f116a96b, type: 3}
--- !u!23 &1691511938472729356
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
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}
--- !u!135 &3657818610818556929
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.75
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &946329779588188460
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: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
--- !u!54 &-4611973708976329780
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View file

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

View file

@ -0,0 +1,134 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7767746557817481743
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8414659055235772867}
- component: {fileID: 2868629223358676395}
- component: {fileID: 6959931328227918623}
- component: {fileID: 4540815661693075899}
- component: {fileID: 4008709970769624704}
- component: {fileID: -6589342969031261525}
m_Layer: 21
m_Name: Tetrahedron
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8414659055235772867
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302}
m_LocalPosition: {x: -0, y: 0, z: 0}
m_LocalScale: {x: 3, y: 3, z: 3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0}
--- !u!33 &2868629223358676395
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_Mesh: {fileID: -7178685034035712819, guid: b4479e2dcccbdc048878a980f116a96b, type: 3}
--- !u!23 &6959931328227918623
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 3720744386649352057, guid: c00b5a4f1e4743a4ca59b8030251f900, type: 3}
- {fileID: 3720744386649352057, guid: 26a894e543f3ed44893b1620707ca62c, type: 3}
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}
--- !u!135 &4540815661693075899
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.60371214
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &4008709970769624704
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: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
--- !u!54 &-6589342969031261525
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View file

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

View file

@ -196,6 +196,14 @@
"expectedControlType": "Button",
"processors": "",
"interactions": ""
},
{
"name": "Tractor Beam",
"type": "Value",
"id": "e61d5d8e-eaf7-449d-8d54-624e15b6c964",
"expectedControlType": "",
"processors": "",
"interactions": ""
}
],
"bindings": [
@ -649,6 +657,17 @@
"action": "Hide UI",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "37683a7e-02b1-4daa-a990-a51a30e7f8e9",
"path": "<Keyboard>/f",
"interactions": "",
"processors": "",
"groups": "Keyboard&Mouse",
"action": "Tractor Beam",
"isComposite": false,
"isPartOfComposite": false
}
]
},

View file

@ -6913,6 +6913,7 @@ Transform:
- {fileID: 3659313866188730483}
- {fileID: 5496325214845933821}
- {fileID: 5670809732538438839}
- {fileID: 680201488166242961}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -6957,6 +6958,7 @@ MonoBehaviour:
- {fileID: 555770309889367125}
DestroyEffect: {fileID: 1121192042590650, guid: e1b08032bec16ba4eb1ae23cbd572664,
type: 3}
TractorBeam: {fileID: 3725076945201460397}
--- !u!1 &8620289461215737213
GameObject:
m_ObjectHideFlags: 0
@ -7343,3 +7345,90 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a42e4b31178f74d43b17322b0ae8f178, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &5078168084166504631
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 9106854767781449910}
m_Modifications:
- target: {fileID: 2009124798951080406, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_Name
value: Tractor Beam
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.x
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1df59848be1db8547bc662080d0d6000, type: 3}
--- !u!4 &680201488166242961 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
m_PrefabInstance: {fileID: 5078168084166504631}
m_PrefabAsset: {fileID: 0}
--- !u!114 &3725076945201460397 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 8487991487311807514, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
m_PrefabInstance: {fileID: 5078168084166504631}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3f02211fcfb247b88dc54e58ad3b72d8, type: 3}
m_Name:
m_EditorClassIdentifier:

View file

@ -42,6 +42,7 @@ Transform:
- {fileID: 3808243476704657384}
- {fileID: 4269524162621747868}
- {fileID: 6012453260758506882}
- {fileID: 8650006510622813505}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -153.969, z: 0}
@ -83,6 +84,7 @@ MonoBehaviour:
- {fileID: 5252554217388465174}
DestroyEffect: {fileID: 1121192042590650, guid: e1b08032bec16ba4eb1ae23cbd572664,
type: 3}
TractorBeam: {fileID: 4812185330873570173}
--- !u!1 &622200413621136596
GameObject:
m_ObjectHideFlags: 0
@ -1866,3 +1868,90 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a42e4b31178f74d43b17322b0ae8f178, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &3964071774140897127
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 737798575382408336}
m_Modifications:
- target: {fileID: 2009124798951080406, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_Name
value: Tractor Beam
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_RootOrder
value: 14
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.x
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1df59848be1db8547bc662080d0d6000, type: 3}
--- !u!4 &8650006510622813505 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5695304557067713062, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
m_PrefabInstance: {fileID: 3964071774140897127}
m_PrefabAsset: {fileID: 0}
--- !u!114 &4812185330873570173 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 8487991487311807514, guid: 1df59848be1db8547bc662080d0d6000,
type: 3}
m_PrefabInstance: {fileID: 3964071774140897127}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3f02211fcfb247b88dc54e58ad3b72d8, type: 3}
m_Name:
m_EditorClassIdentifier:

File diff suppressed because it is too large Load diff

View file

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

View file

@ -1072,11 +1072,15 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 170aefb3b5cd0e444826f3561d38a962, type: 3}
m_Name:
m_EditorClassIdentifier:
PingPrefab: {fileID: 0}
InvisibleMaterial: {fileID: 2100000, guid: c94a225de88e5ce42af01c34df3521e6, type: 2}
Shield: {fileID: 0}
HullColliders:
- {fileID: 6946734302097032818}
- {fileID: 2664341253667465548}
- {fileID: 3028840165937219683}
- {fileID: 8304154918997209436}
EquipmentHardpoints: []
RadiatorHardpoints: []
ThrusterHardpoints: []
WeaponHardpoints:

View file

@ -13,7 +13,8 @@ GameObject:
- component: {fileID: 4535912766998605946}
- component: {fileID: 2069293240452108309}
- component: {fileID: 951258163572815990}
m_Layer: 0
- component: {fileID: 6357237398779034136}
m_Layer: 21
m_Name: Mine
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -110,6 +111,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f190191fe8c8419f85767868c50cde5f, type: 3}
m_Name:
m_EditorClassIdentifier:
GridObject: {fileID: 6357237398779034136}
MeshRenderer: {fileID: 4535912766998605946}
EmissionSubmesh: 2
EmissionCurve:
@ -149,17 +151,29 @@ MonoBehaviour:
ArmedCycleDuration: 0.25
ActiveEmission: 100
ArmedEmission: 1000
HitEffect: {fileID: 3349939966709198091}
Lifetime: 30
ActivationDelay: 2
BlastRange: 25
BlastDelay: 2
--- !u!114 &6357237398779034136
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 756302067359749329}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 737f47c158214f0995ba2835f040ed96, type: 3}
m_Name:
m_EditorClassIdentifier:
RotationSpeed: 1
GridOffset: 0
GridAttraction: 10
Gravity: 1
Drag: 0.05
LaunchDrag: 0.2
HitEffect: {fileID: 3349939966709198091}
Lifetime: 30
ActivationDelay: 2
BlastRange: 25
BlastDelay: 2
--- !u!1 &951357816492268516
GameObject:
m_ObjectHideFlags: 0

View file

@ -16316,6 +16316,14 @@ MonoBehaviour:
LODHandler: {fileID: 1009503736}
SlimeRenderer: {fileID: 1254851254}
SlimeGravityCamera: {fileID: 1066823975}
SimpleCommodityPickup: {fileID: 4008709970769624704, guid: 521bfeece7dd5fd4e8f166d38493f18c,
type: 3}
CompoundCommodityPickup: {fileID: 7449398549621940518, guid: 366909b6a01d7254d8eef01c333f8e00,
type: 3}
GearPickup: {fileID: 946329779588188460, guid: d2b7e9a9cd7733041b0553682e4b61af,
type: 3}
WeaponPickup: {fileID: 8842807112802394818, guid: d2cec1d8c3d94074e9d2e6088e1c02d7,
type: 3}
Tour: 0
TourSwitchTime: 10
TourFollowDistance: 100
@ -23266,7 +23274,7 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 55.675
value: 0
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -24569,7 +24577,7 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 60.98
value: 0
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -30395,7 +30403,7 @@ Camera:
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 33
m_Bits: 2097185
m_RenderingPath: 3
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0

View file

@ -542,7 +542,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 553528106}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: -0.03, y: 0, z: -0.01}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -802,8 +802,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741153267}
m_LocalRotation: {x: 0.015506932, y: 0.9502416, z: -0.30741316, w: 0.04793331}
m_LocalPosition: {x: -117.520035, y: -77.087425, z: 149.09027}
m_LocalRotation: {x: 0.01550689, y: 0.9502416, z: -0.3074131, w: 0.047933202}
m_LocalPosition: {x: -117.51997, y: -77.08743, z: 149.09024}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 412917866}
@ -1234,8 +1234,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965376321}
m_LocalRotation: {x: 0.015506932, y: 0.9502416, z: -0.30741316, w: 0.04793331}
m_LocalPosition: {x: -117.520035, y: -77.087425, z: 149.09027}
m_LocalRotation: {x: 0.01550689, y: 0.9502416, z: -0.3074131, w: 0.047933202}
m_LocalPosition: {x: -117.51997, y: -77.08743, z: 149.09024}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -2321,7 +2321,7 @@ PrefabInstance:
- target: {fileID: 3664209305474245377, guid: 3d8d9cbf10b12214e98891c1f03c1e99,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 60.98
objectReference: {fileID: 0}
- target: {fileID: 3664209305474245377, guid: 3d8d9cbf10b12214e98891c1f03c1e99,
type: 3}
@ -2346,7 +2346,7 @@ PrefabInstance:
- target: {fileID: 3664209306888449100, guid: 3d8d9cbf10b12214e98891c1f03c1e99,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 55.675
objectReference: {fileID: 0}
- target: {fileID: 3664209306888449100, guid: 3d8d9cbf10b12214e98891c1f03c1e99,
type: 3}

View file

@ -209,6 +209,14 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """"
},
{
""name"": ""Tractor Beam"",
""type"": ""Value"",
""id"": ""e61d5d8e-eaf7-449d-8d54-624e15b6c964"",
""expectedControlType"": """",
""processors"": """",
""interactions"": """"
}
],
""bindings"": [
@ -662,6 +670,17 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
""action"": ""Hide UI"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""37683a7e-02b1-4daa-a990-a51a30e7f8e9"",
""path"": ""<Keyboard>/f"",
""interactions"": """",
""processors"": """",
""groups"": ""Keyboard&Mouse"",
""action"": ""Tractor Beam"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
},
@ -1290,6 +1309,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
m_Player_OverrideShutdown = m_Player.FindAction("Override Shutdown", throwIfNotFound: true);
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);
// UI
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
@ -1381,6 +1401,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
private readonly InputAction m_Player_OverrideShutdown;
private readonly InputAction m_Player_Ping;
private readonly InputAction m_Player_HideUI;
private readonly InputAction m_Player_TractorBeam;
public struct PlayerActions
{
private @AetheriaInput m_Wrapper;
@ -1409,6 +1430,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
public InputAction @OverrideShutdown => m_Wrapper.m_Player_OverrideShutdown;
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 InputActionMap Get() { return m_Wrapper.m_Player; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
@ -1490,6 +1512,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
@HideUI.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnHideUI;
@HideUI.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnHideUI;
@HideUI.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnHideUI;
@TractorBeam.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
}
m_Wrapper.m_PlayerActionsCallbackInterface = instance;
if (instance != null)
@ -1566,6 +1591,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
@HideUI.started += instance.OnHideUI;
@HideUI.performed += instance.OnHideUI;
@HideUI.canceled += instance.OnHideUI;
@TractorBeam.started += instance.OnTractorBeam;
@TractorBeam.performed += instance.OnTractorBeam;
@TractorBeam.canceled += instance.OnTractorBeam;
}
}
}
@ -1785,6 +1813,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
void OnOverrideShutdown(InputAction.CallbackContext context);
void OnPing(InputAction.CallbackContext context);
void OnHideUI(InputAction.CallbackContext context);
void OnTractorBeam(InputAction.CallbackContext context);
}
public interface IUIActions
{

View file

@ -515,6 +515,27 @@ public class ActionGameManager : MonoBehaviour
}
});
ConsoleController.AddCommand("spawnturret",
_ =>
{
var nearestFaction = CurrentSector.Factions.MinBy(f => CurrentSector.HomeZones[f].Distance[Zone.SectorZone]);
var loadoutGenerator = new LoadoutGenerator(
ref ItemManager.Random,
ItemManager,
CurrentSector,
Zone.SectorZone,
nearestFaction,
.5f);
var turret = EntitySerializer.Unpack(ItemManager, Zone, loadoutGenerator.GenerateTurretLoadout(), true);
turret.Position.xz = _currentEntity.Position.xz +
ItemManager.Random.NextFloat2Direction() * ItemManager.Random.NextFloat(50, 500);
turret.Zone = Zone;
Zone.Entities.Add(turret);
turret.Activate();
});
ConsoleController.AddCommand("pingscene",
_ =>
{
@ -770,7 +791,7 @@ public class ActionGameManager : MonoBehaviour
Dialog.MoveToCursor();
AkSoundEngine.PostEvent("UI_Fail", gameObject);
}
else if (CurrentEntity.GetBehavior<Thruster>() == null)
else if (CurrentEntity.GetBehavior<Thruster>() == null && CurrentEntity.GetBehavior<AetherDrive>() == null)
{
Dialog.Clear();
Dialog.Title.text = "Can't undock. Missing thruster component!";
@ -1011,6 +1032,10 @@ public class ActionGameManager : MonoBehaviour
{
ship.MovementDirection = Input.Player.Move.ReadValue<Vector2>();
}
var tractorPower = Input.Player.TractorBeam.ReadValue<float>();
CurrentEntity.TractorPower =
saturate(CurrentEntity.TractorPower + sign(tractorPower - CurrentEntity.TractorPower) * Time.deltaTime * 2);
}
Zone.Update(Time.deltaTime);
}

View file

@ -7,6 +7,7 @@ using UnityEngine;
using Unity.Mathematics;
using static Unity.Mathematics.math;
using float2 = Unity.Mathematics.float2;
using Random = UnityEngine.Random;
public class EntityInstance : MonoBehaviour
{
@ -60,6 +61,7 @@ public class EntityInstance : MonoBehaviour
public Transform LookAtPoint { get; private set; }
public Entity Entity { get; private set; }
public ZoneRenderer ZoneRenderer { get; private set; }
public Transform LocalSpace { get; private set; }
public bool Visible
{
get => _fade > 0.01f;
@ -67,6 +69,7 @@ public class EntityInstance : MonoBehaviour
private void Awake()
{
LocalSpace = new GameObject().transform;
var meshes = gameObject.GetComponentsInChildren<MeshRenderer>();
var materials = new List<(Material material, List<(MeshRenderer renderer, int index)> submeshes)>();
foreach (var mesh in meshes)
@ -150,6 +153,8 @@ public class EntityInstance : MonoBehaviour
public virtual void SetEntity(ZoneRenderer zoneRenderer, Entity entity)
{
gameObject.name = entity.Name;
LocalSpace.gameObject.name = $"{entity.Name} Sim Space";
LocalSpace.SetParent(transform.parent);
Entity = entity;
ZoneRenderer = zoneRenderer;
var hullData = entity.ItemManager.GetData(entity.Hull) as HullData;
@ -419,6 +424,27 @@ public class EntityInstance : MonoBehaviour
{
if (!this) return;
_destroyed = true;
foreach (var gear in Entity.Equipment)
{
if (Random.value < ZoneRenderer.Settings.LootDropProbability)
{
ZoneRenderer.DropItem(
Entity.Position,
Random.onUnitSphere * ZoneRenderer.Settings.LootDropVelocity,
gear.EquippableItem);
}
}
foreach (var cargo in Entity.CargoBays)
{
foreach (var item in cargo.Cargo.Keys)
{
ZoneRenderer.DropItem(
Entity.Position,
Random.onUnitSphere * ZoneRenderer.Settings.LootDropVelocity,
item);
}
}
if (DestroyEffect != null)
{
var t = Instantiate(DestroyEffect).transform;
@ -453,6 +479,7 @@ public class EntityInstance : MonoBehaviour
public virtual void Update()
{
LocalSpace.localPosition = transform.localPosition;
if (_currentPing.transform)
{
_currentPing.transform.localScale = _sensor.PingRadius * Vector3.one;
@ -531,15 +558,16 @@ public class EntityInstance : MonoBehaviour
public virtual void OnDestroy()
{
Destroy(LocalSpace.gameObject);
foreach (var r in _radiatorSfx)
{
AkSoundEngine.PostEvent(r.Key.Item.Data.SoundEffectTrigger + "_stop", r.Value);
AkSoundEngine.PostEvent($"{r.Key.Item.Data.SoundEffectTrigger}_stop", r.Value);
AkSoundEngine.UnregisterGameObj(r.Value);
}
if (_reactor.reactor != null)
{
AkSoundEngine.PostEvent(_reactor.reactor.Item.Data.SoundEffectTrigger + "_stop", _reactor.sfxSource);
AkSoundEngine.PostEvent($"{_reactor.reactor.Item.Data.SoundEffectTrigger}_stop", _reactor.sfxSource);
AkSoundEngine.UnregisterGameObj(_reactor.sfxSource);
}
foreach(var x in _subscriptions)

View file

@ -11,6 +11,9 @@ using UnityEngine;
public class GameSettings : ScriptableObject
{
public string StartingHullName = "Longinus";
public float PickupLifetime = 30;
public float LootDropProbability = .25f;
public float LootDropVelocity = 25;
public float HeatstrokePhasingFloor = 0;
public float HeatstrokePhasingFrequency = 5;
public float WormholeDistanceRatio;

View file

@ -0,0 +1,49 @@
using System;
using Unity.Mathematics;
using UnityEngine;
using static Unity.Mathematics.math;
using Random = UnityEngine.Random;
public class GridObject : MonoBehaviour
{
public float RotationSpeed;
public float GridOffset;
public float GridAttraction;
public float Gravity;
public float Drag = .1f;
public float LaunchDrag;
private float2 _selfVelocity;
private float _timeOffset;
public Zone Zone { get; set; }
public Vector3 Velocity { get; set; }
private void Start()
{
_timeOffset = Random.value * 100;
}
void Update()
{
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);
Velocity *= max(0, 1 - LaunchDrag * Time.deltaTime);
var normal = Zone.GetNormal(position.Flatland());
var force = new float2(normal.x, normal.z);
var forceMagnitude = lengthsq(force);
if (forceMagnitude > .001f)
{
var fa = 1 / (1 - forceMagnitude) - 1;
_selfVelocity += normalize(force) * Zone.Settings.GravityStrength * fa * Gravity;
}
_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

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 737f47c158214f0995ba2835f040ed96
timeCreated: 1618441439

View file

@ -0,0 +1,6 @@
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
public ItemInstance Item { get; set; }
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0c18f67d85af44c2b5afc8ecd15ce960
timeCreated: 1618445037

View file

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.Mathematics;
using static Unity.Mathematics.math;
using UnityEngine;
@ -17,7 +18,37 @@ public class ShieldManager : MonoBehaviour
var otherShield = other.collider.GetComponent<ShieldManager>();
if (!otherShield)
{
Debug.Log("Shield collision occurred, but other collider isn't a shield!");
var gridObject = other.collider.GetComponent<GridObject>();
if (gridObject)
{
var itemPickup = other.collider.GetComponent<ItemPickup>();
var mine = other.collider.GetComponent<Mine>();
if (itemPickup)
{
if (Entity.CargoBays.Any(c => c.TryStore(itemPickup.Item)))
{
// TODO: Pickup notification!
Destroy(itemPickup.gameObject);
}
else
{
// TODO: Pickup failed notification!
var cp = other.GetContact(0);
gridObject.Velocity += cp.normal * 25;
Debug.Log("Attempted item pickup, but no space in cargo bay!");
}
}
else if (mine)
{
mine.Explode();
}
else
{
Debug.Log("Shield collision occurred with grid object, but other collider isn't a mine or an item pickup!");
}
}
else
Debug.Log("Shield collision occurred, but other collider isn't a shield or a grid object!");
return;
}
var contact = other.GetContact(0);

View file

@ -1,9 +1,12 @@
using System;
using System.Collections;
using System.Linq;
using UnityEngine;
public class ShipInstance : EntityInstance
{
private static int _shipIndex;
public TractorBeam TractorBeam;
private class ThrusterInstance
{
public Thruster Thruster;
@ -17,6 +20,12 @@ public class ShipInstance : EntityInstance
public Ship Ship { get; private set; }
private void Start()
{
var tractorBeamMain = TractorBeam.ParticleSystem.main;
tractorBeamMain.customSimulationSpace = LocalSpace;
}
public override void SetEntity(ZoneRenderer zoneRenderer, Entity entity)
{
base.SetEntity(zoneRenderer, entity);
@ -79,6 +88,9 @@ public class ShipInstance : EntityInstance
public override void Update()
{
base.Update();
TractorBeam.Power = Entity.TractorPower;
TractorBeam.Direction = Entity.LookDirection;
foreach (var thrusterInstance in _thrusters)
{

View file

@ -0,0 +1,19 @@
using System;
using UnityEngine;
public class TimedDestroy : MonoBehaviour
{
public float Duration;
private float _startTime;
private void Start()
{
_startTime = Time.time;
}
public void Update()
{
if(Time.time - _startTime > Duration) Destroy(gameObject);
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5d5539a23b814254b038a16f32f1d8a9
timeCreated: 1618453298

View file

@ -0,0 +1,33 @@
using System;
using UnityEngine;
public class TractorBeam : MonoBehaviour
{
public ParticleSystem ParticleSystem;
public float Radius;
public float Traction;
public float Distance;
public float Power { get; set; }
public Vector3 Direction { get; set; }
public void Update()
{
transform.rotation = Quaternion.LookRotation(Direction);
var emission = ParticleSystem.emission;
if (Power > .01f)
{
var objectFound = false;
foreach (var o in Physics.SphereCastAll(transform.position, Radius, Direction, Distance, 1 << 21))
{
var gridObject = o.collider.GetComponent<GridObject>();
if (gridObject == null) continue;
objectFound = true;
gridObject.Velocity += Vector3.Normalize(transform.position - gridObject.transform.position) * (Traction * Time.deltaTime);
}
emission.rateOverTimeMultiplier = objectFound ? Power : 0;
}
else emission.rateOverTimeMultiplier = 0;
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3f02211fcfb247b88dc54e58ad3b72d8
timeCreated: 1618450377

View file

@ -17,7 +17,6 @@ public class ConstantParticleWeapon : MonoBehaviour
private float _emission;
private List<ParticleSystem.Particle> _collisionParticles = new List<ParticleSystem.Particle>();
private HullCollider _hull;
private Transform _simulationSpace;
private void Start()
{
@ -33,12 +32,11 @@ public class ConstantParticleWeapon : MonoBehaviour
public void Initialize()
{
_simulationSpace = new GameObject($"{gameObject.name} Sim Space").transform;
foreach(var p in Particles)
{
var main = p.main;
main.simulationSpace = ParticleSystemSimulationSpace.Custom;
main.customSimulationSpace = _simulationSpace;
main.customSimulationSpace = Source.LocalSpace;
}
var trigger = Particles[0].trigger;
@ -57,11 +55,9 @@ public class ConstantParticleWeapon : MonoBehaviour
private void Update()
{
if (Source == null) return;
_simulationSpace.position = Source.transform.position;
if (_stopping && Particles.All(p=>p.particleCount == 0))
{
GetComponent<Prototype>().ReturnToPool();
Destroy(_simulationSpace.gameObject);
return;
}
}

View file

@ -8,6 +8,7 @@ using Random = UnityEngine.Random;
public class Mine : MonoBehaviour
{
public GridObject GridObject;
public MeshRenderer MeshRenderer;
public int EmissionSubmesh;
public AnimationCurve EmissionCurve;
@ -15,12 +16,6 @@ public class Mine : MonoBehaviour
public float ArmedCycleDuration;
public float ActiveEmission;
public float ArmedEmission;
public float RotationSpeed;
public float GridOffset;
public float GridAttraction;
public float Gravity;
public float Drag = .1f;
public float LaunchDrag;
public Prototype HitEffect;
public float Lifetime;
@ -28,7 +23,6 @@ public class Mine : MonoBehaviour
public float BlastRange;
public float BlastDelay;
private float2 _selfVelocity;
private float _startTime;
private float _blastTime;
private bool _blastCountdown;
@ -36,9 +30,6 @@ public class Mine : MonoBehaviour
private Material _material;
private float _pulseLerp;
private float _emission;
public Zone Zone { get; set; }
public Vector3 Velocity { get; set; }
public float Damage { get; set; }
public DamageType DamageType { get; set; }
public EntityInstance Source { get; set; }
@ -60,25 +51,8 @@ public class Mine : MonoBehaviour
// Update is called once per frame
void Update()
{
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);
Velocity *= max(0, 1 - LaunchDrag * Time.deltaTime);
var normal = Zone.GetNormal(position.Flatland());
var force = new float2(normal.x, normal.z);
var forceMagnitude = lengthsq(force);
if (forceMagnitude > .001f)
{
var fa = 1 / (1 - forceMagnitude) - 1;
_selfVelocity += normalize(force) * Zone.Settings.GravityStrength * fa * Gravity;
}
_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-_startTime * RotationSpeed) * 90, 0, cos(Time.time-_startTime * RotationSpeed) * 90);
var position = transform.position;
if (Time.time - _startTime > ActivationDelay && !_active)
{
_active = true;
@ -91,7 +65,7 @@ public class Mine : MonoBehaviour
_pulseLerp %= 1;
if(!_blastCountdown)
{
foreach (var collider in Physics.OverlapSphere(t.position, BlastRange, 1))
foreach (var collider in Physics.OverlapSphere(position, BlastRange, 1))
{
var hull = collider.GetComponent<HullCollider>();
if (hull)
@ -106,26 +80,32 @@ public class Mine : MonoBehaviour
Time.time - _startTime > Lifetime ||
_blastCountdown && Time.time > _blastTime)
{
foreach (var collider in Physics.OverlapSphere(t.position, BlastRange, 1 | (1 << 17)))
{
var shield = collider.GetComponent<ShieldManager>();
if (shield && (shield.Entity.Shield != null && shield.Entity.Shield.Item.Active.Value && shield.Entity.Shield.CanTakeHit(DamageType, Damage)))
{
shield.Entity.Shield.TakeHit(DamageType, Damage);
shield.ShowHit(t.position, sqrt(Damage));
}
var hull = collider.GetComponent<HullCollider>();
if (hull && !(hull.Entity.Shield != null && hull.Entity.Shield.Item.Active.Value && hull.Entity.Shield.CanTakeHit(DamageType, Damage)))
{
hull.SendSplash(Damage, DamageType, Source.Entity, (collider.transform.position - t.position).normalized);
}
}
var ht = HitEffect.Instantiate<Transform>();
ht.position = t.position;
GetComponent<Prototype>().ReturnToPool();
Explode();
}
}
_material.SetFloat("_Emission", _emission * EmissionCurve.Evaluate(_pulseLerp));
}
public void Explode()
{
var position = transform.position;
foreach (var collider in Physics.OverlapSphere(position, BlastRange, 1 | (1 << 17)))
{
var shield = collider.GetComponent<ShieldManager>();
if (shield && (shield.Entity.Shield != null && shield.Entity.Shield.Item.Active.Value && shield.Entity.Shield.CanTakeHit(DamageType, Damage)))
{
shield.Entity.Shield.TakeHit(DamageType, Damage);
shield.ShowHit(position, sqrt(Damage));
}
var hull = collider.GetComponent<HullCollider>();
if (hull && !(hull.Entity.Shield != null && hull.Entity.Shield.Item.Active.Value && hull.Entity.Shield.CanTakeHit(DamageType, Damage)))
{
hull.SendSplash(Damage, DamageType, Source.Entity, (collider.transform.position - position).normalized);
}
}
var ht = HitEffect.Instantiate<Transform>();
ht.position = position;
GetComponent<Prototype>().ReturnToPool();
}
}

View file

@ -18,17 +18,17 @@ public class MineManager : InstantWeaponEffectManager
var angle = weapon.Spread / 2;
p.Source = source;
p.transform.position = barrel.position;
p.Velocity = Quaternion.Euler(
Random.Range(-angle, angle),
Random.Range(-angle, angle),
Random.Range(-angle, angle)) *
barrel.forward *
weapon.Velocity;
p.GridObject.Velocity = Quaternion.Euler(
Random.Range(-angle, angle),
Random.Range(-angle, angle),
Random.Range(-angle, angle)) *
barrel.forward *
weapon.Velocity;
if(InheritVelocity)
p.Velocity += new Vector3(source.Entity.Velocity.x, 0, source.Entity.Velocity.y);
p.GridObject.Velocity += new Vector3(source.Entity.Velocity.x, 0, source.Entity.Velocity.y);
p.Damage = weapon.Damage;
p.Range = weapon.Range;
p.DamageType = weapon.WeaponData.DamageType;
p.Zone = source.Entity.Zone;
p.GridObject.Zone = source.Entity.Zone;
}
}

View file

@ -84,6 +84,8 @@ public abstract class Entity
public bool OverrideShutdown { get; set; }
public float TractorPower { get; set; }
public bool Active
{
get => _active;

View file

@ -37,9 +37,12 @@ public class ZoneRenderer : MonoBehaviour
public LODHandler LODHandler;
public Slime SlimeRenderer;
public Camera SlimeGravityCamera;
[Header("Tour")]
public bool Tour;
public GridObject SimpleCommodityPickup;
public GridObject CompoundCommodityPickup;
public GridObject GearPickup;
public GridObject WeaponPickup;
[Header("Tour")] public bool Tour;
public float TourSwitchTime = 5f;
public float TourFollowDistance = 30f;
public float TourHeightOffset = 15;
@ -48,21 +51,17 @@ public class ZoneRenderer : MonoBehaviour
// public Mesh[] AsteroidMeshes;
// public Material AsteroidMaterial;
[Header("Prefabs")]
public MeshFilter AsteroidBeltUI;
[Header("Prefabs")] public MeshFilter AsteroidBeltUI;
public PlanetObject Planet;
public GasGiantObject GasGiant;
public SunObject Sun;
[Header("Icons")]
public Texture2D PlanetoidIcon;
[Header("Icons")] public Texture2D PlanetoidIcon;
public Texture2D PlanetIcon;
[HideInInspector]
public Dictionary<Entity, EntityInstance> EntityInstances = new Dictionary<Entity, EntityInstance>();
[HideInInspector]
public Dictionary<Guid, PlanetObject> Planets = new Dictionary<Guid, PlanetObject>();
[HideInInspector] public Dictionary<Entity, EntityInstance> EntityInstances = new Dictionary<Entity, EntityInstance>();
[HideInInspector] public Dictionary<Guid, PlanetObject> Planets = new Dictionary<Guid, PlanetObject>();
private Dictionary<Guid, AsteroidBeltUI> _beltObjects = new Dictionary<Guid, AsteroidBeltUI>();
private Dictionary<Guid, InstancedMesh[]> _beltMeshes = new Dictionary<Guid, InstancedMesh[]>();
private Dictionary<Guid, Matrix4x4[][]> _beltMatrices = new Dictionary<Guid, Matrix4x4[][]>();
@ -81,6 +80,7 @@ public class ZoneRenderer : MonoBehaviour
private PlanetObject[] _suns;
public Dictionary<Wormhole, GameObject> WormholeInstances = new Dictionary<Wormhole, GameObject>();
private List<GridObject> _gridObjects = new List<GridObject>();
public Zone Zone { get; private set; }
public ItemManager ItemManager { get; set; }
@ -101,9 +101,9 @@ public class ZoneRenderer : MonoBehaviour
}
else
{
foreach(var entity in EntityInstances.Values)
foreach (var entity in EntityInstances.Values)
entity.FadeOut(EntityFadeTime);
foreach(var entity in value.VisibleEntities)
foreach (var entity in value.VisibleEntities)
EntityInstances[entity].FadeIn(EntityFadeTime);
EntityInstances[value].FadeIn(EntityFadeTime);
_perspectiveSubscriptions[0] = value.VisibleEntities.ObserveAdd()
@ -132,7 +132,7 @@ public class ZoneRenderer : MonoBehaviour
{
set
{
foreach(var camera in MinimapCameras)
foreach (var camera in MinimapCameras)
camera.orthographicSize = value;
// MinimapGravityQuad.transform.localScale = value * 2 * Vector3.one;
}
@ -142,7 +142,7 @@ public class ZoneRenderer : MonoBehaviour
{
ViewDistance = Settings.DefaultViewDistance;
MinimapDistance = Settings.MinimapZoomLevels[Settings.DefaultMinimapZoom];
_tourTimer = TourSwitchTime;
_transposer = SceneCamera.GetCinemachineComponent<CinemachineTransposer>();
}
@ -155,24 +155,25 @@ public class ZoneRenderer : MonoBehaviour
SectorBrushes.localScale = zone.Pack.Radius * 2 * Vector3.one;
SlimeGravityCamera.orthographicSize = zone.Pack.Radius;
SlimeRenderer.ZoneRadius = zone.Pack.Radius;
foreach(var p in zone.Planets.Values)
foreach (var p in zone.Planets.Values)
LoadPlanet(p);
_suns = Planets.Values.Where(p => p is SunObject).ToArray();
foreach (var x in Planets)
{
if (!(zone.Planets[x.Key] is GasGiantData))
{
}
}
foreach(var entity in zone.Entities)
// foreach (var x in Planets)
// {
// if (!(zone.Planets[x.Key] is GasGiantData))
// {
//
// }
// }
foreach (var entity in zone.Entities)
{
Debug.Log($"Loading entity {entity.Name} from existing zone entity collection");
LoadEntity(entity);
}
_zoneSubscriptions.Add(zone.Entities.ObserveAdd().Subscribe(e =>
{
//Debug.Log($"Loading entity {e.Value.Name} from zone add event");
@ -183,8 +184,8 @@ public class ZoneRenderer : MonoBehaviour
//Debug.Log($"Unloading entity {e.Value.Name} from zone remove event");
UnloadEntity(e.Value);
}));
if(zone.SectorZone != null)
if (zone.SectorZone != null)
{
foreach (var adjacentZone in zone.SectorZone.AdjacentZones)
{
@ -210,28 +211,34 @@ public class ZoneRenderer : MonoBehaviour
if (Zone == null) return;
foreach (var wormhole in WormholeInstances.Values) Destroy(wormhole);
WormholeInstances.Clear();
foreach(var subscription in _zoneSubscriptions)
foreach (var subscription in _zoneSubscriptions)
subscription.Dispose();
_zoneSubscriptions.Clear();
foreach(var gridObject in _gridObjects)
if(gridObject) Destroy(gridObject.gameObject);
_gridObjects.Clear();
foreach (var entity in Zone.Entities)
{
Debug.Log($"Unloading entity {entity.Name} from entities remaining during clear!");
UnloadEntity(entity);
}
if (Planets.Count > 0)
{
foreach (var planet in Planets.Values)
{
DestroyImmediate(planet.gameObject);
}
Planets.Clear();
foreach (var beltObject in _beltObjects.Values)
{
Destroy(beltObject.Filter);
}
_beltObjects.Clear();
_beltMeshes.Clear();
_beltMatrices.Clear();
@ -272,11 +279,11 @@ public class ZoneRenderer : MonoBehaviour
{
foreach (var behavior in item.Behaviors)
{
if(behavior is IEventBehavior eventBehavior)
if (behavior is IEventBehavior eventBehavior)
eventBehavior.ResetEvents();
}
}
Destroy(EntityInstances[entity].gameObject);
EntityInstances.Remove(entity);
}
@ -286,20 +293,26 @@ public class ZoneRenderer : MonoBehaviour
if (planetData is AsteroidBeltData beltData)
{
var meshes = AsteroidMeshes.ToList();
while(meshes.Count > Settings.AsteroidMeshCount)
meshes.RemoveAt(Random.Range(0,meshes.Count));
while (meshes.Count > Settings.AsteroidMeshCount)
meshes.RemoveAt(Random.Range(0, meshes.Count));
_beltMeshes[planetData.ID] = meshes.ToArray();
_beltMatrices[planetData.ID] = new Matrix4x4[meshes.Count][];
var count = beltData.Asteroids.Length / meshes.Count;
var remainder = beltData.Asteroids.Length - count * meshes.Count;
for (int i = 0; i < meshes.Count; i++)
{
_beltMatrices[planetData.ID][i] = new Matrix4x4[i<meshes.Count-1 ? count : count+remainder];
_beltMatrices[planetData.ID][i] = new Matrix4x4[i < meshes.Count - 1 ? count : count + remainder];
}
var beltObject = Instantiate(AsteroidBeltUI, ZoneRoot);
var collider = beltObject.GetComponent<MeshCollider>();
var belt = new AsteroidBeltUI(Zone, Zone.AsteroidBelts[beltData.ID], beltObject, collider, AsteroidSpritesheetWidth, AsteroidSpritesheetHeight, Settings.MinimapAsteroidSize);
var belt = new AsteroidBeltUI(Zone,
Zone.AsteroidBelts[beltData.ID],
beltObject,
collider,
AsteroidSpritesheetWidth,
AsteroidSpritesheetHeight,
Settings.MinimapAsteroidSize);
_beltObjects[beltData.ID] = belt;
}
else
@ -333,7 +346,7 @@ public class ZoneRenderer : MonoBehaviour
gasGiant.GravityWavesRadius.Subscribe(f => gas.GravityWaves.transform.localScale = f * Vector3.one);
gasGiant.GravityWavesDepth.Subscribe(f => gas.GravityWaves.material.SetFloat("_Depth", f));
planetData.Mass.Subscribe(f => gas.GravityWaves.material.SetFloat("_Frequency", Settings.PlanetSettings.WaveFrequency.Evaluate(f)));
//gas.WaveScroll.Speed = Properties.GravitySettings.WaveSpeed.Evaluate(f);
//gas.WaveScroll.Speed = Properties.GravitySettings.WaveSpeed.Evaluate(f);
}
else
{
@ -347,10 +360,7 @@ public class ZoneRenderer : MonoBehaviour
}
var planetInstance = Zone.PlanetInstances[planetData.ID];
planetInstance.BodyRadius.Subscribe(f =>
{
planet.Body.transform.localScale = f * Vector3.one;
});
planetInstance.BodyRadius.Subscribe(f => { planet.Body.transform.localScale = f * Vector3.one; });
planetInstance.GravityWellRadius.Subscribe(f => planet.GravityWell.transform.localScale = f * Vector3.one);
planetInstance.GravityWellDepth.Subscribe(f =>
{
@ -359,7 +369,7 @@ public class ZoneRenderer : MonoBehaviour
planet.Icon.transform.position = new Vector3(0, -f, 0);
});
planetInstance.BodyData.Mass.Subscribe(f => planet.Icon.transform.localScale = Settings.IconSize.Evaluate(f) * Vector3.one);
Planets[planetData.ID] = planet;
if (!_rootFound)
@ -368,6 +378,7 @@ public class ZoneRenderer : MonoBehaviour
_root = planet;
}
}
LODHandler.FindPlanets();
}
@ -404,7 +415,8 @@ public class ZoneRenderer : MonoBehaviour
{
SlimeRenderer.SpawnPositions[i] = _suns[i].Body.transform.position.Flatland();
}
foreach(var belt in Zone.AsteroidBelts)
foreach (var belt in Zone.AsteroidBelts)
{
var meshes = _beltMeshes[belt.Key];
var count = belt.Value.Positions.Length / meshes.Length;
@ -423,19 +435,21 @@ public class ZoneRenderer : MonoBehaviour
Graphics.DrawMeshInstanced(meshes[i].Mesh, 0, meshes[i].Material, _beltMatrices[belt.Key][i]);
}
_beltObjects[belt.Key].Update(belt.Value.Positions);
}
foreach (var planet in Planets)
{
var planetInstance = Zone.PlanetInstances[planet.Key];
var p = Zone.GetOrbitPosition(planetInstance.BodyData.Orbit);
planet.Value.transform.position = new Vector3(p.x, 0, p.y);
planet.Value.Body.transform.localPosition = new Vector3(0, Zone.GetHeight(p) + planetInstance.BodyRadius.Value * 2, 0);
if(planet.Value is GasGiantObject gasGiantObject)
if (planet.Value is GasGiantObject gasGiantObject)
{
gasGiantObject.GravityWaves.material.SetFloat("_Phase", Zone.Time * ((GasGiant) Zone.PlanetInstances[planet.Key]).GravityWavesSpeed.Value);
if(!(planet.Value is SunObject))
gasGiantObject.GravityWaves.material.SetFloat("_Phase",
Zone.Time * ((GasGiant) Zone.PlanetInstances[planet.Key]).GravityWavesSpeed.Value);
if (!(planet.Value is SunObject))
{
var toParent = normalize(Zone.GetOrbitPosition(Zone.Orbits[planetInstance.BodyData.Orbit].Data.Parent) - p);
gasGiantObject.SunMaterial.LightingDirection = new Vector3(toParent.x, 0, toParent.y);
@ -447,17 +461,37 @@ public class ZoneRenderer : MonoBehaviour
var fogPos = FogCameraParent.position;
SectorBoundaryBrush.material.SetFloat("_Power", Settings.PlanetSettings.ZoneDepthExponent);
SectorBoundaryBrush.material.SetFloat("_Depth", Settings.PlanetSettings.ZoneDepth + Settings.PlanetSettings.ZoneBoundaryFog);
var startDepth = Zone.PowerPulse(Settings.MinimapZoneGravityRange, Settings.PlanetSettings.ZoneDepthExponent) * Settings.PlanetSettings.ZoneDepth;
var startDepth = Zone.PowerPulse(Settings.MinimapZoneGravityRange, Settings.PlanetSettings.ZoneDepthExponent) *
Settings.PlanetSettings.ZoneDepth;
var depthRange = Settings.PlanetSettings.ZoneDepth - startDepth + _maxDepth;
// MinimapGravityQuad.material.SetFloat("_StartDepth", startDepth);
// MinimapGravityQuad.material.SetFloat("_DepthRange", depthRange);
FogMaterial.SetFloat("_GridOffset", Settings.PlanetSettings.ZoneBoundaryFog);
FogMaterial.SetVector("_GridTransform", new Vector4(fogPos.x,fogPos.z,_viewDistance*2));
FogMaterial.SetVector("_GridTransform", new Vector4(fogPos.x, fogPos.z, _viewDistance * 2));
// var gravPos = MinimapGravityQuad.transform.position;
// gravPos.y = -Settings.PlanetSettings.ZoneDepth - _maxDepth;
// MinimapGravityQuad.transform.position = gravPos;
// MinimapTintQuad.transform.position = gravPos - Vector3.up*10;
}
public void DropItem(Vector3 position, Vector3 velocity, ItemInstance item)
{
var gridObject = item switch
{
SimpleCommodity _ => Instantiate(SimpleCommodityPickup),
CompoundCommodity _ => Instantiate(CompoundCommodityPickup),
EquippableItem equippableItem when ItemManager.GetData(equippableItem) is WeaponItemData => Instantiate(WeaponPickup),
EquippableItem _ => Instantiate(GearPickup)
};
var t = gridObject.transform;
t.parent = ZoneRoot;
gridObject.Zone = Zone;
t.position = position;
gridObject.Velocity = velocity;
gridObject.gameObject.AddComponent<ItemPickup>().Item = item;
gridObject.gameObject.AddComponent<TimedDestroy>().Duration = Settings.PickupLifetime;
_gridObjects.Add(gridObject);
}
}
@ -483,7 +517,13 @@ public class AsteroidBeltUI
private AsteroidBelt _belt;
private float _scale;
public AsteroidBeltUI(Zone zone, AsteroidBelt belt, MeshFilter meshFilter, MeshCollider collider, int spritesheetWidth, int spritesheetHeight, float scale)
public AsteroidBeltUI(Zone zone,
AsteroidBelt belt,
MeshFilter meshFilter,
MeshCollider collider,
int spritesheetWidth,
int spritesheetHeight,
float scale)
{
_belt = belt;
_zone = zone;
@ -491,10 +531,10 @@ public class AsteroidBeltUI
_collider = collider;
var orbit = zone.Orbits[belt.Data.Orbit];
_orbitParent = orbit.Data.Parent;
_vertices = new Vector3[_belt.Data.Asteroids.Length*4];
_normals = new Vector3[_belt.Data.Asteroids.Length*4];
_uvs = new Vector2[_belt.Data.Asteroids.Length*4];
_indices = new int[_belt.Data.Asteroids.Length*6];
_vertices = new Vector3[_belt.Data.Asteroids.Length * 4];
_normals = new Vector3[_belt.Data.Asteroids.Length * 4];
_uvs = new Vector2[_belt.Data.Asteroids.Length * 4];
_indices = new int[_belt.Data.Asteroids.Length * 6];
_scale = scale;
var maxDist = 0f;
@ -506,12 +546,12 @@ public class AsteroidBeltUI
maxDist = belt.Data.Asteroids[i].Distance;
var spriteX = Random.Range(0, spritesheetWidth);
var spriteY = Random.Range(0, spritesheetHeight);
_uvs[i * 4] = new Vector2(spriteX * spriteSize.x, spriteY * spriteSize.y);
_uvs[i * 4 + 1] = new Vector2(spriteX * spriteSize.x, spriteY * spriteSize.y + spriteSize.y);
_uvs[i * 4 + 2] = new Vector2(spriteX * spriteSize.x + spriteSize.x, spriteY * spriteSize.y + spriteSize.y);
_uvs[i * 4 + 3] = new Vector2(spriteX * spriteSize.x + spriteSize.x, spriteY * spriteSize.y);
_indices[i * 6] = i * 4;
_indices[i * 6 + 1] = i * 4 + 1;
_indices[i * 6 + 2] = i * 4 + 3;
@ -519,12 +559,12 @@ public class AsteroidBeltUI
_indices[i * 6 + 4] = i * 4 + 1;
_indices[i * 6 + 5] = i * 4 + 2;
}
for (var i = 0; i < _normals.Length; i++)
{
_normals[i] = -Vector3.forward;
}
_mesh = new Mesh();
_mesh.vertices = _vertices;
_mesh.uv = _uvs;
@ -544,10 +584,10 @@ public class AsteroidBeltUI
{
var rotation = Quaternion.Euler(90, _belt.Rotations[i], 0);
//var position = new Vector3(_belt.Transforms[i].x, _zone.GetHeight(parentPosition), _belt.Transforms[i].y);
_vertices[i * 4] = rotation * new Vector3(-_belt.Scales[i] * _scale,-_belt.Scales[i] * _scale,0) + (Vector3) positions[i];
_vertices[i * 4 + 1] = rotation * new Vector3(-_belt.Scales[i] * _scale,_belt.Scales[i] * _scale,0) + (Vector3) positions[i];
_vertices[i * 4 + 2] = rotation * new Vector3(_belt.Scales[i] * _scale,_belt.Scales[i] * _scale,0) + (Vector3) positions[i];
_vertices[i * 4 + 3] = rotation * new Vector3(_belt.Scales[i] * _scale,-_belt.Scales[i] * _scale,0) + (Vector3) positions[i];
_vertices[i * 4] = rotation * new Vector3(-_belt.Scales[i] * _scale, -_belt.Scales[i] * _scale, 0) + (Vector3) positions[i];
_vertices[i * 4 + 1] = rotation * new Vector3(-_belt.Scales[i] * _scale, _belt.Scales[i] * _scale, 0) + (Vector3) positions[i];
_vertices[i * 4 + 2] = rotation * new Vector3(_belt.Scales[i] * _scale, _belt.Scales[i] * _scale, 0) + (Vector3) positions[i];
_vertices[i * 4 + 3] = rotation * new Vector3(_belt.Scales[i] * _scale, -_belt.Scales[i] * _scale, 0) + (Vector3) positions[i];
}
_mesh.bounds = new Bounds(new Vector3(parentPosition.x, 0, parentPosition.y), Vector3.one * (_size * 2));

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

Binary file not shown.

BIN
ProjectSettings/DynamicsManager.asset (Stored with Git LFS)

Binary file not shown.

BIN
ProjectSettings/TagManager.asset (Stored with Git LFS)

Binary file not shown.