void OnFire(GameObject target, uint bulletId) { PlayAnim("fashe"); foreach (string point in m_Data.m_szBulletPoint) { Transform tfm = transform.Find(point); Canvas cv = BelongRole.GameBase.GameCanvas; Vector3 uiPos = GameFunction.WorldToLocalPointInRectangle(tfm.position, cv.worldCamera, cv, cv.worldCamera); Fishing_Bullet fb = Fishing_Bullet.Create(BelongRole.GameBase.FishingAssetBundle, uiPos, tfm.rotation, m_Data, target, bulletId); fb.OwnerCannon = this; } }
//创建子弹 public static Fishing_Bullet Create(AssetBundle ab, Vector3 pos, Quaternion q, FishingCannonData fcd, GameObject target, uint bulletId) { GameObject prefab = (GameObject)ab.LoadAsset(fcd.m_szBullet); GameObject fireSprite = (GameObject)Instantiate(prefab, pos, q); Fishing_Bullet f = fireSprite.AddComponent <Fishing_Bullet>(); fireSprite.transform.SetParent(ParentTfm, false); f.m_fMoveSpeed = fcd.m_fBulletSpeed; f.m_nBounceTimes = fcd.m_nBounceTimes; f.m_szNet = fcd.m_szNet; f.m_Target = target; f.m_Id = bulletId; if (target != null) { f.m_nBounceTimes = 1; } Destroy(fireSprite, fcd.m_fBulletLifeTime); return(f); }