mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-11-23 06:17:58 +01:00
56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
using Fie.Object;
|
|
using UnityEngine;
|
|
|
|
namespace Fie.Enemies.HoovesRaces.QueenChrysalis
|
|
{
|
|
[FiePrefabInfo("Prefabs/Enemies/ChangelingForces/QueenChrysalis/Power/QueenChrysalisIgniteCollision")]
|
|
public class FieEmitObjectQueenChrysalisIgniteCollision : FieEmittableObjectBase
|
|
{
|
|
public delegate void GrabbedDelegate(FieGameCharacter grabbedCharacter);
|
|
|
|
[SerializeField]
|
|
private float ChargeDuration = 0.5f;
|
|
|
|
[SerializeField]
|
|
private float ChargeDamageDuration = 0.5f;
|
|
|
|
private float _lifeTimeCount;
|
|
|
|
private bool _isEndUpdate;
|
|
|
|
public event GrabbedDelegate grabbedEvent;
|
|
|
|
public void Update()
|
|
{
|
|
if (!_isEndUpdate)
|
|
{
|
|
_lifeTimeCount += Time.deltaTime;
|
|
if (_lifeTimeCount >= ChargeDuration)
|
|
{
|
|
_isEndUpdate = true;
|
|
destoryEmitObject();
|
|
}
|
|
if (initTransform != null)
|
|
{
|
|
base.transform.position = initTransform.position;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter(Collider collider)
|
|
{
|
|
if (!_isEndUpdate && !(_lifeTimeCount > ChargeDamageDuration) && collider.gameObject.tag == getHostileTagString())
|
|
{
|
|
FieGameCharacter fieGameCharacter = addDamageToCollisionCharacter(collider, getDefaultDamageObject());
|
|
if (fieGameCharacter != null)
|
|
{
|
|
if (this.grabbedEvent != null)
|
|
{
|
|
this.grabbedEvent(fieGameCharacter);
|
|
}
|
|
destoryEmitObject(ChargeDuration - _lifeTimeCount);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|