public override void Tick(DanmakuManager danmakuManager, DanmakuSequenceInfo info) { DanmakuConfig dc = info.baseConfig; dc.position += positionOffset; dc.rotation += rotationOffset; danmakuManager.Fire(sequence, dc, info.team, info.hitInfo); info.NextAction(); }
public override void Tick(DanmakuManager danmakuManager, DanmakuSequenceInfo info) { if (info.bulletSets.Count <= info.currentSet) { FireableInfo fi = new FireableInfo(); fi.team = info.team; fi.hitInfo = hitInfo; fi.hitboxOwner = danmakuManager.gameObject; info.bulletSets.Add(info.id + id, fi); } DanmakuConfig dc = info.baseConfig; if (dc.startPoint) { dc.position += dc.startPoint.position; dc.rotation += dc.startPoint.eulerAngles; } dc.position += positionOffset; dc.rotation += rotationOffset; fireable.Fire(info.bulletSets[info.id + id], dc); info.NextAction(); }
public virtual void Fire(FireableInfo fireableInfo, DanmakuConfig config) { }
public virtual void Fire(DanmakuSequence sequence, DanmakuConfig config, EntityTeams team, HitInfo hitInfo, string id = "") { sequences.Add(new DanmakuSequenceInfo(sequence, config, team, hitInfo, id)); }