示例#1
0
    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);
            }
        }
    }
示例#2
0
    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);
    }