void OnCollisionEnter(Collision other) { if (_Dead) { if (other.gameObject.tag.Equals("Coin")) { WGGameWorld.Instance.HideObj(other.gameObject); } return; } if (other.gameObject.tag.Equals("Coin")) { WGBullet bullet = other.gameObject.GetComponent <WGBullet>(); if (bullet != null) { CurrentBlood -= bullet.mAct; _labHP.text = CurrentBlood.ToString() + "/" + Blood.ToString(); if (CurrentBlood <= 0) { if (_bFirstHurt) { WhenBearKilled(true); WGGameWorld.Instance.CreateMiaosha(other.transform.position); } else { WhenBearKilled(); WGGameWorld.Instance.CreatePapapa(other.transform.position); } } else { WhenBearHurted(); WGGameWorld.Instance.CreatePapapa(other.transform.position); } _bFirstHurt = false; other.rigidbody.velocity = Vector3.back * 5; Destroy(bullet); } } }
void Throw() { if (!_ShareWorld.cs_BearManage.bHaiXiaoEffect) { _Weapon.FireEffect(); int subNum = -10; if (_weaponData != null) { subNum = -_weaponData.cost; } // if(_weaponData.cost>dp.Coin) // { // if(mWeaponIndex>Consts.WEAPON_MIN) // { // mWeaponIndex = GetCanThrowIndex(); // changeWeapon(); // subNum = -_weaponData.cost; // return; // } // // } if (!_ShareWorld.PlayerGetCoin(subNum)) { if (!_ShareWorld.bNoCoinTip) { // _ShareWorld.bNoCoinTip = true; _ShareWorld.NoCoinTipCan(); _ShareWorld.ShowCoinSupplementView(); } return; } } BCSoundPlayer.Play(MusicEnum.Shot); if (bUseStaticWeapon) { Vector3 cur = Input.mousePosition - new Vector3(Screen.width / 2, 0, 0); float mm = Vector3.Angle(Vector3.up, cur); if (mm > 15) { mm = 15; } if (cur.x <= 0) { mm = -mm; } Ro = mm; _Weapon.trBullet.enabled = false; Vector3 temp = _Weapon.tRote.localEulerAngles; temp.y = Ro; _Weapon.tRote.localEulerAngles = temp; if (Ro > 300) { Ro = Ro - 360; } Ro /= 15; } else { Ro = _Weapon.tRote.localEulerAngles.y; // Debug.Log(Ro); if (Ro > 300) { Ro = Ro - 360; } Ro /= 15; } _Coin = WGGameWorld.Instance.cs_ObjManager.BCGameObjFactory(_weaponData.oid, _Weapon.tBullet.position, Vector3.zero, Vector3.one); // _Coin = Instantiate(_Weapon.goBullet,_Weapon.tBullet.position,Quaternion.Euler(Vector3.zero)) as GameObject; // _Coin.transform.parent = WGBearManage.Instance.ThrowCoinRoot.transform; _Rig = _Coin.GetComponent <Rigidbody>(); Vector3 v3force = new Vector3(Ro, Up, Forward); _Rig.AddForce(v3force, ForceMode.Impulse); _bullet = _Coin.AddComponent <WGBullet>(); _bullet.mAct = _weaponData.hurt; if (dp.mR == 1) { // if(dp.r == 0) // { // _bullet.mAct = (int)(_weaponData.hurt *1.1f); // } // else if(dp.r == 1) { _bullet.mAct = (int)(_weaponData.hurt * 1.3f); } } BCObj bco = WGDataController.Instance.GetBCObj(_weaponData.oid); BCGameObj bcgo = _Coin.GetComponent <BCGameObj>(); bcgo.freshWithData(bco); }