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());
        }
Beispiel #2
0
 public virtual void SubFire(FireableInfo fireableInfo, DanmakuConfig config)
 {
     if (Child == null)
     {
         return;
     }
     Child.Fire(fireableInfo, config);
 }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 public virtual void Fire(FireableInfo fireableInfo, DanmakuConfig config)
 {
 }