private void LineCache() { if (this.mLineCtrl != null) { this.mLineCtrl.DeInit(); this.mLineCtrl = null; } }
public void Init(EntityBase entity, bool throughwall, int ReboundCount, int count, float perangle) { this.list.Clear(); float num = (perangle * (count - 1)) / 2f; for (int i = 0; i < count; i++) { RedLineCtrl item = new RedLineCtrl(); float offsetangle = num - (perangle * i); item.Init(entity, throughwall, ReboundCount, offsetangle); this.list.Add(item); } }
protected override void OnUpdate() { if ((this.target != null) && (base.m_Entity != null)) { this.updatetime += Updater.delta; if (this.updatetime < this.redshowtime) { base.m_Entity.m_AttackCtrl.RotateHero(Utils.getAngle(this.target.position - base.m_Entity.position)); if (this.updatetime > 0.2f) { if (this.mLineCtrl == null) { this.mLineCtrl = new RedLineCtrl(); this.mLineCtrl.Init(base.m_Entity, true, 0, 0f); } if (this.mLineCtrl != null) { this.mLineCtrl.Update(); } } } else if (this.updatetime > (this.redshowtime + this.delaytime)) { if (!this.bCreateBullet) { this.bCreateBullet = true; this.EffectCache(); this.LineCache(); GameLogic.Release.Bullet.CreateBullet(base.m_Entity, 0x432, base.m_Entity.m_Body.LeftBullet.transform.position, base.m_Entity.eulerAngles.y); } if (this.updatetime > ((this.redshowtime + this.delaytime) + 0.4f)) { base.End(); } } } }