public BulletController SpawnBullet(PlayerController _currentPlayerControllerInstance) { playerControllerInstance = _currentPlayerControllerInstance; GameApplication.Instance.GetService <IPlayerService>().SetCurrentInstance(playerControllerInstance); switch (typeOfBullet) { case BULLET_TYPE.Default: { BulletController _newbullet = objectPool.Get <BulletController>(); _newbullet.SetViewActive(); _newbullet.GetBulletView().gameObject.transform.SetParent(bulletHolder.transform); return(_newbullet); } case BULLET_TYPE.Fast: { BulletController _newbullet = objectPool.Get <FastBulletController>(); return(_newbullet); } case BULLET_TYPE.Slow: { BulletController _newbullet = objectPool.Get <SlowBulletController>(); return(_newbullet); } default: { BulletController _newbullet = objectPool.Get <BulletController>(); return(_newbullet); } } }