public PoolObjHandle <BulletSkill> SpawnBullet(SkillUseContext context, string _actionName, bool _bDeadRemove) { PoolObjHandle <BulletSkill> handle = new PoolObjHandle <BulletSkill>(); if (context != null) { BulletSkill item = ClassObjPool <BulletSkill> .Get(); item.Init(_actionName, _bDeadRemove); if (item.Use(base.actorPtr, context.Clone())) { this.SpawnedBullets.Add(item); return(new PoolObjHandle <BulletSkill>(item)); } item.Release(); } return(handle); }
public PoolObjHandle <BulletSkill> SpawnBullet(SkillUseContext context, string _actionName, bool _bDeadRemove, bool _bAgeImmeExcute = false, int _bulletTypeId = 0, int _bulletUpperLimit = 0) { PoolObjHandle <BulletSkill> result = default(PoolObjHandle <BulletSkill>); if (context == null) { return(result); } BulletSkill bulletSkill = ClassObjPool <BulletSkill> .Get(); bulletSkill.Init(_actionName, _bDeadRemove, _bulletTypeId); bulletSkill.bAgeImmeExcute = _bAgeImmeExcute; this.RecycleOverLimitBullte(_bulletTypeId, _bulletUpperLimit); if (bulletSkill.Use(this.actorPtr, context)) { this.SpawnedBullets.Add(bulletSkill); result = new PoolObjHandle <BulletSkill>(bulletSkill); } else { bulletSkill.Release(); } return(result); }