소스 검색

Merge branch 'master' of http://git.thirdlevel.gmbh/GameDevOS/LD39

Niels Meyering 9 년 전
부모
커밋
fecedd3a66

+ 9 - 0
game/Assets/3DArt.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 127266d0fe790bd44986684a68f30b42
+folderAsset: yes
+timeCreated: 1501352050
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: af4944bfecc5aa4438cb4cd51b3dd470
+folderAsset: yes
+timeCreated: 1501352061
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 76 - 0
game/Assets/3DArt/Materials/EnemyPrototyping.mat

@@ -0,0 +1,76 @@
+%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: EnemyPrototyping
+  m_Shader: {fileID: 46, 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
+    - _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}

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

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0ea12aba3e1c33548b7a1cfefd9ac6e6
+timeCreated: 1501352086
+licenseType: Free
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 25 - 2
game/Assets/Prefabs/Enemy.prefab

@@ -23,6 +23,7 @@ GameObject:
   - component: {fileID: 136634788470214324}
   - component: {fileID: 23851660916376582}
   - component: {fileID: 114575230278841902}
+  - component: {fileID: 195082989610082518}
   m_Layer: 0
   m_Name: Enemy
   m_TagString: Untagged
@@ -37,7 +38,7 @@ Transform:
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1196849215294664}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalPosition: {x: -7.26, y: 1, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
@@ -56,7 +57,7 @@ MeshRenderer:
   m_LightProbeUsage: 1
   m_ReflectionProbeUsage: 1
   m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 0ea12aba3e1c33548b7a1cfefd9ac6e6, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -93,6 +94,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: fd8e0aeb284c1814b899164958dfa9c2, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  powerLevel: 0
 --- !u!136 &136634788470214324
 CapsuleCollider:
   m_ObjectHideFlags: 1
@@ -106,3 +108,24 @@ CapsuleCollider:
   m_Height: 2
   m_Direction: 1
   m_Center: {x: 0, y: 0, z: 0}
+--- !u!195 &195082989610082518
+NavMeshAgent:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1196849215294664}
+  m_Enabled: 1
+  m_AgentTypeID: 0
+  m_Radius: 0.5
+  m_Speed: 3.5
+  m_Acceleration: 8
+  avoidancePriority: 50
+  m_AngularSpeed: 120
+  m_StoppingDistance: 0
+  m_AutoTraverseOffMeshLink: 1
+  m_AutoBraking: 1
+  m_AutoRepath: 1
+  m_Height: 2
+  m_BaseOffset: 1
+  m_WalkableMask: 4294967295
+  m_ObstacleAvoidanceType: 4

+ 1 - 1
game/Assets/Prefabs/Player.prefab

@@ -44,7 +44,7 @@ GameObject:
   - component: {fileID: 54168428832351466}
   m_Layer: 0
   m_Name: Player
-  m_TagString: Untagged
+  m_TagString: Player
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0

+ 9 - 0
game/Assets/Scenes/Main.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d31b25bf215f65e41ad55c985c31daeb
+folderAsset: yes
+timeCreated: 1501351842
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 679 - 5
game/Assets/Scenes/Main.unity

@@ -38,7 +38,7 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+  m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
 --- !u!157 &3
 LightmapSettings:
   m_ObjectHideFlags: 0
@@ -107,7 +107,237 @@ NavMeshSettings:
     manualTileSize: 0
     tileSize: 256
     accuratePlacement: 0
-  m_NavMeshData: {fileID: 0}
+  m_NavMeshData: {fileID: 23800000, guid: 90990caff53762d47a7e87513a7155d0, type: 2}
+--- !u!1001 &49929742
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 5.97
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: -14.55
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 10
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (6)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &215029739
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -11.07
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: -14.55
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 11
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (7)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &312420238
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 5.56
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 9.32
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (2)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &474498628
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0.31
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 14.36
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 15
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (11)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &548631983
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 16.17
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: -14.55
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 9
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (5)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
 --- !u!1 &551122708
 GameObject:
   m_ObjectHideFlags: 0
@@ -187,6 +417,312 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1001 &700069503
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -7.26
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 9.32
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (1)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &800176941
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -16.1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 12.53
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 13
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (9)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &875676565
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -7.26
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &966190609
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0.31
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 14.36
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 14
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (10)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &995166813
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 995166817}
+  - component: {fileID: 995166816}
+  - component: {fileID: 995166815}
+  - component: {fileID: 995166814}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 8
+  m_IsActive: 1
+--- !u!23 &995166814
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 995166813}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 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_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 &995166815
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 995166813}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &995166816
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 995166813}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &995166817
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 995166813}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 10, y: 1, z: 10}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1263821206
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4413073277323274, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: e6383ffd9f8688f4a9ba9705843d54e2, type: 2}
+  m_IsPrefabParent: 0
 --- !u!1 &1278158971
 GameObject:
   m_ObjectHideFlags: 0
@@ -269,10 +805,148 @@ Transform:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
   m_GameObject: {fileID: 1278158971}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalRotation: {x: 0.44510412, y: 0, z: 0, w: 0.89547884}
+  m_LocalPosition: {x: 0, y: 9.08, z: -10}
   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}
+  m_LocalEulerAnglesHint: {x: 52.86, y: 0, z: 0}
+--- !u!1001 &1383403911
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -16.1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 4.61
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 12
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (8)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &1513140503
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 16.17
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: -1.32
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 8
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (4)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &1591380981
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 5.56
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: -1.32
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4394077682102786, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_RootOrder
+      value: 7
+      objectReference: {fileID: 0}
+    - target: {fileID: 1196849215294664, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+      propertyPath: m_Name
+      value: Enemy (3)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 6a04fac6f7a8dea419c1a2e19e3bb8c8, type: 2}
+  m_IsPrefabParent: 0

BIN
game/Assets/Scenes/Main/NavMesh.asset


+ 9 - 0
game/Assets/Scenes/Main/NavMesh.asset.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 90990caff53762d47a7e87513a7155d0
+timeCreated: 1501351842
+licenseType: Free
+NativeFormatImporter:
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
game/Assets/Scripts.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b18d12b2d1968ed499a6ca27c909b721
+folderAsset: yes
+timeCreated: 1501337996
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 0
game/Assets/Scripts/Enemy/Behavior.cs

@@ -5,6 +5,8 @@ namespace EnemyAI
 {
     internal class Behavior
     {
+        internal BehaviorController.Behaviors behavior;
+
         internal virtual Result Run(ref Blackboard blackboard)
         {
             return Result.Failure;

+ 38 - 3
game/Assets/Scripts/Enemy/BehaviorController.cs

@@ -7,17 +7,52 @@ namespace EnemyAI
     {
         public Blackboard blackboard;
 
-        private EnemyAI.Behavior currentBehavior;
+        internal enum Behaviors { RechargeBehavior, ChaseBehavior }
+
+        private Behaviors currentBehavior;
+
+        Dictionary<Behaviors, Behavior> allBehaviors = new Dictionary<Behaviors, Behavior>();
 
         public BehaviorController()
         {
             blackboard = new Blackboard();
-            currentBehavior = new RechargeBehavior();
+
+            allBehaviors.Add(Behaviors.RechargeBehavior, new RechargeBehavior());
+            allBehaviors.Add(Behaviors.ChaseBehavior, new ChaseBehavior());
+
+            currentBehavior = Behaviors.RechargeBehavior;
         }
 
         public void Update()
         {
-            EnemyAI.Result result = currentBehavior.Run(ref blackboard);
+            EnemyAI.Result result = allBehaviors[currentBehavior].Run(ref blackboard);
+
+            if (result != Result.Running)
+            {
+                switch (currentBehavior)
+                {
+                    case Behaviors.RechargeBehavior:
+                        switch (result)
+                        {
+                            case Result.Success:
+                                currentBehavior = Behaviors.ChaseBehavior;
+                                break;
+                            case Result.Failure:
+                                break;
+                        }
+                        break;
+                    case Behaviors.ChaseBehavior:
+                        switch (result)
+                        {
+                            case Result.Success:
+                                break;
+                            case Result.Failure:
+                                currentBehavior = Behaviors.RechargeBehavior;
+                                break;
+                        }
+                        break;
+                }
+            }
         }
     }
 }

+ 2 - 0
game/Assets/Scripts/Enemy/Blackboard.cs

@@ -14,5 +14,7 @@ namespace EnemyAI
         public UnityEngine.AI.NavMeshAgent navMeshAgent;
 
         public UnityEngine.Vector3 PlayerPosition;
+
+        public UnityEngine.Vector3 EnemyPosition;
     }
 }

+ 12 - 2
game/Assets/Scripts/Enemy/ChaseBehavior.cs

@@ -8,13 +8,23 @@ namespace EnemyAI
     {
         internal override Result Run(ref Blackboard blackboard)
         {
-            blackboard.navMeshAgent.destination = blackboard.PlayerPosition;
-
             if (!blackboard.Night)
             {
+                return Result.Failure;
+            }
+
+            if (Vector3.Distance(blackboard.PlayerPosition, blackboard.EnemyPosition) < 0.5f)
+            {
+                //Close enough to player
                 return Result.Success;
             }
 
+            //If the player moved so far that re-pathing is necessary
+            if (Vector3.Distance(blackboard.PlayerPosition, blackboard.navMeshAgent.destination) > 0.5f)
+            {
+                blackboard.navMeshAgent.destination = blackboard.PlayerPosition;
+            }
+
             return Result.Running;
         }
     }

+ 8 - 1
game/Assets/Scripts/Enemy/Enemy.cs

@@ -14,12 +14,19 @@ public class Enemy : MonoBehaviour
 	void Start () 
     {
         behaviorController = new EnemyAI.BehaviorController();
+        behaviorController.blackboard.navMeshAgent = GetComponent<UnityEngine.AI.NavMeshAgent>();
 	}
 	
 	// Update is called once per frame
 	void Update () 
     {
-        behaviorController.blackboard.Night = true;
+        EnemyAI.Blackboard blackboard = behaviorController.blackboard;
+        // TODO get state
+        blackboard.Night = true;
+        // TODO get position
+        blackboard.PlayerPosition = GameObject.FindGameObjectWithTag("Player").transform.position; 
+        blackboard.EnemyPosition = transform.position;
+
         behaviorController.Update();
 	}
 }