protected Transform CreateBullet(Vector3 offsetpos, float rota) { Transform transform = null; if (this.m_Entity.IsSelf) { transform = GameLogic.Release.PlayerBullet.Get(this.BulletID).transform; transform.SetParent(this.m_Entity.m_Body.GetWeaponNode(this.m_Data.CreateNode, this.m_Entity.GetBulletCreateNode(this.m_Data.CreateNode))); offsetpos /= this.m_Entity.m_Body.GetBodyScale(); } else { transform = GameLogic.BulletGet(this.BulletID).transform; transform.SetParent(this.m_Entity.GetBulletCreateNode(this.m_Data.CreateNode)); } transform.localPosition = offsetpos; transform.SetParent(GameNode.m_PoolParent); transform.rotation = Quaternion.Euler(0f, this.m_Entity.eulerAngles.y + rota, 0f); transform.localScale = Vector3.one; BulletBase component = transform.GetComponent<BulletBase>(); this.OnBulletCreate(component); component.Init(this.m_Entity, this.BulletID); component.SetLastBullet(this.m_Entity.m_EntityData.mLastBullet); this.m_Entity.m_EntityData.mLastBullet = component; return transform; }