Add "emit effect on self" annotation.

This commit is contained in:
2023-03-09 16:26:43 +08:00
parent a11ccbd39c
commit 43488cd002
6 changed files with 36 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
using Cryville.Common.Buffers;
using System.Collections.Generic;
using UnityEngine;
namespace Cryville.Crtr {
public class EffectGroup {
@@ -40,6 +41,7 @@ namespace Cryville.Crtr {
QueueInstance(item);
}
else {
item.Tick(time);
_instances.Remove(item.Index);
_pool.Return(item);
}
@@ -48,7 +50,7 @@ namespace Cryville.Crtr {
instance.Value.Tick(time);
}
}
public void Emit(float index) {
public void Emit(float index, Transform target = null) {
EffectInstance instance;
bool flag = _instances.TryGetValue(index, out instance);
if (!flag) _instances.Add(index, instance = _pool.Rent());
@@ -58,7 +60,7 @@ namespace Cryville.Crtr {
var i = _endQueue.BinarySearch(instance);
_endQueue.RemoveAt(i);
}
instance.OnEmit(_time);
instance.OnEmit(_time, target);
QueueInstance(instance);
}
}