Update Project
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1430be932efe0d40923107fdc708b69
|
||||
folderAsset: yes
|
||||
timeCreated: 1456415682
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb9fbf243818b9f4da06d2a270af791b
|
||||
folderAsset: yes
|
||||
timeCreated: 1456415688
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Background
|
||||
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 2800000, guid: f7fb955b5256c934db2b806c17259412, type: 3}
|
||||
m_Scale: {x: 700, y: 700}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 20, y: 20}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
data:
|
||||
first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 1, b: 1, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2b89dae86aac9a4d9b52881cf3be975
|
||||
timeCreated: 1456416108
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: BulletEnemy
|
||||
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
data:
|
||||
first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 0.50735295, b: 0.50735295, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eeda8e5511ed0494ea45f29b908d1d8c
|
||||
timeCreated: 1456628383
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: BulletPlayer
|
||||
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
data:
|
||||
first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 0.52205884, g: 0.6637931, b: 1, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a7a4a87af7fdbd44da0519a1910c7393
|
||||
timeCreated: 1456628375
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Enemy1
|
||||
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
data:
|
||||
first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 1.007353, g: 0.42219937, b: 0.42219937, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50755dee91b8d2142a777c6b00ad6923
|
||||
timeCreated: 1456415788
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Flame01
|
||||
m_Shader: {fileID: 202, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 2800000, guid: b260cbc8d9bc048bd8834c7a1b5aed36, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _InvFade
|
||||
second: 1
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 1, b: 1, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _TintColor
|
||||
second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
data:
|
||||
first:
|
||||
name: _EmisColor
|
||||
second: {r: 0.2, g: 0.2, b: 0.2, a: 0}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b1ca011c5f92d4fd4b5aeac44fd607c6
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Player
|
||||
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
data:
|
||||
first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
data:
|
||||
first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
data:
|
||||
first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
data:
|
||||
first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
data:
|
||||
first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
data:
|
||||
first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 0.38235295, g: 0.56551725, b: 1, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8f4cc0ab4d6d85f4ea468f16219910a1
|
||||
timeCreated: 1456415773
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96f1cf13d4ff7b64a94cec1030ec9fb3
|
||||
folderAsset: yes
|
||||
timeCreated: 1456591991
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 950e79470b07b6744b6558de90f9baa3
|
||||
folderAsset: yes
|
||||
timeCreated: 1456592001
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Material
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords: _EMISSION
|
||||
m_LightmapFlags: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
- first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
- first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _DstBlend
|
||||
second: 0
|
||||
- first:
|
||||
name: _GlossMapScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
- first:
|
||||
name: _GlossyReflections
|
||||
second: 1
|
||||
- first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
- first:
|
||||
name: _Mode
|
||||
second: 0
|
||||
- first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
- first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
- first:
|
||||
name: _SmoothnessTextureChannel
|
||||
second: 0
|
||||
- first:
|
||||
name: _SpecularHighlights
|
||||
second: 1
|
||||
- first:
|
||||
name: _SrcBlend
|
||||
second: 1
|
||||
- first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
- first:
|
||||
name: _ZWrite
|
||||
second: 1
|
||||
m_Colors:
|
||||
- first:
|
||||
name: _Color
|
||||
second: {r: 0.8, g: 0.8, b: 0.8, a: 1}
|
||||
- first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9aa4d682c71a304b87783910b8a6ef1
|
||||
timeCreated: 1456592001
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
+82
@@ -0,0 +1,82 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 73637a3b17554e34c9e921d4df1ee609
|
||||
ModelImporter:
|
||||
serializedVersion: 19
|
||||
fileIDToRecycleName:
|
||||
100000: Camera
|
||||
100002: Cube
|
||||
100004: Lamp
|
||||
100006: //RootNode
|
||||
400000: Camera
|
||||
400002: Cube
|
||||
400004: Lamp
|
||||
400006: //RootNode
|
||||
2300000: Cube
|
||||
3300000: Cube
|
||||
4300000: Cube
|
||||
7400000: Default Take
|
||||
9500000: //RootNode
|
||||
materials:
|
||||
importMaterials: 1
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleRotations: 1
|
||||
optimizeGameObjects: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
clipAnimations: []
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
importBlendShapes: 1
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
optimizeMeshForGPU: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 1
|
||||
tangentImportMode: 4
|
||||
importAnimation: 1
|
||||
copyAvatar: 0
|
||||
humanDescription:
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 331b62380ac0abd418e39e9d00e236e9
|
||||
folderAsset: yes
|
||||
timeCreated: 1456426127
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!134 &13400000
|
||||
PhysicMaterial:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Enemy
|
||||
dynamicFriction: 0
|
||||
staticFriction: 0
|
||||
bounciness: 1
|
||||
frictionCombine: 0
|
||||
bounceCombine: 0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ba31e708eff4af47b2892effb58e466
|
||||
timeCreated: 1456426139
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5996ad5d7b083b84bb09e94dfe39741f
|
||||
folderAsset: yes
|
||||
timeCreated: 1456415640
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!23 &2318970
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 1211991173579106}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &11481176
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 1211991173579106}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4bcfdc0e00dba5645b88ed3608c61161, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_renderer: {fileID: 2318970}
|
||||
_playerMaterial: {fileID: 2100000, guid: a7a4a87af7fdbd44da0519a1910c7393, type: 2}
|
||||
_enemyMaterial: {fileID: 2100000, guid: eeda8e5511ed0494ea45f29b908d1d8c, type: 2}
|
||||
--- !u!1001 &100100000
|
||||
Prefab:
|
||||
m_ObjectHideFlags: 1
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 0}
|
||||
propertyPath: m_IsTrigger
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 0}
|
||||
propertyPath: m_Mass
|
||||
value: 11.95
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_ParentPrefab: {fileID: 0}
|
||||
m_RootGameObject: {fileID: 1211991173579106}
|
||||
m_IsPrefabParent: 1
|
||||
--- !u!1 &1211991173579106
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 4081474240255722}
|
||||
- component: {fileID: 33606203387721046}
|
||||
- component: {fileID: 65837712711271418}
|
||||
- component: {fileID: 2318970}
|
||||
- component: {fileID: 11481176}
|
||||
m_Layer: 0
|
||||
m_Name: Bullet
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4081474240255722
|
||||
Transform:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 1211991173579106}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.3316879, y: 1.6117618, z: -0.07171571}
|
||||
m_LocalScale: {x: 2, y: 0.25, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &33606203387721046
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 1211991173579106}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!65 &65837712711271418
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 1211991173579106}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d22825d6393b964f90d550dd2acc50f
|
||||
timeCreated: 1456594068
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &158650
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 463158}
|
||||
- component: {fileID: 3388348}
|
||||
- component: {fileID: 2329700}
|
||||
- component: {fileID: 5458816}
|
||||
- component: {fileID: 6529106}
|
||||
- component: {fileID: 114673860568823044}
|
||||
- component: {fileID: 114435164261030832}
|
||||
- component: {fileID: 114736095060536390}
|
||||
m_Layer: 8
|
||||
m_Name: Enemy
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &463158
|
||||
Transform:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0.39402217, w: 0.91910094}
|
||||
m_LocalPosition: {x: 41.7, y: 4.7, z: 0}
|
||||
m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &2329700
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 50755dee91b8d2142a777c6b00ad6923, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &3388348
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Mesh: {fileID: 4300000, guid: 73637a3b17554e34c9e921d4df1ee609, type: 3}
|
||||
--- !u!54 &5458816
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 2
|
||||
m_AngularDrag: 3
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 56
|
||||
m_CollisionDetection: 0
|
||||
--- !u!65 &6529106
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 2, y: 1.9999999, z: 2}
|
||||
m_Center: {x: 0, y: 0, z: 0.06762599}
|
||||
--- !u!1001 &100100000
|
||||
Prefab:
|
||||
m_ObjectHideFlags: 1
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications: []
|
||||
m_RemovedComponents: []
|
||||
m_ParentPrefab: {fileID: 0}
|
||||
m_RootGameObject: {fileID: 158650}
|
||||
m_IsPrefabParent: 1
|
||||
--- !u!114 &114435164261030832
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0166d8ff8d905b048b2448179e1f5d11, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_components:
|
||||
- {fileID: 114736095060536390}
|
||||
- {fileID: 114673860568823044}
|
||||
_identifier:
|
||||
_context: {fileID: 0}
|
||||
_bindType: 0
|
||||
--- !u!114 &114673860568823044
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ae49206d36b59354b98f680504160bc4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_renderer: {fileID: 2329700}
|
||||
_collider: {fileID: 6529106}
|
||||
_rigidBody: {fileID: 5458816}
|
||||
--- !u!114 &114736095060536390
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 158650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fac47e4da43b2ca4d955370e0dc6990e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55f63c48150ecbb469e095dbde67c6e9
|
||||
timeCreated: 1456415643
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+6938
File diff suppressed because it is too large
Load Diff
+6
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93a60ba8e409947b1a0334537c8b38c8
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0492983cf98427c42b891e9ee08409a7
|
||||
folderAsset: yes
|
||||
timeCreated: 1456615196
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
+22
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9517356afb533a41b9e7cb6f155031e
|
||||
timeCreated: 1456673734
|
||||
licenseType: Free
|
||||
AudioImporter:
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
+22
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9cb65eb2505fbf443ac876ba177374f9
|
||||
timeCreated: 1484707267
|
||||
licenseType: Free
|
||||
AudioImporter:
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
+22
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 34c638d8d99ccfd44a261f13505ab317
|
||||
timeCreated: 1484701350
|
||||
licenseType: Free
|
||||
AudioImporter:
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
+22
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa66f043685a31e4bb90d0b6128bc3e1
|
||||
timeCreated: 1484706127
|
||||
licenseType: Free
|
||||
AudioImporter:
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 1
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96734be6284cbbb48b0b7b5346950bc4
|
||||
folderAsset: yes
|
||||
timeCreated: 1456416082
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
+55
@@ -0,0 +1,55 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b260cbc8d9bc048bd8834c7a1b5aed36
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
serializedVersion: 2
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
linearTexture: 0
|
||||
correctGamma: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 7
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -1
|
||||
maxTextureSize: 1024
|
||||
textureSettings:
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapMode: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
allowsAlphaSplitting: 0
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePixelsToUnits: 100
|
||||
alphaIsTransparency: 0
|
||||
textureType: 0
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
outline: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 8.7 KiB |
+57
@@ -0,0 +1,57 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7fb955b5256c934db2b806c17259412
|
||||
timeCreated: 1456416335
|
||||
licenseType: Free
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
serializedVersion: 2
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
linearTexture: 0
|
||||
correctGamma: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 7
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapMode: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
allowsAlphaSplitting: 0
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePixelsToUnits: 100
|
||||
alphaIsTransparency: 0
|
||||
textureType: -1
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
outline: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8ea161e7134f59409766695fad6ab33
|
||||
folderAsset: yes
|
||||
timeCreated: 1506506847
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47e7c4af6b407724daffa76ababbeb5e
|
||||
folderAsset: yes
|
||||
timeCreated: 1477227179
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1db4d8ab51ca4ad48844c113bfbd80fa, type: 3}
|
||||
m_Name: GameSettings
|
||||
m_EditorClassIdentifier:
|
||||
EnemySpawner:
|
||||
SpeedMin: 30
|
||||
SpeedMax: 100
|
||||
AccuracyMin: 0
|
||||
AccuracyMax: 1
|
||||
NumEnemiesIncreaseRate: 0.06
|
||||
NumEnemiesStartAmount: 1.5
|
||||
MinDelayBetweenSpawns: 0.3
|
||||
GameRestartHandler:
|
||||
RestartDelay: 3
|
||||
GameInstaller:
|
||||
EnemyFacadePrefab: {fileID: 158650, guid: 55f63c48150ecbb469e095dbde67c6e9, type: 2}
|
||||
BulletPrefab: {fileID: 1211991173579106, guid: 4d22825d6393b964f90d550dd2acc50f,
|
||||
type: 2}
|
||||
ExplosionPrefab: {fileID: 100002, guid: 93a60ba8e409947b1a0334537c8b38c8, type: 2}
|
||||
Player:
|
||||
PlayerMoveHandler:
|
||||
BoundaryBuffer: 4
|
||||
BoundaryAdjustForce: 70
|
||||
MoveSpeed: 250
|
||||
SlowDownSpeed: 0.2
|
||||
PlayerShootHandler:
|
||||
Laser: {fileID: 8300000, guid: 34c638d8d99ccfd44a261f13505ab317, type: 3}
|
||||
LaserVolume: 0.7
|
||||
BulletLifetime: 1
|
||||
BulletSpeed: 130
|
||||
MaxShootInterval: 0.15
|
||||
BulletOffsetDistance: 2
|
||||
PlayerCollisionHandler:
|
||||
HealthLoss: 15
|
||||
HitForce: 1000
|
||||
HitSound: {fileID: 8300000, guid: f9517356afb533a41b9e7cb6f155031e, type: 3}
|
||||
HitSoundVolume: 1
|
||||
PlayerHealthWatcher:
|
||||
DeathSound: {fileID: 8300000, guid: 9cb65eb2505fbf443ac876ba177374f9, type: 3}
|
||||
DeathSoundVolume: 1
|
||||
Enemy:
|
||||
DefaultSettings:
|
||||
Accuracy: 1
|
||||
Speed: 25
|
||||
EnemyStateIdle:
|
||||
Amplitude: 0.5
|
||||
Frequency: 4
|
||||
EnemyRotationHandler:
|
||||
TurnSpeed: 10
|
||||
EnemyStateFollow:
|
||||
StrafeMultiplier: 0.5
|
||||
StrafeChangeInterval: 0.8
|
||||
TeleportNewDistance: 40
|
||||
EnemyStateAttack:
|
||||
ShootSound: {fileID: 8300000, guid: aa66f043685a31e4bb90d0b6128bc3e1, type: 3}
|
||||
ShootSoundVolume: 0.8
|
||||
BulletLifetime: 5
|
||||
BulletSpeed: 30
|
||||
BulletOffsetDistance: 2
|
||||
ShootInterval: 0.4
|
||||
ErrorRangeTheta: 30
|
||||
AttackRangeBuffer: 8
|
||||
StrafeMultiplier: 0.5
|
||||
StrafeChangeInterval: 0.8
|
||||
EnemyHealthWatcher:
|
||||
DeathSound: {fileID: 8300000, guid: 9cb65eb2505fbf443ac876ba177374f9, type: 3}
|
||||
DeathSoundVolume: 0.5
|
||||
EnemyCommonSettings:
|
||||
AttackDistance: 15
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91a82aa816bb01d4cb9396481c2614a1
|
||||
timeCreated: 1461784532
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a6f36e1b9ba65d54aabe5c50d2dcb018
|
||||
folderAsset: yes
|
||||
timeCreated: 1527235254
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+935
@@ -0,0 +1,935 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.45089006, g: 0.5007887, b: 0.57456285, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 112000001, guid: 7d63bee150dab4c4f817d557781552bd,
|
||||
type: 2}
|
||||
m_UseShadowmask: 0
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &29135873
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 29135874}
|
||||
m_Layer: 0
|
||||
m_Name: Level
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &29135874
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 29135873}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 724552921}
|
||||
- {fileID: 539215572}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &414693287
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 414693292}
|
||||
- component: {fileID: 414693291}
|
||||
- component: {fileID: 414693293}
|
||||
- component: {fileID: 414693290}
|
||||
- component: {fileID: 414693288}
|
||||
- component: {fileID: 414693294}
|
||||
m_Layer: 0
|
||||
m_Name: Camera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &414693288
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_Enabled: 1
|
||||
--- !u!124 &414693290
|
||||
Behaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &414693291
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 19.34
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &414693292
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -17.09}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &414693293
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0166d8ff8d905b048b2448179e1f5d11, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_components:
|
||||
- {fileID: 414693291}
|
||||
_identifier:
|
||||
_useSceneContext: 0
|
||||
_context: {fileID: 0}
|
||||
_bindType: 0
|
||||
--- !u!82 &414693294
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 414693287}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: c5a6af7adb029df4ba0967bc4de9e7ac, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 0.171
|
||||
m_Pitch: 1
|
||||
Loop: 1
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 0
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 0
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 0
|
||||
--- !u!1 &534447708
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 534447711}
|
||||
- component: {fileID: 534447710}
|
||||
- component: {fileID: 534447709}
|
||||
m_Layer: 0
|
||||
m_Name: SceneContext
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &534447709
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 534447708}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e432172e250876f4ab278b0d24d58673, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &534447710
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 534447708}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 89715ad69b973a14899afa2c6730b30b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_scriptableObjectInstallers:
|
||||
- {fileID: 11400000, guid: 91a82aa816bb01d4cb9396481c2614a1, type: 2}
|
||||
_monoInstallers:
|
||||
- {fileID: 534447709}
|
||||
_installerPrefabs: []
|
||||
_autoRun: 1
|
||||
OnPreInstall:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
OnPostInstall:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
OnPreResolve:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
OnPostResolve:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
_parentNewObjectsUnderSceneContext: 0
|
||||
_contractNames: []
|
||||
_parentContractNames: []
|
||||
--- !u!4 &534447711
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 534447708}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &539215571
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 539215572}
|
||||
- component: {fileID: 539215575}
|
||||
- component: {fileID: 539215574}
|
||||
- component: {fileID: 539215573}
|
||||
m_Layer: 0
|
||||
m_Name: Plane
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &539215572
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 539215571}
|
||||
m_LocalRotation: {x: -0.00000005960466, y: 0.7071068, z: -0.7071068, w: -0.00000014901164}
|
||||
m_LocalPosition: {x: -1.8492146, y: 1.4, z: 14.4}
|
||||
m_LocalScale: {x: 2395.4941, y: 2395.4934, z: 2395.4934}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 29135874}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &539215573
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 539215571}
|
||||
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_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d2b89dae86aac9a4d9b52881cf3be975, 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: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!64 &539215574
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 539215571}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 14
|
||||
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!33 &539215575
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 539215571}
|
||||
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &697465884
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 697465886}
|
||||
- component: {fileID: 697465885}
|
||||
m_Layer: 0
|
||||
m_Name: ControlsDisplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &697465885
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 697465884}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3bc2ba00bfd0f6044825d1848b10a7e0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_leftPadding: 50
|
||||
_topPadding: 50
|
||||
_width: 500
|
||||
_height: 200
|
||||
--- !u!4 &697465886
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 697465884}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.47249365, y: -0.1732688, z: 0.5937815}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &724552920
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 724552921}
|
||||
- component: {fileID: 724552922}
|
||||
m_Layer: 0
|
||||
m_Name: Directional light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &724552921
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 724552920}
|
||||
m_LocalRotation: {x: 0.28220388, y: -0.29990056, z: 0.09336465, w: 0.90647876}
|
||||
m_LocalPosition: {x: 19.95923, y: 26.566778, z: -29.98478}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 29135874}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!108 &724552922
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 724552920}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 10
|
||||
m_Type: 1
|
||||
m_Shape: 0
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 1.1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.802082
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 0
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 256
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!1 &855903055
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 855903056}
|
||||
- component: {fileID: 855903057}
|
||||
m_Layer: 8
|
||||
m_Name: Installer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &855903056
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 855903055}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1303116743}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &855903057
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 855903055}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ff1b44a433bb75344a686526fba7452b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_settings:
|
||||
Rigidbody: {fileID: 1303116749}
|
||||
MeshRenderer: {fileID: 1303116744}
|
||||
--- !u!1 &1034220754
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1034220755}
|
||||
- component: {fileID: 1034220756}
|
||||
m_Layer: 8
|
||||
m_Name: HealthDisplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1034220755
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1034220754}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1303116743}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1034220756
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1034220754}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 301188284719932429bd73b2047b328d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_leftPadding: 100
|
||||
_bottomPadding: 100
|
||||
_labelWidth: 100
|
||||
_labelHeight: 100
|
||||
_textureWidth: 309.5
|
||||
_textureHeight: 17.99
|
||||
_killCountOffset: 30
|
||||
_foregroundColor: {r: 1, g: 0.08823532, b: 0.08823532, a: 1}
|
||||
_backgroundColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
--- !u!1 &1303116742
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1303116743}
|
||||
- component: {fileID: 1303116747}
|
||||
- component: {fileID: 1303116746}
|
||||
- component: {fileID: 1303116745}
|
||||
- component: {fileID: 1303116744}
|
||||
- component: {fileID: 1303116749}
|
||||
- component: {fileID: 1303116750}
|
||||
- component: {fileID: 1303116751}
|
||||
m_Layer: 8
|
||||
m_Name: Player
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1303116743
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 855903056}
|
||||
- {fileID: 1034220755}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1303116744
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
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_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 8f4cc0ab4d6d85f4ea468f16219910a1, 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: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!65 &1303116745
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 2, y: 2, z: 2}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1303116746
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_Mesh: {fileID: 4300000, guid: 73637a3b17554e34c9e921d4df1ee609, type: 3}
|
||||
--- !u!114 &1303116747
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 08eca9f7688a0a24685b89133b020c8e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_scriptableObjectInstallers: []
|
||||
_monoInstallers:
|
||||
- {fileID: 855903057}
|
||||
_installerPrefabs: []
|
||||
_autoRun: 1
|
||||
_kernel: {fileID: 0}
|
||||
--- !u!54 &1303116749
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 8
|
||||
m_AngularDrag: 3.5
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 56
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &1303116750
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0166d8ff8d905b048b2448179e1f5d11, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_components:
|
||||
- {fileID: 1303116751}
|
||||
_identifier:
|
||||
_useSceneContext: 0
|
||||
_context: {fileID: 534447710}
|
||||
_bindType: 0
|
||||
--- !u!114 &1303116751
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1303116742}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2db4310dd7706af419ae62fb99fac156, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aea20ff1b07af644f9638d9c740ec0e0
|
||||
timeCreated: 1456414954
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!850595691 &4890085278179872738
|
||||
LightingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SpaceFighterSettings
|
||||
m_GIWorkflowMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_UsingShadowmask: 0
|
||||
m_BakeBackend: 0
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_TextureCompression: 1
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAO: 0
|
||||
m_MixedBakeMode: 1
|
||||
m_LightmapsBakeMode: 1
|
||||
m_FilterMode: 1
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_RealtimeResolution: 2
|
||||
m_ForceWhiteAlbedo: 0
|
||||
m_ForceUpdates: 0
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherFiltering: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e0ea78722f7cb4451b99519c67bf1608
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eef941665900b434ea6d3fc8c6e9dbb6
|
||||
folderAsset: yes
|
||||
timeCreated: 1456415448
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f4da5393b1187f247a13ce38e3062f7e
|
||||
folderAsset: yes
|
||||
timeCreated: 1456415461
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
[Serializable]
|
||||
public class EnemyCommonSettings
|
||||
{
|
||||
public float AttackDistance = 15.0f;
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28bfa2b5275427041ae8782a2fa41625
|
||||
timeCreated: 1484712200
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyDeathHandler
|
||||
{
|
||||
readonly EnemyFacade _facade;
|
||||
readonly SignalBus _signalBus;
|
||||
readonly Settings _settings;
|
||||
readonly Explosion.Factory _explosionFactory;
|
||||
readonly AudioPlayer _audioPlayer;
|
||||
readonly EnemyView _view;
|
||||
|
||||
public EnemyDeathHandler(
|
||||
EnemyView view,
|
||||
AudioPlayer audioPlayer,
|
||||
Explosion.Factory explosionFactory,
|
||||
Settings settings,
|
||||
SignalBus signalBus,
|
||||
EnemyFacade facade)
|
||||
{
|
||||
_facade = facade;
|
||||
_signalBus = signalBus;
|
||||
_settings = settings;
|
||||
_explosionFactory = explosionFactory;
|
||||
_audioPlayer = audioPlayer;
|
||||
_view = view;
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
var explosion = _explosionFactory.Create();
|
||||
explosion.transform.position = _view.Position;
|
||||
|
||||
_audioPlayer.Play(_settings.DeathSound, _settings.DeathSoundVolume);
|
||||
|
||||
_signalBus.Fire<EnemyKilledSignal>();
|
||||
|
||||
_facade.Dispose();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public AudioClip DeathSound;
|
||||
public float DeathSoundVolume = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 52b884b41e3642c489f58f461470f589
|
||||
timeCreated: 1505656096
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// Here we can add some high-level methods to give some info to other
|
||||
// parts of the codebase outside of our enemy facade
|
||||
public class EnemyFacade : MonoBehaviour, IPoolable<float, float, IMemoryPool>, IDisposable
|
||||
{
|
||||
EnemyView _view;
|
||||
EnemyTunables _tunables;
|
||||
EnemyDeathHandler _deathHandler;
|
||||
EnemyStateManager _stateManager;
|
||||
EnemyRegistry _registry;
|
||||
IMemoryPool _pool;
|
||||
|
||||
[Inject]
|
||||
public void Construct(
|
||||
EnemyView view,
|
||||
EnemyTunables tunables,
|
||||
EnemyDeathHandler deathHandler,
|
||||
EnemyStateManager stateManager,
|
||||
EnemyRegistry registry)
|
||||
{
|
||||
_view = view;
|
||||
_tunables = tunables;
|
||||
_deathHandler = deathHandler;
|
||||
_stateManager = stateManager;
|
||||
_registry = registry;
|
||||
}
|
||||
|
||||
public EnemyStates State
|
||||
{
|
||||
get { return _stateManager.CurrentState; }
|
||||
}
|
||||
|
||||
public float Accuracy
|
||||
{
|
||||
get { return _tunables.Accuracy; }
|
||||
}
|
||||
|
||||
public float Speed
|
||||
{
|
||||
get { return _tunables.Speed; }
|
||||
}
|
||||
|
||||
public Vector3 Position
|
||||
{
|
||||
get { return _view.Position; }
|
||||
set { _view.Position = value; }
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_pool.Despawn(this);
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
_deathHandler.Die();
|
||||
}
|
||||
|
||||
public void OnDespawned()
|
||||
{
|
||||
_registry.RemoveEnemy(this);
|
||||
_pool = null;
|
||||
}
|
||||
|
||||
public void OnSpawned(float accuracy, float speed, IMemoryPool pool)
|
||||
{
|
||||
_pool = pool;
|
||||
_tunables.Accuracy = accuracy;
|
||||
_tunables.Speed = speed;
|
||||
|
||||
_registry.AddEnemy(this);
|
||||
}
|
||||
|
||||
public class Factory : PlaceholderFactory<float, float, EnemyFacade>
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fac47e4da43b2ca4d955370e0dc6990e
|
||||
timeCreated: 1456415139
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyRegistry
|
||||
{
|
||||
readonly List<EnemyFacade> _enemies = new List<EnemyFacade>();
|
||||
|
||||
public IEnumerable<EnemyFacade> Enemies
|
||||
{
|
||||
get { return _enemies; }
|
||||
}
|
||||
|
||||
public void AddEnemy(EnemyFacade enemy)
|
||||
{
|
||||
_enemies.Add(enemy);
|
||||
}
|
||||
|
||||
public void RemoveEnemy(EnemyFacade enemy)
|
||||
{
|
||||
_enemies.Remove(enemy);
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 401e2ff37163f8f428397277aba9b3a0
|
||||
timeCreated: 1528644922
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// Responsibilities:
|
||||
// - Interpolate rotation of enemy towards the current desired
|
||||
// direction
|
||||
public class EnemyRotationHandler : IFixedTickable
|
||||
{
|
||||
readonly Settings _settings;
|
||||
readonly EnemyView _view;
|
||||
|
||||
public EnemyRotationHandler(
|
||||
EnemyView view,
|
||||
Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
_view = view;
|
||||
}
|
||||
|
||||
public Vector2 DesiredLookDir
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public void FixedTick()
|
||||
{
|
||||
var lookDir = _view.LookDir;
|
||||
|
||||
var error = Vector3.Angle(lookDir, DesiredLookDir);
|
||||
|
||||
if (Vector3.Cross(lookDir, DesiredLookDir).z < 0)
|
||||
{
|
||||
error *= -1;
|
||||
}
|
||||
|
||||
_view.AddTorque(error * _settings.TurnSpeed);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public float TurnSpeed;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55eb8b68455f215489114a3a9a6f976d
|
||||
timeCreated: 1456672456
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
using System.Collections.Generic;
|
||||
using ModestTree;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public interface IEnemyState
|
||||
{
|
||||
void EnterState();
|
||||
void ExitState();
|
||||
void Update();
|
||||
void FixedUpdate();
|
||||
}
|
||||
|
||||
public enum EnemyStates
|
||||
{
|
||||
Idle,
|
||||
Attack,
|
||||
Follow,
|
||||
None
|
||||
}
|
||||
|
||||
// This class controls the basic "AI" of our enemy
|
||||
// Which works as a finite state machine, between three states:
|
||||
// - Attack
|
||||
// - Follow/Chase
|
||||
// - Idle
|
||||
public class EnemyStateManager : ITickable, IFixedTickable, IInitializable
|
||||
{
|
||||
IEnemyState _currentStateHandler;
|
||||
EnemyStates _currentState = EnemyStates.None;
|
||||
EnemyView _view;
|
||||
|
||||
List<IEnemyState> _states;
|
||||
|
||||
// We can't use a constructor due to a circular dependency issue
|
||||
[Inject]
|
||||
public void Construct(
|
||||
EnemyView view,
|
||||
EnemyStateIdle idle, EnemyStateAttack attack, EnemyStateFollow follow)
|
||||
{
|
||||
_view = view;
|
||||
_states = new List<IEnemyState>
|
||||
{
|
||||
// This needs to follow the enum order
|
||||
idle, attack, follow
|
||||
};
|
||||
}
|
||||
|
||||
public EnemyStates CurrentState
|
||||
{
|
||||
get { return _currentState; }
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
Assert.IsEqual(_currentState, EnemyStates.None);
|
||||
Assert.IsNull(_currentStateHandler);
|
||||
|
||||
ChangeState(EnemyStates.Follow);
|
||||
}
|
||||
|
||||
public void ChangeState(EnemyStates state)
|
||||
{
|
||||
if (_currentState == state)
|
||||
{
|
||||
// Already in state
|
||||
return;
|
||||
}
|
||||
|
||||
//Log.Trace("View Changing state from {0} to {1}", _currentState, state);
|
||||
|
||||
_currentState = state;
|
||||
|
||||
if (_currentStateHandler != null)
|
||||
{
|
||||
_currentStateHandler.ExitState();
|
||||
_currentStateHandler = null;
|
||||
}
|
||||
|
||||
_currentStateHandler = _states[(int)state];
|
||||
_currentStateHandler.EnterState();
|
||||
}
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
// Always ensure we are on the main plane
|
||||
_view.Position = new Vector3(_view.Position.x, _view.Position.y, 0);
|
||||
|
||||
_currentStateHandler.Update();
|
||||
}
|
||||
|
||||
public void FixedTick()
|
||||
{
|
||||
_currentStateHandler.FixedUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4087d354966adf44fa24ee0fa597f6da
|
||||
timeCreated: 1456617036
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// These values are given as parameters into dynamically created
|
||||
// EnemyFacade instances
|
||||
[Serializable]
|
||||
public class EnemyTunables
|
||||
{
|
||||
public float Accuracy;
|
||||
public float Speed;
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ff5c7e92da51264499aca355ed207cbd
|
||||
timeCreated: 1456626929
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyView : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
MeshRenderer _renderer = null;
|
||||
|
||||
[SerializeField]
|
||||
Collider _collider = null;
|
||||
|
||||
[SerializeField]
|
||||
Rigidbody _rigidBody = null;
|
||||
|
||||
[Inject]
|
||||
public EnemyFacade Facade
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public MeshRenderer Renderer
|
||||
{
|
||||
get { return _renderer; }
|
||||
}
|
||||
|
||||
public Collider Collider
|
||||
{
|
||||
get { return _collider; }
|
||||
}
|
||||
|
||||
public Rigidbody Rigidbody
|
||||
{
|
||||
get { return _rigidBody; }
|
||||
}
|
||||
|
||||
public Vector3 LookDir
|
||||
{
|
||||
get { return -_rigidBody.transform.right; }
|
||||
}
|
||||
|
||||
public Vector3 RightDir
|
||||
{
|
||||
get { return _rigidBody.transform.up; }
|
||||
}
|
||||
|
||||
public Vector3 ForwardDir
|
||||
{
|
||||
get { return _rigidBody.transform.right; }
|
||||
}
|
||||
|
||||
public Vector3 Position
|
||||
{
|
||||
get { return _rigidBody.transform.position; }
|
||||
set { _rigidBody.transform.position = value; }
|
||||
}
|
||||
|
||||
public Quaternion Rotation
|
||||
{
|
||||
get { return _rigidBody.rotation; }
|
||||
set { _rigidBody.rotation = value; }
|
||||
}
|
||||
|
||||
public Vector3 Velocity
|
||||
{
|
||||
get { return _rigidBody.linearVelocity; }
|
||||
}
|
||||
|
||||
public Vector3 AngularVelocity
|
||||
{
|
||||
get { return _rigidBody.angularVelocity; }
|
||||
set { _rigidBody.angularVelocity = value; }
|
||||
}
|
||||
|
||||
public void AddForce(Vector3 force)
|
||||
{
|
||||
_rigidBody.AddForce(force);
|
||||
}
|
||||
|
||||
public void AddTorque(float value)
|
||||
{
|
||||
_rigidBody.AddTorque(Vector3.forward * value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae49206d36b59354b98f680504160bc4
|
||||
timeCreated: 1528640620
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public struct PlayerDiedSignal
|
||||
{
|
||||
}
|
||||
|
||||
public struct EnemyKilledSignal
|
||||
{
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 432f74bf3abdd7e4facd4bba2a8fe60b
|
||||
timeCreated: 1483820546
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b1c94638b93aa2646a2643e39a156dd9
|
||||
folderAsset: yes
|
||||
timeCreated: 1456618194
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyStateAttack : IEnemyState
|
||||
{
|
||||
readonly EnemyRotationHandler _rotationHandler;
|
||||
readonly EnemyCommonSettings _commonSettings;
|
||||
readonly AudioPlayer _audioPlayer;
|
||||
readonly EnemyTunables _tunables;
|
||||
readonly EnemyStateManager _stateManager;
|
||||
readonly PlayerFacade _player;
|
||||
readonly Settings _settings;
|
||||
readonly EnemyView _view;
|
||||
readonly Bullet.Factory _bulletFactory;
|
||||
|
||||
float _lastShootTime;
|
||||
bool _strafeRight;
|
||||
float _lastStrafeChangeTime;
|
||||
|
||||
public EnemyStateAttack(
|
||||
Bullet.Factory bulletFactory,
|
||||
EnemyView view,
|
||||
Settings settings,
|
||||
PlayerFacade player,
|
||||
EnemyStateManager stateManager,
|
||||
EnemyTunables tunables,
|
||||
AudioPlayer audioPlayer,
|
||||
EnemyCommonSettings commonSettings,
|
||||
EnemyRotationHandler rotationHandler)
|
||||
{
|
||||
_rotationHandler = rotationHandler;
|
||||
_commonSettings = commonSettings;
|
||||
_audioPlayer = audioPlayer;
|
||||
_tunables = tunables;
|
||||
_stateManager = stateManager;
|
||||
_player = player;
|
||||
_settings = settings;
|
||||
_view = view;
|
||||
_bulletFactory = bulletFactory;
|
||||
_strafeRight = Random.Range(0.0f, 1.0f) < 0.5f;
|
||||
}
|
||||
|
||||
public void EnterState()
|
||||
{
|
||||
}
|
||||
|
||||
public void ExitState()
|
||||
{
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (_player.IsDead)
|
||||
{
|
||||
_stateManager.ChangeState(EnemyStates.Idle);
|
||||
return;
|
||||
}
|
||||
|
||||
_rotationHandler.DesiredLookDir = (_player.Position - _view.Position).normalized;
|
||||
|
||||
// Strafe back and forth over the given interval
|
||||
if (Time.realtimeSinceStartup - _lastStrafeChangeTime > _settings.StrafeChangeInterval)
|
||||
{
|
||||
_lastStrafeChangeTime = Time.realtimeSinceStartup;
|
||||
_strafeRight = !_strafeRight;
|
||||
}
|
||||
|
||||
// Shoot every X seconds
|
||||
if (Time.realtimeSinceStartup - _lastShootTime > _settings.ShootInterval)
|
||||
{
|
||||
_lastShootTime = Time.realtimeSinceStartup;
|
||||
Fire();
|
||||
}
|
||||
|
||||
// If the player runs away then chase them
|
||||
if ((_player.Position - _view.Position).magnitude > _commonSettings.AttackDistance + _settings.AttackRangeBuffer)
|
||||
{
|
||||
_stateManager.ChangeState(EnemyStates.Follow);
|
||||
}
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
// Strafe to avoid getting hit too easily
|
||||
if (_strafeRight)
|
||||
{
|
||||
_view.AddForce(_view.RightDir * _settings.StrafeMultiplier * _tunables.Speed);
|
||||
}
|
||||
else
|
||||
{
|
||||
_view.AddForce(-_view.RightDir * _settings.StrafeMultiplier * _tunables.Speed);
|
||||
}
|
||||
}
|
||||
|
||||
void Fire()
|
||||
{
|
||||
var bullet = _bulletFactory.Create(
|
||||
_settings.BulletSpeed, _settings.BulletLifetime, BulletTypes.FromEnemy);
|
||||
|
||||
// Randomize our aim a bit
|
||||
var accuracy = Mathf.Clamp(_tunables.Accuracy, 0, 1);
|
||||
var maxError = 1.0f - accuracy;
|
||||
var error = Random.Range(0, maxError);
|
||||
|
||||
if (Random.Range(0.0f, 1.0f) < 0.5f)
|
||||
{
|
||||
error *= -1;
|
||||
}
|
||||
|
||||
var thetaError = error * _settings.ErrorRangeTheta;
|
||||
|
||||
bullet.transform.position = _view.Position + _view.LookDir * _settings.BulletOffsetDistance;
|
||||
bullet.transform.rotation = Quaternion.AngleAxis(thetaError, Vector3.forward) * _view.Rotation;
|
||||
|
||||
_audioPlayer.Play(_settings.ShootSound, _settings.ShootSoundVolume);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public AudioClip ShootSound;
|
||||
public float ShootSoundVolume = 1.0f;
|
||||
|
||||
public float BulletLifetime;
|
||||
public float BulletSpeed;
|
||||
public float BulletOffsetDistance;
|
||||
public float ShootInterval;
|
||||
public float ErrorRangeTheta;
|
||||
public float AttackRangeBuffer;
|
||||
public float StrafeMultiplier;
|
||||
public float StrafeChangeInterval;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d2bd141d86c3fb40a0a616c19e6de0c
|
||||
timeCreated: 1456620041
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyStateFollow : IEnemyState
|
||||
{
|
||||
readonly EnemyRotationHandler _rotationHandler;
|
||||
readonly EnemyCommonSettings _commonSettings;
|
||||
readonly Settings _settings;
|
||||
readonly EnemyTunables _tunables;
|
||||
readonly EnemyStateManager _stateManager;
|
||||
readonly EnemyView _view;
|
||||
readonly PlayerFacade _player;
|
||||
|
||||
bool _strafeRight;
|
||||
float _lastStrafeChangeTime;
|
||||
|
||||
public EnemyStateFollow(
|
||||
PlayerFacade player,
|
||||
EnemyView view,
|
||||
EnemyStateManager stateManager,
|
||||
EnemyTunables tunables,
|
||||
Settings settings,
|
||||
EnemyCommonSettings commonSettings,
|
||||
EnemyRotationHandler rotationHandler)
|
||||
{
|
||||
_rotationHandler = rotationHandler;
|
||||
_commonSettings = commonSettings;
|
||||
_settings = settings;
|
||||
_tunables = tunables;
|
||||
_stateManager = stateManager;
|
||||
_view = view;
|
||||
_player = player;
|
||||
}
|
||||
|
||||
public void EnterState()
|
||||
{
|
||||
_strafeRight = Random.Range(0, 1) == 0;
|
||||
_lastStrafeChangeTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
|
||||
public void ExitState()
|
||||
{
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (_player.IsDead)
|
||||
{
|
||||
_stateManager.ChangeState(EnemyStates.Idle);
|
||||
return;
|
||||
}
|
||||
|
||||
var distanceToPlayer = (_player.Position - _view.Position).magnitude;
|
||||
|
||||
// Always look towards the player
|
||||
_rotationHandler.DesiredLookDir = (_player.Position - _view.Position).normalized;
|
||||
|
||||
// Strafe back and forth over the given interval
|
||||
// This helps avoiding being too easy a target
|
||||
if (Time.realtimeSinceStartup - _lastStrafeChangeTime > _settings.StrafeChangeInterval)
|
||||
{
|
||||
_lastStrafeChangeTime = Time.realtimeSinceStartup;
|
||||
_strafeRight = !_strafeRight;
|
||||
}
|
||||
|
||||
if (distanceToPlayer < _commonSettings.AttackDistance)
|
||||
{
|
||||
_stateManager.ChangeState(EnemyStates.Attack);
|
||||
}
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
MoveTowardsPlayer();
|
||||
Strafe();
|
||||
}
|
||||
|
||||
void Strafe()
|
||||
{
|
||||
// Strafe to avoid getting hit too easily
|
||||
if (_strafeRight)
|
||||
{
|
||||
_view.AddForce(_view.RightDir * _settings.StrafeMultiplier * _tunables.Speed);
|
||||
}
|
||||
else
|
||||
{
|
||||
_view.AddForce(-_view.RightDir * _settings.StrafeMultiplier * _tunables.Speed);
|
||||
}
|
||||
}
|
||||
|
||||
void MoveTowardsPlayer()
|
||||
{
|
||||
var playerDir = (_player.Position - _view.Position).normalized;
|
||||
|
||||
_view.AddForce(playerDir * _tunables.Speed);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public float StrafeMultiplier;
|
||||
public float StrafeChangeInterval;
|
||||
public float TeleportNewDistance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6b8435c02df92747b53470f32656b93
|
||||
timeCreated: 1456620041
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyStateIdle : IEnemyState
|
||||
{
|
||||
readonly EnemyRotationHandler _rotationHandler;
|
||||
readonly Settings _settings;
|
||||
readonly EnemyView _view;
|
||||
|
||||
Vector3 _startPos;
|
||||
float _theta;
|
||||
Vector3 _startLookDir;
|
||||
|
||||
public EnemyStateIdle(
|
||||
EnemyView view, Settings settings,
|
||||
EnemyRotationHandler rotationHandler)
|
||||
{
|
||||
_rotationHandler = rotationHandler;
|
||||
_settings = settings;
|
||||
_view = view;
|
||||
}
|
||||
|
||||
public void EnterState()
|
||||
{
|
||||
_startPos = _view.Position;
|
||||
_theta = Random.Range(0, 2.0f * Mathf.PI);
|
||||
_startLookDir = _view.LookDir;
|
||||
}
|
||||
|
||||
public void ExitState()
|
||||
{
|
||||
}
|
||||
|
||||
// Just add a bit of subtle movement
|
||||
public void Update()
|
||||
{
|
||||
_theta += Time.deltaTime * _settings.Frequency;
|
||||
|
||||
_view.Position = _startPos + _view.RightDir * _settings.Amplitude * Mathf.Sin(_theta);
|
||||
|
||||
_rotationHandler.DesiredLookDir = _startLookDir;
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public float Amplitude;
|
||||
public float Frequency;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a99ffa8c241c8a4e97392c7903712f0
|
||||
timeCreated: 1456618194
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 578ceac11e9188244b4d0db534cb351a
|
||||
folderAsset: yes
|
||||
timeCreated: 1456414609
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemyInstaller : Installer<EnemyInstaller>
|
||||
{
|
||||
public override void InstallBindings()
|
||||
{
|
||||
Container.Bind<EnemyTunables>().AsSingle();
|
||||
|
||||
Container.BindInterfacesAndSelfTo<EnemyStateManager>().AsSingle();
|
||||
|
||||
Container.Bind<EnemyStateIdle>().AsSingle();
|
||||
Container.Bind<EnemyStateAttack>().AsSingle();
|
||||
Container.Bind<EnemyStateFollow>().AsSingle();
|
||||
|
||||
Container.BindInterfacesAndSelfTo<EnemyDeathHandler>().AsSingle();
|
||||
Container.BindInterfacesAndSelfTo<EnemyRotationHandler>().AsSingle();
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba7d60db0911cee42bd0cba6d4ed9b85
|
||||
timeCreated: 1456415201
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// Main installer for our game
|
||||
public class GameInstaller : MonoInstaller
|
||||
{
|
||||
[Inject]
|
||||
Settings _settings = null;
|
||||
|
||||
public override void InstallBindings()
|
||||
{
|
||||
Container.BindInterfacesAndSelfTo<EnemySpawner>().AsSingle();
|
||||
|
||||
Container.BindFactory<float, float, EnemyFacade, EnemyFacade.Factory>()
|
||||
// We could just use FromMonoPoolableMemoryPool here instead, but
|
||||
// for IL2CPP to work we need our pool class to be used explicitly here
|
||||
.FromPoolableMemoryPool<float, float, EnemyFacade, EnemyFacadePool>(poolBinder => poolBinder
|
||||
// Spawn 5 enemies right off the bat so that we don't incur spikes at runtime
|
||||
.WithInitialSize(5)
|
||||
.FromSubContainerResolve()
|
||||
.ByNewPrefabInstaller<EnemyInstaller>(_settings.EnemyFacadePrefab)
|
||||
// Place each enemy under an Enemies game object at the root of scene hierarchy
|
||||
.UnderTransformGroup("Enemies"));
|
||||
|
||||
Container.BindFactory<float, float, BulletTypes, Bullet, Bullet.Factory>()
|
||||
// We could just use FromMonoPoolableMemoryPool here instead, but
|
||||
// for IL2CPP to work we need our pool class to be used explicitly here
|
||||
.FromPoolableMemoryPool<float, float, BulletTypes, Bullet, BulletPool>(poolBinder => poolBinder
|
||||
// Spawn 20 right off the bat so that we don't incur spikes at runtime
|
||||
.WithInitialSize(20)
|
||||
// Bullets are simple enough that we don't need to make a subcontainer for them
|
||||
// The logic can all just be in one class
|
||||
.FromComponentInNewPrefab(_settings.BulletPrefab)
|
||||
.UnderTransformGroup("Bullets"));
|
||||
|
||||
Container.Bind<LevelBoundary>().AsSingle();
|
||||
|
||||
Container.BindFactory<Explosion, Explosion.Factory>()
|
||||
// We could just use FromMonoPoolableMemoryPool here instead, but
|
||||
// for IL2CPP to work we need our pool class to be used explicitly here
|
||||
.FromPoolableMemoryPool<Explosion, ExplosionPool>(poolBinder => poolBinder
|
||||
// Spawn 4 right off the bat so that we don't incur spikes at runtime
|
||||
.WithInitialSize(4)
|
||||
.FromComponentInNewPrefab(_settings.ExplosionPrefab)
|
||||
.UnderTransformGroup("Explosions"));
|
||||
|
||||
Container.Bind<AudioPlayer>().AsSingle();
|
||||
|
||||
Container.BindInterfacesTo<GameRestartHandler>().AsSingle();
|
||||
|
||||
Container.Bind<EnemyRegistry>().AsSingle();
|
||||
|
||||
GameSignalsInstaller.Install(Container);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public GameObject EnemyFacadePrefab;
|
||||
public GameObject BulletPrefab;
|
||||
public GameObject ExplosionPrefab;
|
||||
}
|
||||
|
||||
// We could just use FromMonoPoolableMemoryPool above, but we have to use these instead
|
||||
// for IL2CPP to work
|
||||
class EnemyFacadePool : MonoPoolableMemoryPool<float, float, IMemoryPool, EnemyFacade>
|
||||
{
|
||||
}
|
||||
|
||||
class BulletPool : MonoPoolableMemoryPool<float, float, BulletTypes, IMemoryPool, Bullet>
|
||||
{
|
||||
}
|
||||
|
||||
class ExplosionPool : MonoPoolableMemoryPool<IMemoryPool, Explosion>
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e432172e250876f4ab278b0d24d58673
|
||||
timeCreated: 1456414615
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// We prefer to use ScriptableObjectInstaller for installers that contain game settings
|
||||
// There's no reason why you couldn't use a MonoInstaller here instead, however
|
||||
// using ScriptableObjectInstaller has advantages here that make it nice for settings:
|
||||
//
|
||||
// 1) You can change these values at runtime and have those changes persist across play
|
||||
// sessions. If it was a MonoInstaller then any changes would be lost when you hit stop
|
||||
// 2) You can easily create multiple ScriptableObject instances of this installer to test
|
||||
// different customizations to settings. For example, you might have different instances
|
||||
// for each difficulty mode of your game, such as "Easy", "Hard", etc.
|
||||
// 3) If your settings are associated with a game object composition root, then using
|
||||
// ScriptableObjectInstaller can be easier since there will only ever be one definitive
|
||||
// instance for each setting. Otherwise, you'd have to change the settings for each game
|
||||
// object composition root separately at runtime
|
||||
//
|
||||
// Uncomment if you want to add alternative game settings
|
||||
//[CreateAssetMenu(menuName = "Space Fighter/Game Settings")]
|
||||
public class GameSettingsInstaller : ScriptableObjectInstaller<GameSettingsInstaller>
|
||||
{
|
||||
public EnemySpawner.Settings EnemySpawner;
|
||||
public GameRestartHandler.Settings GameRestartHandler;
|
||||
public GameInstaller.Settings GameInstaller;
|
||||
public PlayerSettings Player;
|
||||
public EnemySettings Enemy;
|
||||
|
||||
[Serializable]
|
||||
public class PlayerSettings
|
||||
{
|
||||
public PlayerMoveHandler.Settings PlayerMoveHandler;
|
||||
public PlayerShootHandler.Settings PlayerShootHandler;
|
||||
public PlayerDamageHandler.Settings PlayerCollisionHandler;
|
||||
public PlayerHealthWatcher.Settings PlayerHealthWatcher;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnemySettings
|
||||
{
|
||||
public EnemyTunables DefaultSettings;
|
||||
public EnemyStateIdle.Settings EnemyStateIdle;
|
||||
public EnemyRotationHandler.Settings EnemyRotationHandler;
|
||||
public EnemyStateFollow.Settings EnemyStateFollow;
|
||||
public EnemyStateAttack.Settings EnemyStateAttack;
|
||||
public EnemyDeathHandler.Settings EnemyHealthWatcher;
|
||||
public EnemyCommonSettings EnemyCommonSettings;
|
||||
}
|
||||
|
||||
public override void InstallBindings()
|
||||
{
|
||||
// Use IfNotBound to allow overriding for eg. from play mode tests
|
||||
Container.BindInstance(EnemySpawner).IfNotBound();
|
||||
Container.BindInstance(GameRestartHandler).IfNotBound();
|
||||
Container.BindInstance(GameInstaller).IfNotBound();
|
||||
|
||||
Container.BindInstance(Player.PlayerMoveHandler).IfNotBound();
|
||||
Container.BindInstance(Player.PlayerShootHandler).IfNotBound();
|
||||
Container.BindInstance(Player.PlayerCollisionHandler).IfNotBound();
|
||||
Container.BindInstance(Player.PlayerHealthWatcher).IfNotBound();
|
||||
|
||||
Container.BindInstance(Enemy.EnemyStateIdle).IfNotBound();
|
||||
Container.BindInstance(Enemy.EnemyRotationHandler).IfNotBound();
|
||||
Container.BindInstance(Enemy.EnemyStateFollow).IfNotBound();
|
||||
Container.BindInstance(Enemy.EnemyStateAttack).IfNotBound();
|
||||
Container.BindInstance(Enemy.EnemyHealthWatcher).IfNotBound();
|
||||
Container.BindInstance(Enemy.EnemyCommonSettings).IfNotBound();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1db4d8ab51ca4ad48844c113bfbd80fa
|
||||
timeCreated: 1461784513
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
// Include this just to ensure BindSignal with an object mapping works
|
||||
public class PlayerDiedSignalObserver
|
||||
{
|
||||
public void OnPlayerDied()
|
||||
{
|
||||
Debug.Log("Fired PlayerDiedSignal");
|
||||
}
|
||||
}
|
||||
|
||||
public class GameSignalsInstaller : Installer<GameSignalsInstaller>
|
||||
{
|
||||
public override void InstallBindings()
|
||||
{
|
||||
SignalBusInstaller.Install(Container);
|
||||
|
||||
Container.DeclareSignal<EnemyKilledSignal>();
|
||||
Container.DeclareSignal<PlayerDiedSignal>();
|
||||
|
||||
// Include these just to ensure BindSignal works
|
||||
Container.BindSignal<PlayerDiedSignal>().ToMethod<PlayerDiedSignalObserver>(x => x.OnPlayerDied).FromNew();
|
||||
Container.BindSignal<EnemyKilledSignal>().ToMethod(() => Debug.Log("Fired EnemyKilledSignal"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 23aa26bc747410a40ac441fedb64f05d
|
||||
timeCreated: 1506513911
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class PlayerInstaller : MonoInstaller
|
||||
{
|
||||
[SerializeField]
|
||||
Settings _settings = null;
|
||||
|
||||
public override void InstallBindings()
|
||||
{
|
||||
Container.Bind<Player>().AsSingle()
|
||||
.WithArguments(_settings.Rigidbody, _settings.MeshRenderer);
|
||||
|
||||
Container.BindInterfacesTo<PlayerInputHandler>().AsSingle();
|
||||
Container.BindInterfacesTo<PlayerMoveHandler>().AsSingle();
|
||||
Container.BindInterfacesAndSelfTo<PlayerDamageHandler>().AsSingle();
|
||||
Container.BindInterfacesTo<PlayerDirectionHandler>().AsSingle();
|
||||
Container.BindInterfacesTo<PlayerShootHandler>().AsSingle();
|
||||
|
||||
Container.Bind<PlayerInputState>().AsSingle();
|
||||
|
||||
Container.BindInterfacesTo<PlayerHealthWatcher>().AsSingle();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public Rigidbody Rigidbody;
|
||||
public MeshRenderer MeshRenderer;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ff1b44a433bb75344a686526fba7452b
|
||||
timeCreated: 1456415489
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b24cebc08e04c147950145f9a70049b
|
||||
folderAsset: yes
|
||||
timeCreated: 1456416096
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class AudioPlayer
|
||||
{
|
||||
readonly Camera _camera;
|
||||
|
||||
public AudioPlayer(Camera camera)
|
||||
{
|
||||
_camera = camera;
|
||||
}
|
||||
|
||||
public void Play(AudioClip clip)
|
||||
{
|
||||
Play(clip, 1);
|
||||
}
|
||||
|
||||
public void Play(AudioClip clip, float volume)
|
||||
{
|
||||
_camera.GetComponent<AudioSource>().PlayOneShot(clip, volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a57395b833349ce43a64f59377d0e398
|
||||
timeCreated: 1456615647
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,91 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public enum BulletTypes
|
||||
{
|
||||
FromEnemy,
|
||||
FromPlayer
|
||||
}
|
||||
|
||||
public class Bullet : MonoBehaviour, IPoolable<float, float, BulletTypes, IMemoryPool>
|
||||
{
|
||||
float _startTime;
|
||||
BulletTypes _type;
|
||||
float _speed;
|
||||
float _lifeTime;
|
||||
|
||||
[SerializeField]
|
||||
MeshRenderer _renderer = null;
|
||||
|
||||
[SerializeField]
|
||||
Material _playerMaterial = null;
|
||||
|
||||
[SerializeField]
|
||||
Material _enemyMaterial = null;
|
||||
|
||||
IMemoryPool _pool;
|
||||
|
||||
public BulletTypes Type
|
||||
{
|
||||
get { return _type; }
|
||||
}
|
||||
|
||||
public Vector3 MoveDirection
|
||||
{
|
||||
get { return transform.right; }
|
||||
}
|
||||
|
||||
public void OnTriggerEnter(Collider other)
|
||||
{
|
||||
var enemyView = other.GetComponent<EnemyView>();
|
||||
|
||||
if (enemyView != null && _type == BulletTypes.FromPlayer)
|
||||
{
|
||||
enemyView.Facade.Die();
|
||||
_pool.Despawn(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
var player = other.GetComponent<PlayerFacade>();
|
||||
|
||||
if (player != null && _type == BulletTypes.FromEnemy)
|
||||
{
|
||||
player.TakeDamage(MoveDirection);
|
||||
_pool.Despawn(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
transform.position -= transform.right * _speed * Time.deltaTime;
|
||||
|
||||
if (Time.realtimeSinceStartup - _startTime > _lifeTime)
|
||||
{
|
||||
_pool.Despawn(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSpawned(float speed, float lifeTime, BulletTypes type, IMemoryPool pool)
|
||||
{
|
||||
_pool = pool;
|
||||
_type = type;
|
||||
_speed = speed;
|
||||
_lifeTime = lifeTime;
|
||||
|
||||
_renderer.material = type == BulletTypes.FromEnemy ? _enemyMaterial : _playerMaterial;
|
||||
|
||||
_startTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
|
||||
public void OnDespawned()
|
||||
{
|
||||
_pool = null;
|
||||
}
|
||||
|
||||
public class Factory : PlaceholderFactory<float, float, BulletTypes, Bullet>
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4bcfdc0e00dba5645b88ed3608c61161
|
||||
timeCreated: 1456594035
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
using UnityEngine;
|
||||
|
||||
#pragma warning disable 649
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class ControlsDisplay : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
float _leftPadding;
|
||||
|
||||
[SerializeField]
|
||||
float _topPadding;
|
||||
|
||||
[SerializeField]
|
||||
float _width;
|
||||
|
||||
[SerializeField]
|
||||
float _height;
|
||||
|
||||
public void OnGUI()
|
||||
{
|
||||
var bounds = new Rect(_leftPadding, _topPadding, _width, _height);
|
||||
GUI.Label(bounds, "CONTROLS: WASD to move, Mouse to aim, Left Mouse to fire");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3bc2ba00bfd0f6044825d1848b10a7e0
|
||||
timeCreated: 1456683520
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using ModestTree;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Zenject.SpaceFighter
|
||||
{
|
||||
public class EnemySpawner : ITickable, IInitializable
|
||||
{
|
||||
readonly EnemyFacade.Factory _enemyFactory;
|
||||
readonly SignalBus _signalBus;
|
||||
readonly LevelBoundary _levelBoundary;
|
||||
readonly Settings _settings;
|
||||
|
||||
float _desiredNumEnemies;
|
||||
int _enemyCount;
|
||||
float _lastSpawnTime;
|
||||
|
||||
public EnemySpawner(
|
||||
Settings settings,
|
||||
LevelBoundary levelBoundary,
|
||||
SignalBus signalBus,
|
||||
EnemyFacade.Factory enemyFactory)
|
||||
{
|
||||
_enemyFactory = enemyFactory;
|
||||
_signalBus = signalBus;
|
||||
_levelBoundary = levelBoundary;
|
||||
_settings = settings;
|
||||
|
||||
_desiredNumEnemies = settings.NumEnemiesStartAmount;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_signalBus.Subscribe<EnemyKilledSignal>(OnEnemyKilled);
|
||||
}
|
||||
|
||||
void OnEnemyKilled()
|
||||
{
|
||||
_enemyCount--;
|
||||
}
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
_desiredNumEnemies += _settings.NumEnemiesIncreaseRate * Time.deltaTime;
|
||||
|
||||
if (_enemyCount < (int)_desiredNumEnemies
|
||||
&& Time.realtimeSinceStartup - _lastSpawnTime > _settings.MinDelayBetweenSpawns)
|
||||
{
|
||||
SpawnEnemy();
|
||||
_enemyCount++;
|
||||
}
|
||||
}
|
||||
|
||||
void SpawnEnemy()
|
||||
{
|
||||
float speed = Random.Range(_settings.SpeedMin, _settings.SpeedMax);
|
||||
float accuracy = Random.Range(_settings.AccuracyMin, _settings.AccuracyMax);
|
||||
|
||||
var enemyFacade = _enemyFactory.Create(accuracy, speed);
|
||||
enemyFacade.Position = ChooseRandomStartPosition();
|
||||
|
||||
_lastSpawnTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
|
||||
Vector3 ChooseRandomStartPosition()
|
||||
{
|
||||
var side = Random.Range(0, 3);
|
||||
var posOnSide = Random.Range(0, 1.0f);
|
||||
|
||||
float buffer = 2.0f;
|
||||
|
||||
switch (side)
|
||||
{
|
||||
case 0:
|
||||
// top
|
||||
{
|
||||
return new Vector3(
|
||||
_levelBoundary.Left + posOnSide * _levelBoundary.Width,
|
||||
_levelBoundary.Top + buffer, 0);
|
||||
}
|
||||
case 1:
|
||||
// right
|
||||
{
|
||||
return new Vector3(
|
||||
_levelBoundary.Right + buffer,
|
||||
_levelBoundary.Top - posOnSide * _levelBoundary.Height, 0);
|
||||
}
|
||||
case 2:
|
||||
// bottom
|
||||
{
|
||||
return new Vector3(
|
||||
_levelBoundary.Left + posOnSide * _levelBoundary.Width,
|
||||
_levelBoundary.Bottom - buffer, 0);
|
||||
}
|
||||
case 3:
|
||||
// left
|
||||
{
|
||||
return new Vector3(
|
||||
_levelBoundary.Left - buffer,
|
||||
_levelBoundary.Top - posOnSide * _levelBoundary.Height, 0);
|
||||
}
|
||||
}
|
||||
|
||||
throw Assert.CreateException();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public float SpeedMin;
|
||||
public float SpeedMax;
|
||||
|
||||
public float AccuracyMin;
|
||||
public float AccuracyMax;
|
||||
|
||||
public float NumEnemiesIncreaseRate;
|
||||
public float NumEnemiesStartAmount;
|
||||
|
||||
public float MinDelayBetweenSpawns = 0.5f;
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1daabbbef5fff9a4b9a2c94659ecdf57
|
||||
timeCreated: 1456420312
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user