public override void Fire(FireableInfo fireableInfo, DanmakuConfig config) { GameObject go = GameObject.Instantiate(bulletPrefab, config.position, Quaternion.Euler(config.rotation)); go.GetComponent <Bullet>().CreateHitbox(fireableInfo.hitboxOwner, (int)fireableInfo.team, fireableInfo.hitInfo); fireableInfo.bullets.Add(go); fireableInfo.bulletsConfig.Add(config.CreateState()); }
public virtual void SubFire(FireableInfo fireableInfo, DanmakuConfig config) { if (Child == null) { return; } Child.Fire(fireableInfo, config); }
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) { }