Jelajahi Sumber

power drop mock up

DasGewehr 9 tahun lalu
induk
melakukan
499d7ef04c

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

@@ -38,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: -7.26, y: 1, z: 0}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
@@ -94,6 +94,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: fd8e0aeb284c1814b899164958dfa9c2, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  powerDrop: {fileID: 1236734196835136, guid: 74eceab4a010bc340b3953e37f3e3678, type: 2}
   powerLevel: 0
 --- !u!136 &136634788470214324
 CapsuleCollider:

+ 108 - 0
game/Assets/Prefabs/PowerDrop.prefab

@@ -0,0 +1,108 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !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: 1236734196835136}
+  m_IsPrefabParent: 1
+--- !u!1 &1236734196835136
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4776271435490680}
+  - component: {fileID: 33968873963553010}
+  - component: {fileID: 135986497790796262}
+  - component: {fileID: 23308381707762032}
+  - component: {fileID: 114802910970260170}
+  m_Layer: 0
+  m_Name: PowerDrop
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4776271435490680
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236734196835136}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -5.956678, y: 1.0833334, z: -8.062355}
+  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!23 &23308381707762032
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236734196835136}
+  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!33 &33968873963553010
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236734196835136}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &114802910970260170
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236734196835136}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 757eaaca7d764c845ac99cb4b058604e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  powerAmount: 0
+--- !u!135 &135986497790796262
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236734196835136}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}

+ 9 - 0
game/Assets/Prefabs/PowerDrop.prefab.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 74eceab4a010bc340b3953e37f3e3678
+timeCreated: 1501354972
+licenseType: Free
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

File diff ditekan karena terlalu besar
+ 358 - 312
game/Assets/Scenes/Main.unity


+ 29 - 14
game/Assets/Scripts/Enemy/Enemy.cs

@@ -4,19 +4,24 @@ using UnityEngine;
 
 public class Enemy : MonoBehaviour 
 {
-    private float power;
-    private enum PowerLevels { VeryLow, Low, Medium, High, Full}
+    [SerializeField]
+    private GameObject powerDrop;
     [SerializeField]
     private PowerLevels powerLevel;
+    private float power;
+    private enum PowerLevels { VeryLow, Low, Medium, High, Full}
     private EnemyAI.BehaviorController behaviorController;
 
+    private bool dead = false;
+
     void OnCollisionEnter(Collision collision)
     {
-        Debug.Log("hlk" + collision.collider.tag);
-
-        if (collision.collider.tag == "Bullet")
+        if(!dead)
         {
-            Death();
+            if (collision.collider.tag == "Bullet")
+            {
+                Death();
+            }
         }
     }
 
@@ -30,18 +35,28 @@ public class Enemy : MonoBehaviour
 	// Update is called once per frame
 	void Update () 
     {
-        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();
+        if (!dead)
+        {
+            EnemyAI.Blackboard blackboard = behaviorController.blackboard;
+            // TODO get state
+            blackboard.Night = true;
+            blackboard.PlayerPosition = GameObject.FindGameObjectWithTag("Player").transform.position;
+            blackboard.EnemyPosition = transform.position;
+
+            behaviorController.Update();
+        }
 	}
 
     private void Death()
     {
+        dead = true;
+
+        GetComponent<UnityEngine.AI.NavMeshAgent>().isStopped = true;
+
+        GameObject go = GameObject.Instantiate(powerDrop);
+        go.GetComponent<PowerDrop>().powerAmount = power;
+        go.transform.position = gameObject.transform.position;
+
         GameObject.Destroy(gameObject);
     }
 }

+ 18 - 0
game/Assets/Scripts/PowerDrop.cs

@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PowerDrop : MonoBehaviour 
+{
+    public float powerAmount = -1.0f;
+
+	// Use this for initialization
+	void Start () {
+		
+	}
+	
+	// Update is called once per frame
+	void Update () {
+		
+	}
+}

+ 12 - 0
game/Assets/Scripts/PowerDrop.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 757eaaca7d764c845ac99cb4b058604e
+timeCreated: 1501354889
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: