Jelajahi Sumber

EnergyBar and Indicator

Erik Wittkorn 9 tahun lalu
induk
melakukan
cc040f7ece

+ 78 - 0
game/Assets/3DArt/Materials/GlowGreen.mat

@@ -0,0 +1,78 @@
+%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: GlowGreen
+  m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 0.9212982, b: 0.28676468, a: 0.5}

+ 9 - 0
game/Assets/3DArt/Materials/GlowGreen.mat.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f61129b6e6fb5484197459a3b0f9fde2
+timeCreated: 1501343752
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 78 - 0
game/Assets/3DArt/Materials/GlowRed.mat

@@ -0,0 +1,78 @@
+%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: GlowRed
+  m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 0.9212982, b: 0.28676468, a: 0.5}

+ 9 - 0
game/Assets/3DArt/Materials/GlowRed.mat.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2d078f31947e3450c8908d8bd7219596
+timeCreated: 1501343752
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
game/Assets/3DArt/Materials/Robo.mat

@@ -6,7 +6,7 @@ Material:
   m_ObjectHideFlags: 0
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
-  m_Name: No Name
+  m_Name: Robo
   m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
   m_ShaderKeywords: 
   m_LightmapFlags: 4

+ 506 - 6
game/Assets/Prefabs/Player.prefab

@@ -11,6 +11,24 @@ Prefab:
   m_ParentPrefab: {fileID: 0}
   m_RootGameObject: {fileID: 1341517319831398}
   m_IsPrefabParent: 1
+--- !u!1 &1046481010840156
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4559215460528712}
+  - component: {fileID: 33919985080520432}
+  - component: {fileID: 135906695166737078}
+  - component: {fileID: 23879276775962114}
+  m_Layer: 0
+  m_Name: PowerUp2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!1 &1071023158394908
 GameObject:
   m_ObjectHideFlags: 0
@@ -41,7 +59,7 @@ GameObject:
   - component: {fileID: 65348456275548564}
   - component: {fileID: 23037805919529146}
   m_Layer: 0
-  m_Name: Cube
+  m_Name: PowerBar
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -85,6 +103,42 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
+--- !u!1 &1361047504014474
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4639176966863858}
+  - component: {fileID: 33319121742352016}
+  - component: {fileID: 135835205626065076}
+  - component: {fileID: 23781747450532902}
+  m_Layer: 0
+  m_Name: PowerDown3
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1388085555004884
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4895567207015610}
+  - component: {fileID: 33391297529653726}
+  - component: {fileID: 135907513574470144}
+  - component: {fileID: 23454914178816406}
+  m_Layer: 0
+  m_Name: PowerUp1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!1 &1490394559914216
 GameObject:
   m_ObjectHideFlags: 0
@@ -149,6 +203,42 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
+--- !u!1 &1814652323903566
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4513943836635610}
+  - component: {fileID: 33728994848400640}
+  - component: {fileID: 135706545075094446}
+  - component: {fileID: 23868001064626670}
+  m_Layer: 0
+  m_Name: PowerUp3
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1817871265897096
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4304373416992226}
+  - component: {fileID: 33275756329732882}
+  - component: {fileID: 135341512321735518}
+  - component: {fileID: 23665017721097662}
+  m_Layer: 0
+  m_Name: PowerDown2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!1 &1960523801617226
 GameObject:
   m_ObjectHideFlags: 0
@@ -164,6 +254,24 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
+--- !u!1 &1996765028571060
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4901921964918062}
+  - component: {fileID: 33711858981925660}
+  - component: {fileID: 135266388922568280}
+  - component: {fileID: 23099934112873896}
+  m_Layer: 0
+  m_Name: PowerDown1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!4 &4002318456081080
 Transform:
   m_ObjectHideFlags: 1
@@ -204,6 +312,19 @@ Transform:
   m_Father: {fileID: 4413073277323274}
   m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: -89.98701}
+--- !u!4 &4304373416992226
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817871265897096}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.9, y: 1.3, z: 0}
+  m_LocalScale: {x: 0.29999948, y: 0.29999948, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!4 &4339398362766808
 Transform:
   m_ObjectHideFlags: 1
@@ -249,6 +370,45 @@ Transform:
   m_Father: {fileID: 4413073277323274}
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4513943836635610
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1814652323903566}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.9000004, y: -1.3, z: -0.6}
+  m_LocalScale: {x: 0.29999948, y: 0.29999948, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4559215460528712
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1046481010840156}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.90000063, y: -1.3, z: -0}
+  m_LocalScale: {x: 0.29999965, y: 0.29999965, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4639176966863858
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1361047504014474}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.9, y: 1.3, z: -0.6000001}
+  m_LocalScale: {x: 0.29999948, y: 0.29999948, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!4 &4747347413866426
 Transform:
   m_ObjectHideFlags: 1
@@ -269,7 +429,7 @@ Transform:
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1235041625073026}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0.9, y: 0.5, z: -0.16}
+  m_LocalPosition: {x: 0.9, y: 0, z: -0.16}
   m_LocalScale: {x: 0.15, y: 1, z: 0.15}
   m_Children: []
   m_Father: {fileID: 4874332323323470}
@@ -282,13 +442,45 @@ Transform:
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1782044416665192}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 4864281965051166}
+  - {fileID: 4895567207015610}
+  - {fileID: 4559215460528712}
+  - {fileID: 4513943836635610}
+  - {fileID: 4901921964918062}
+  - {fileID: 4304373416992226}
+  - {fileID: 4639176966863858}
   m_Father: {fileID: 4250010280762138}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4895567207015610
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388085555004884}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.90000015, y: -1.3, z: 0.6}
+  m_LocalScale: {x: 0.29999948, y: 0.29999948, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4901921964918062
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996765028571060}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.9, y: 1.3, z: 0.6}
+  m_LocalScale: {x: 0.29999948, y: 0.29999948, z: 0.2999993}
+  m_Children: []
+  m_Father: {fileID: 4874332323323470}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!23 &23037805919529146
 MeshRenderer:
   m_ObjectHideFlags: 1
@@ -321,6 +513,38 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
+--- !u!23 &23099934112873896
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996765028571060}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 2d078f31947e3450c8908d8bd7219596, 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_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!23 &23137696411930180
 MeshRenderer:
   m_ObjectHideFlags: 1
@@ -385,6 +609,38 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
+--- !u!23 &23454914178816406
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388085555004884}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: f61129b6e6fb5484197459a3b0f9fde2, 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_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!23 &23493575134378754
 MeshRenderer:
   m_ObjectHideFlags: 1
@@ -417,6 +673,38 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
+--- !u!23 &23665017721097662
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817871265897096}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 2d078f31947e3450c8908d8bd7219596, 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_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!23 &23740845729733806
 MeshRenderer:
   m_ObjectHideFlags: 1
@@ -449,6 +737,123 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
+--- !u!23 &23781747450532902
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1361047504014474}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 2d078f31947e3450c8908d8bd7219596, 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_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!23 &23868001064626670
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1814652323903566}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: f61129b6e6fb5484197459a3b0f9fde2, 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_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!23 &23879276775962114
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1046481010840156}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: f61129b6e6fb5484197459a3b0f9fde2, 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_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 &33275756329732882
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817871265897096}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33319121742352016
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1361047504014474}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33391297529653726
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388085555004884}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!33 &33522669818554462
 MeshFilter:
   m_ObjectHideFlags: 1
@@ -456,6 +861,20 @@ MeshFilter:
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1341517319831398}
   m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33711858981925660
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996765028571060}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33728994848400640
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1814652323903566}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!33 &33768158778699442
 MeshFilter:
   m_ObjectHideFlags: 1
@@ -484,6 +903,13 @@ MeshFilter:
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1071023158394908}
   m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33919985080520432
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1046481010840156}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!54 &54168428832351466
 Rigidbody:
   m_ObjectHideFlags: 1
@@ -521,8 +947,8 @@ Light:
   serializedVersion: 8
   m_Type: 2
   m_Color: {r: 1, g: 0.92058825, b: 0.8014706, a: 1}
-  m_Intensity: 3
-  m_Range: 12
+  m_Intensity: 3.6
+  m_Range: 20.36
   m_SpotAngle: 30
   m_CookieSize: 10
   m_Shadows:
@@ -573,17 +999,91 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   powerLevel: 4
+  movementDegenRate: 0.1
+  bulletDegenRate: 0.2
   startSpeed: 5
   lookSmoothingSeconds: 0.05
   cameraSmoothingSeconds: 1
   bulletUpBias: 0.1
   bulletForce: 20
-  powerLevelMax: 8
+  powerLevelMax: 100
   gunTransform: {fileID: 4475041197474250}
   bulletPrefab: {fileID: 54626927522511238, guid: 3c7966951ee835c45be4199d01da6b8d,
     type: 2}
   muzzleLight: {fileID: 108365963384445830}
   gauge: {fileID: 4874332323323470}
+--- !u!135 &135266388922568280
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996765028571060}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!135 &135341512321735518
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817871265897096}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!135 &135706545075094446
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1814652323903566}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!135 &135835205626065076
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1361047504014474}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!135 &135906695166737078
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1046481010840156}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!135 &135907513574470144
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388085555004884}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
 --- !u!136 &136162553559348022
 CapsuleCollider:
   m_ObjectHideFlags: 1

+ 0 - 20
game/Assets/Scenes/Main.unity

@@ -1366,26 +1366,6 @@ Prefab:
       propertyPath: m_RootOrder
       value: 4
       objectReference: {fileID: 0}
-    - target: {fileID: 108365963384445830, guid: e6383ffd9f8688f4a9ba9705843d54e2,
-        type: 2}
-      propertyPath: m_Intensity
-      value: 3.6
-      objectReference: {fileID: 0}
-    - target: {fileID: 108365963384445830, guid: e6383ffd9f8688f4a9ba9705843d54e2,
-        type: 2}
-      propertyPath: m_Range
-      value: 20.36
-      objectReference: {fileID: 0}
-    - target: {fileID: 108365963384445830, guid: e6383ffd9f8688f4a9ba9705843d54e2,
-        type: 2}
-      propertyPath: m_Shadows.m_Strength
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 114322613409989222, guid: e6383ffd9f8688f4a9ba9705843d54e2,
-        type: 2}
-      propertyPath: lineRenderer
-      value: 
-      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_ParentPrefab: {fileID: 100100000, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
   m_IsPrefabParent: 0

+ 197 - 31
game/Assets/Scripts/Player.cs

@@ -2,10 +2,25 @@
 using System.Collections.Generic;
 using UnityEngine;
 
+public enum PowerLevelLabel
+{
+    Low,
+    Mid,
+    High
+}
+
 public class Player : MonoBehaviour
 {
     [SerializeField]
     private float powerLevel;
+
+    private Color _powerLevelLow = Color.red;
+    private Color _powerLevelMid = new Color(255, 165, 0);
+    private Color _powerLevelHigh = Color.green;
+
+    private GameObject[] _powerUp = new GameObject[3];
+    private GameObject[] _powerDown = new GameObject[3];
+
     public float PowerLevel
     {
         get
@@ -14,22 +29,142 @@ public class Player : MonoBehaviour
         }
         set
         {
+            float offset = value - powerLevel;
             powerLevel = value;
+            powerLevel = Mathf.Clamp(powerLevel, 0, powerLevelMax);
             UpdatePowerBar();
+            UpdatePowerIndicator(offset);
+        }
+    }
+    public float PowerFactor
+    {
+        get
+        {
+            return powerLevel / powerLevelMax;
+        }
+    }
 
-            if (powerLevel > powerLevelMax)
+    public PowerLevelLabel PowerLevelName
+    {
+        get
+        {
+            if (PowerFactor >= 0 && PowerFactor < 1.0f / 3.0f)
             {
-                powerLevel = powerLevelMax;
+                return PowerLevelLabel.Low;
             }
+            if (PowerFactor >= 1.0f / 3.0f && PowerFactor < 2.0f / 3.0f)
+            {
+                return PowerLevelLabel.Mid;
+            }
+            if (PowerFactor >= 2.0f / 3.0f && PowerFactor <= 1.0f)
+            {
+                return PowerLevelLabel.High;
+            }
+            return PowerLevelLabel.Low;
+        }
+    }
+
+    private Color _powerLevelColor
+    {
+        get
+        {
+            switch (PowerLevelName)
+            {
+                case PowerLevelLabel.Low:
+                    {
+                        return _powerLevelLow;
+                    };
+                case PowerLevelLabel.Mid:
+                    {
+                        return _powerLevelMid;
+                    };
+                case PowerLevelLabel.High:
+                    {
+                        return _powerLevelHigh;
+                    };
+            }
+            return Color.white;
         }
     }
 
     private void UpdatePowerBar()
     {
-        var level = powerLevel / powerLevelMax;
-        gauge.localScale = new Vector3(1, level, 1);
+        gauge.Find("PowerBar").transform.localScale = new Vector3(1, PowerFactor, 1);
+        gauge.GetComponentInChildren<Renderer>().material.color = _powerLevelColor;
+    }
+
+    float goodIndicatorTimeOut = 0;
+    float badIndicatorTimeOut = 0;
+
+    private void UpdatePowerIndicator(float offset)
+    {
+        Debug.Log("Power Offset: " + offset);
+        if (offset < 0)
+        {
+            if (Mathf.Abs(offset) > 0)
+                _powerDown[2].SetActive(true);
+            if (Mathf.Abs(offset) >= bulletDegenRate)
+                _powerDown[1].SetActive(true);
+            if (Mathf.Abs(offset) >= 0.95)
+                _powerDown[0].SetActive(true);
+            badIndicatorTimeOut = 1.5f;
+        }
+        else
+        {
+            if (Mathf.Abs(offset) > 0)
+                _powerUp[2].SetActive(true);
+            if (Mathf.Abs(offset) > 0.45)
+                _powerUp[1].SetActive(true);
+            if (Mathf.Abs(offset) > 0.95)
+                _powerUp[0].SetActive(true);
+            goodIndicatorTimeOut = 1.5f;
+        }
+    }
+
+    private void UpdatePowerIndicatorTimeout(ref float timeOut, GameObject[] powerIndicators)
+    {
+        if (timeOut > 0)
+        {
+            timeOut -= Time.deltaTime;
+        }
+        if (timeOut < 0)
+        {
+            for (int i = 0; i < 3; i++)
+            {
+                powerIndicators[i].SetActive(false);
+            }
+            timeOut = 0;
+        }
+    }
+    private float walkingDegenTimer = 1.5f;
+    private void UpdateWalkingDegen(float speed)
+    {
+        if (speed > 0.1)
+        {
+            if (walkingDegenTimer == 0)
+            {
+                PowerLevel -= movementDegenRate;
+                walkingDegenTimer = 1.5f;
+            }
+            if (walkingDegenTimer > 0)
+            {
+                walkingDegenTimer -= Time.deltaTime;
+            }
+            if (walkingDegenTimer < 0)
+            {
+                walkingDegenTimer = 0f;
+            }
+        }
+        if (speed <= 0.1)
+        {
+            walkingDegenTimer = 0;
+        }
+        Debug.Log(speed + ", " + walkingDegenTimer);
     }
 
+    public float movementDegenRate = 0.1f;
+    public float bulletDegenRate = 0.2f;
+
     public float startSpeed = 5f;
     public float lookSmoothingSeconds = 0.05f;
     public float cameraSmoothingSeconds = 1;
@@ -53,35 +188,52 @@ public class Player : MonoBehaviour
     private bool useMouseLook;
 
     // Use this for initialization
-	void Start ()
-	{
-	    speed = startSpeed;
-	    cameraOffset = Camera.main.transform.position - transform.position;
-	    lightIntensity = muzzleLight.intensity;
-	    var joystickNames = Input.GetJoystickNames();
-	    useMouseLook = joystickNames.Length == 0 || string.IsNullOrEmpty(joystickNames[0]);
-	    if (useMouseLook)
-	    {
-	        lookSmoothingSeconds = 0;
-
-	    }
-	}
-	
-	// Update is called once per frame
-	void Update ()
-	{
+    void Start()
+    {
+        speed = startSpeed;
+        cameraOffset = Camera.main.transform.position - transform.position;
+        lightIntensity = muzzleLight.intensity;
+        var joystickNames = Input.GetJoystickNames();
+        useMouseLook = joystickNames.Length == 0 || string.IsNullOrEmpty(joystickNames[0]);
+        if (useMouseLook)
+        {
+            lookSmoothingSeconds = 0;
+        }
+
+        _powerUp[0] = gauge.Find("PowerUp1").gameObject;
+        _powerUp[1] = gauge.Find("PowerUp2").gameObject;
+        _powerUp[2] = gauge.Find("PowerUp3").gameObject;
+        _powerDown[0] = gauge.Find("PowerDown1").gameObject;
+        _powerDown[1] = gauge.Find("PowerDown2").gameObject;
+        _powerDown[2] = gauge.Find("PowerDown3").gameObject;
+
+        for (int i = 0; i < 3; i++)
+        {
+            _powerUp[i].SetActive(false);
+            _powerDown[i].SetActive(false);
+        }
+    }
+
+
+
+    // Update is called once per frame
+    void Update()
+    {
         // TODO lerp movement direction
         GetInput();
 
         if (lookDirection.magnitude > deadZone)
             transform.forward = Vector3.SmoothDamp(transform.forward, lookDirection, ref lookVelocity, lookSmoothingSeconds);
-	    transform.position += inputDirection * speed * Time.deltaTime;
+        transform.position += inputDirection * speed * Time.deltaTime;
 
         UpdatePowerBar();
+        UpdatePowerIndicatorTimeout(ref goodIndicatorTimeOut, _powerUp);
+        UpdatePowerIndicatorTimeout(ref badIndicatorTimeOut, _powerDown);
+        UpdateWalkingDegen(inputDirection.magnitude);
 
-	    Camera.main.transform.position = Vector3.SmoothDamp(Camera.main.transform.localPosition, TargetCameraPosition(), ref cameraVelocity, cameraSmoothingSeconds);
+        Camera.main.transform.position = Vector3.SmoothDamp(Camera.main.transform.localPosition, TargetCameraPosition(), ref cameraVelocity, cameraSmoothingSeconds);
 
-	    if (shooting)
+        if (shooting)
         {
             if (Time.frameCount % 2 == 0)
             {
@@ -89,16 +241,18 @@ public class Player : MonoBehaviour
             }
             else
             {
-                muzzleLight.intensity = Random.Range(.5f,2f) * lightIntensity;
+                muzzleLight.intensity = Random.Range(.5f, 2f) * lightIntensity;
             }
             Shoot();
-	    }
-	    else
-	    {
-	        muzzleLight.intensity = 0;
-	    }
-	}
+        }
+        else
+        {
+            muzzleLight.intensity = 0;
+        }
+    }
 
+
+    int bulletCounter = 5;
     private void Shoot()
     {
         var rb = Instantiate<Rigidbody>(bulletPrefab);
@@ -106,6 +260,18 @@ public class Player : MonoBehaviour
         rb.transform.forward = gunTransform.forward;
         rb.AddForce(bulletForce * (transform.forward + Vector3.up * bulletUpBias), ForceMode.VelocityChange);
         Destroy(rb.gameObject, 2f);
+        if (bulletCounter == 5)
+        {
+            PowerLevel -= bulletDegenRate;
+        }
+        if (bulletCounter >= 0)
+        {
+            bulletCounter--;
+        }
+        if (bulletCounter < 0)
+        {
+            bulletCounter = 5;
+        }
     }
 
     private Vector3 TargetCameraPosition()

+ 11 - 9
game/Assets/Scripts/PowerDrop.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using UnityEngine;
 
-public class PowerDrop : MonoBehaviour 
+public class PowerDrop : MonoBehaviour
 {
     public float powerAmount = -100.0f;
 
@@ -23,15 +23,17 @@ public class PowerDrop : MonoBehaviour
         }
     }
 
-	// Use this for initialization
-	void Start () {
+    // Use this for initialization
+    void Start()
+    {
         textField.text = powerAmount.ToString();
-	}
-	
-	// Update is called once per frame
-	void Update () {
-		
-	}
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+
+    }
 
     private void Pop()
     {

+ 11 - 10
game/Assets/Station.cs

@@ -15,20 +15,21 @@ public class Station : MonoBehaviour
     private Transform lineTarget;
 
     // Use this for initialization
-	void Start ()
-	{
-	    powerLevel = 0;
-	    lineTarget = lineRenderer.transform;
+    void Start()
+    {
+        powerLevel = 0;
+        lineTarget = lineRenderer.transform;
         lineRenderer.SetPositions(new Vector3[]{
             lineRenderer.transform.position,
             lineTarget.position,
         });
-	}
-	
-	// Update is called once per frame
-	void Update () {
-		UpdatePowerBar();
-	}
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        UpdatePowerBar();
+    }
 
     void PowerUp(float delta)
     {