slimes now die and disappear after death

This commit is contained in:
arlo 2022-04-18 18:06:39 +03:00
parent 7926bcdef4
commit 4df9180db1
4 changed files with 64 additions and 1 deletions

View File

@ -59,7 +59,7 @@ AnimatorState:
m_MirrorParameterActive: 0 m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0 m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0 m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: dbf4e442d523220489ca9531ab20161f, type: 3} m_Motion: {fileID: 7400000, guid: f5d4d1a7dadc5a84d910c492d947ca4f, type: 3}
m_Tag: m_Tag:
m_SpeedParameter: m_SpeedParameter:
m_MirrorParameter: m_MirrorParameter:

View File

@ -9,6 +9,7 @@ public class SlimeAI : MonoBehaviour
Animator animator; Animator animator;
float playerDistance; float playerDistance;
GameObject player; GameObject player;
int HP;
//[SerializeField] //[SerializeField]
//private UnityEvent onAttack; //private UnityEvent onAttack;
@ -18,6 +19,7 @@ public class SlimeAI : MonoBehaviour
{ {
animator = GetComponent<Animator>(); animator = GetComponent<Animator>();
player = GameObject.FindWithTag("Player"); player = GameObject.FindWithTag("Player");
HP = 10;
} }
// Update is called once per frame // Update is called once per frame
@ -52,6 +54,15 @@ public class SlimeAI : MonoBehaviour
animator.SetBool("EnemyInAggroRange", false); animator.SetBool("EnemyInAggroRange", false);
animator.SetBool("EnemyInVisionRange", false); animator.SetBool("EnemyInVisionRange", false);
} }
if (HP <= 0)
{
animator.SetBool("Dead", true);
}
if (animator.GetBool("DeathComplete"))
{
print("asd");
Destroy(this.gameObject);
}
} }
void Rotate() void Rotate()
{ {
@ -65,4 +76,9 @@ public class SlimeAI : MonoBehaviour
{ {
transform.position += transform.forward * Time.deltaTime * 1.0f; transform.position += transform.forward * Time.deltaTime * 1.0f;
} }
public void GetHit(int dmg)
{
HP -= dmg;
}
} }

View File

@ -0,0 +1,36 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class death : StateMachineBehaviour
{
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateMove is called right after Animator.OnAnimatorMove()
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that processes and affects root motion
//}
// OnStateIK is called right after Animator.OnAnimatorIK()
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that sets up animation IK (inverse kinematics)
//}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6c7f89faf36f41b418e5105a12c34cdb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: