public void HiddenPlayerDaoJuObj(PlayerEnum indexPlayer, BuJiBaoType buJiState = BuJiBaoType.Null)
    {
        int indexVal = (int)indexPlayer - 1;

        switch (buJiState)
        {
        case BuJiBaoType.NLHuDun:
            break;

        case BuJiBaoType.ShuangBeiFenShuDJ:
            indexVal = (int)indexPlayer + 7;
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            break;

        case BuJiBaoType.JiSuDJ:
            indexVal = (int)indexPlayer + 11;
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            break;

        default:
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            indexVal = (int)indexPlayer + 3;
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            indexVal = (int)indexPlayer + 7;
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            indexVal = (int)indexPlayer + 11;
            DaoJuEndTr[indexVal].gameObject.SetActive(false);
            break;
        }
    }
Example #2
0
	/**
	 * paoKou == 0 -> 机枪炮口.
	 * paoKou == 1 -> 主炮炮口.
	 */
	void CheckPlayerHouZuoLi(BuJiBaoType daoJuType, int paoKou)
	{
		float pushPower = 50f;
		switch (daoJuType) {
		case BuJiBaoType.QianHouFireDJ:
			pushPower = XKPlayerGlobalDt.GetInstance().QianHouFirePTPower;
			break;
		case BuJiBaoType.ChangChengJiQiang:
			pushPower = XKPlayerGlobalDt.GetInstance().ChangChengFirePTPower;
			break;
		case BuJiBaoType.SanDanJiQiang:
			pushPower = XKPlayerGlobalDt.GetInstance().SanDanFirePTPower;
			break;
		case BuJiBaoType.QiangJiJiQiang:
			pushPower = XKPlayerGlobalDt.GetInstance().QiangJiFirePTPower;
			break;
		case BuJiBaoType.ChuanTouDan:
			pushPower = XKPlayerGlobalDt.GetInstance().ChuanJiaDanZPPower;
			break;
		case BuJiBaoType.PaiJiPaoDJ:
			pushPower = XKPlayerGlobalDt.GetInstance().PaiJiPaoZPPower;
			break;
		case BuJiBaoType.ZhuPaoSanDanDJ:
			pushPower = XKPlayerGlobalDt.GetInstance().SanDanZPPower;
			break;
		case BuJiBaoType.HuoLiAllOpenDJ:
			if (paoKou == JI_QIANG_INDEX) {
				pushPower = XKPlayerGlobalDt.GetInstance().HuoLiQuanKaiPTPower;
			}

			if (paoKou == ZHU_PAO_INDEX) {
				pushPower = XKPlayerGlobalDt.GetInstance().HuoLiQuanKaiZPPower;
			}
			break;
		default:
			if (paoKou == JI_QIANG_INDEX) {
				pushPower = XKPlayerGlobalDt.GetInstance().JiQiangFirePTPower;
			}
			
			if (paoKou == ZHU_PAO_INDEX) {
				pushPower = XKPlayerGlobalDt.GetInstance().ZhuPaoFireZPPower;
			}
			break;
		}

		Vector3 pushDir = IsLockPaoTa == false ? -TanKeTran.forward : -PaoTaTr.forward;
		if (IsLockPaoTa && CameraTran != null) {
			Vector3 veA = CameraTran.forward;
			Vector3 veB = TanKeTran.forward;
			veA.y = veB.y = 0f;
			float angleVal = Mathf.Clamp(Vector3.Angle(veA, veB), 0f, 90f);
			if (angleVal > 5f) {
				return;
			}
		}
		PlayerMoveScript.PushPlayerTanKe(pushDir, pushPower);
	}
//	public PlayerEnum TestPlayerIndex;
//	public Transform DaoJuTest;
    // Update is called once per frame
//	void Update()
//	{
//		if (pcvr.bIsHardWare && Camera.main == null) {
//			return;
//		}
//
//		if (Input.GetKeyUp(KeyCode.M)) {
//			MoveDaoJuObjToPlayer(TestPlayerIndex, DaoJuTest);
//		}
//	}

    public void MoveDaoJuObjToPlayer(PlayerEnum indexVal, Transform daoJuTr)
    {
        int indexDJ = (int)indexVal - 1;

        Vector3[] path = new Vector3[2];
        path[0]   = Camera.main.WorldToScreenPoint(daoJuTr.position);
        path[0].x = (XkGameCtrl.ScreenWidth * path[0].x) / Screen.width;
        path[0].y = (XkGameCtrl.ScreenHeight * path[0].y) / Screen.height;
        BuJiBaoCtrl buJiScript = daoJuTr.GetComponent <BuJiBaoCtrl>();
        BuJiBaoType buJiBaoVal = buJiScript.BuJiBao;

        switch (buJiBaoVal)
        {
        case BuJiBaoType.ShuangBeiFenShuDJ:
            path[1] = DaoJuEndTr[8 + indexDJ].position;
            break;

        case BuJiBaoType.JiSuDJ:
            path[1] = DaoJuEndTr[12 + indexDJ].position;
            break;

        case BuJiBaoType.NLHuDun:
        case BuJiBaoType.HuoLiAllOpenDJ:
            path[1] = DaoJuEndTr[4 + indexDJ].position;
            break;

        default:
            path[1] = DaoJuEndTr[indexDJ].position;
            break;
        }

        int        daoJuMax = DaoJuObjList.Count;
        GameObject daoJu    = null;

        for (int i = 0; i < daoJuMax; i++)
        {
            if (DaoJuObjList[i] != null && !DaoJuObjList[i].activeSelf)
            {
                daoJu = DaoJuObjList[i];
                break;
            }
        }

        if (daoJu == null)
        {
            daoJu = DaoJuMoveCtrl.SpawnDaoJuMoveObj(transform);
            DaoJuObjList.Add(daoJu);
        }
        DaoJuMoveCtrl daoJuMove = daoJu.GetComponent <DaoJuMoveCtrl>();
        int           indexBJ   = (int)buJiScript.BuJiBao - 2;

        //Debug.Log("indexBJ *** "+indexBJ);
        daoJuMove.MoveDaoJuToPlayer(DaoJuTexture[indexBJ], indexVal, buJiScript.BuJiBao, path);
    }
//	NetworkView NetworkViewCom;
    void Start()
    {
//		NetworkViewCom = GetComponent<NetworkView>();
        if (transform.parent != XkGameCtrl.MissionCleanup)
        {
            transform.parent = XkGameCtrl.MissionCleanup;
        }

        if (BuJiBao == BuJiBaoType.GaoBaoDan)
        {
            BuJiBao = BuJiBaoType.DaoDan;
        }
    }
    public void MoveDaoJuToPlayer(Texture daoJuTexture, PlayerEnum indexVal, BuJiBaoType buJiState, Vector3[] path)
    {
        if (!gameObject.activeSelf)
        {
            gameObject.SetActive(true);
        }
        UITextureCom.mainTexture = daoJuTexture;
        UITextureCom.width       = daoJuTexture.width;
        UITextureCom.height      = daoJuTexture.height;
        PlayerIndex = indexVal;
        BuJiVal     = buJiState;

        TweenScale          = gameObject.AddComponent <TweenScale>();
        TweenScale.duration = 1f;
        float disZ = path[0].z;

        if (disZ > 40f)
        {
            disZ = 40f;
        }

        if (disZ < 20f)
        {
            disZ = 20f;
        }
        float scaleVal = 0.2f + ScaleKey * (disZ - 40f);

        TweenScale.from = new Vector3(scaleVal, scaleVal, 1f);
        TweenScale.to   = new Vector3(0.05f, 0.05f, 1f);
        TweenScale.PlayForward();

        TweenRot.ResetToBeginning();
        TweenRot.PlayForward();

        transform.localPosition = path[0];
        path[0]   = transform.position;
        path[0].z = path[1].z = 0f;
        float disVal   = Vector3.Distance(path[0], path[1]);
        float speedVal = disVal / 0.2f;

        iTween.MoveTo(gameObject, iTween.Hash("path", path,
                                              "speed", speedVal,
                                              "orienttopath", false,
                                              "looptype", iTween.LoopType.none,
                                              "easeType", iTween.EaseType.linear,
                                              "oncomplete", "MoveDaoJuOnCompelte"));
    }
Example #6
0
	public void SetIsQiangJiFire(bool isFire)
	{
		if (IsQiangJiFire == isFire) {
			return;
		}
		IsQiangJiFire = isFire;
		//Debug.Log("Unity:"+"SetIsQiangJiFire -> isFire "+isFire);
		BuJiBaoType daoJuTypeVal = isFire == true ? BuJiBaoType.QiangJiJiQiang : BuJiBaoType.Null;
		JiQiangAmmoSt = daoJuTypeVal;

		if (isFire) {
			IsJiQiangSanDanFire = false;
			IsChangChengFire = false;
			IsQianHouFire = false;
			//IsQiangJiFire = false;
		}
	}
Example #7
0
	public void SetIsSanDanZPFire(bool isFire)
	{
		if (IsSanDanZPFire == isFire) {
			return;
		}
		IsSanDanZPFire = isFire;
		ChangePlayerPaoTaObj(isFire == true ? PlayerAmmoType.SanDanAmmo : PlayerAmmoType.Null);
		PlayerAmmoType ammoTypeVal = isFire == true ? PlayerAmmoType.SanDanAmmo : PlayerAmmoType.DaoDanAmmo;
		XKPlayerAutoFire.GetInstanceAutoFire(PlayerIndex).SetAmmoStateZhuPao(ammoTypeVal);
		//Debug.Log("Unity:"+"SetIsSanDanZPFire -> isFire "+isFire);

		BuJiBaoType daoJuTypeVal = isFire == true ? BuJiBaoType.ZhuPaoSanDanDJ : BuJiBaoType.DaoDan;
		ZhuPaoAmmoSt = daoJuTypeVal;
		if (isFire) {
			//IsSanDanZPFire = false;
			IsPaiJiPaoFire = false;
		}
	}
Example #8
0
	public void SetIsHuoLiAllOpen(bool isFire)
	{
		//Debug.Log("Unity:"+"SetIsHuoLiAllOpen -> isFire "+isFire);
		if (isFire) {
			XKPlayerHuoLiAllOpenUICtrl huoLiUIScript = XKPlayerHuoLiAllOpenUICtrl.GetInstanceHuoLiOpen(PlayerIndex);
			if (huoLiUIScript != null) {
				huoLiUIScript.ShowHuoLiOpenUI(XKDaoJuGlobalDt.GetInstance().HuoLiAllOpenTime);
			}
		}

		if (IsHuoLiAllOpen == isFire) {
			return;
		}
		IsHuoLiAllOpen = isFire;
		//Debug.Log("Unity:"+"SetIsSanDanZPFire -> isFire "+isFire);
		
		BuJiBaoType daoJuTypeValZP = isFire == true ? BuJiBaoType.HuoLiAllOpenDJ : BuJiBaoType.DaoDan;
		BuJiBaoType daoJuTypeValJQ = isFire == true ? BuJiBaoType.HuoLiAllOpenDJ : BuJiBaoType.Null;
		ZhuPaoAmmoSt = daoJuTypeValZP;
		JiQiangAmmoSt = daoJuTypeValJQ;
	}
    public void ShowPlayerDaoJu(PlayerEnum indexPlayer, BuJiBaoType buJiState)
    {
        /*int indexBJ = (int)buJiState - 2;
         * int indexVal = -1;
         * switch (buJiState) {
         * case BuJiBaoType.NLHuDun:
         * case BuJiBaoType.HuoLiAllOpenDJ:
         *      break;
         * case BuJiBaoType.JiSuDJ:
         *      indexVal = (int)indexPlayer + 11;
         *      break;
         * default:
         *      indexVal = (int)indexPlayer - 1;
         *      break;
         * }*/

        /*if (indexVal != -1) {
         *      UITexturePlayer[indexVal].mainTexture = DaoJuTexture[indexBJ];
         *      DaoJuEndTr[indexVal].gameObject.SetActive(true);
         * }*/

        switch (buJiState)
        {
        case BuJiBaoType.ChuanTouDan:
            XkGameCtrl.GetInstance().AddChuanTouDanNum(indexPlayer);
            break;

        case BuJiBaoType.GaoBaoDan:
            XkGameCtrl.GetInstance().AddGaoBaoDanNum(indexPlayer);
            break;

        case BuJiBaoType.GenZongDan:
            XkGameCtrl.GetInstance().AddGenZongDanNum(indexPlayer);
            break;

        case BuJiBaoType.JianSuDan:
            XkGameCtrl.GetInstance().AddJianSuDanNum(indexPlayer);
            break;

        case BuJiBaoType.SanDan:
            XkGameCtrl.GetInstance().AddSanDanNum(indexPlayer);
            break;

        case BuJiBaoType.NLHuDun:
            XkGameCtrl.GetInstance().ActivePlayerWuDiState(indexPlayer);
            break;

        case BuJiBaoType.HuoLiAllOpenDJ:
            break;

        case BuJiBaoType.ShuangBeiFenShuDJ:
            XKPlayerFenShuUICtrl fenShuScript = XKPlayerFenShuUICtrl.GetInstanceFenShu(indexPlayer);
            fenShuScript.ShowFenShuUI(XKDaoJuGlobalDt.GetInstance().TimeShuangBeiVal);
            break;

        case BuJiBaoType.JiSuDJ:
            XKPlayerJiSuUICtrl jiSuScript = XKPlayerJiSuUICtrl.GetInstanceJiSu(indexPlayer);
            jiSuScript.ShowJiSuUI(XKDaoJuGlobalDt.GetInstance().JiSuTimeVal);
            break;
        }
    }
Example #10
0
	/**
	 * ammoType == 0 -> 主角机枪.
	 * ammoType == 1 -> 主炮炮管.
	 */
	GameObject SpawnPlayerAmmoByAmmoType(int ammoIndex, Vector3 ammoSpawnPos, Quaternion ammoSpawnRot)
	{
		GameObject obj = null;
		GameObject ammoParticle = null;
		PlayerAmmoType ammoType = PlayerAmmoType.PuTongAmmo;
		switch (ammoIndex) {
		case JI_QIANG_INDEX:
			ammoType = AmmoStateJiQiang;
			break;
		case ZHU_PAO_INDEX:
			ammoType = AmmoStateZhuPao;
			break;
		}

		if (ammoIndex == ZHU_PAO_INDEX) {
			switch (ammoType) {
			case PlayerAmmoType.ChuanTouAmmo:
				ZhuPaoAmmoSt = BuJiBaoType.ChuanTouDan;
				break;
			case PlayerAmmoType.DaoDanAmmo:
				ZhuPaoAmmoSt = BuJiBaoType.DaoDan;
				break;
			}
		}

		//Debug.Log("Unity:"+"ammoType "+ammoType+", PlayerIndex "+PlayerIndex+", SpawnPlayerAmmoByAmmoType");
		switch (ammoType) {
		case PlayerAmmoType.PuTongAmmo:
			ammoParticle = AmmoParticle[ammoIndex];
			break;

			/*case PlayerAmmoType.GaoBaoAmmo:
			ammoParticle = GaoBaoAmmoParticle[ammoIndex];
			//XkGameCtrl.GetInstance().SubGaoBaoDanNum(PlayerIndex);
			break;*/
			
		case PlayerAmmoType.SanDanAmmo:
			if (ammoIndex == 0) {
				return obj;
			}
			ammoParticle = SanDanAmmoParticle[ammoIndex];
			//XkGameCtrl.GetInstance().SubSanDanNum(PlayerIndex);
			SpawnPlayerAllSanDanAmmo(ammoIndex);
			break;
			
			/*case PlayerAmmoType.GenZongAmmo:
			ammoParticle = GenZongDanAmmoParticle[ammoIndex];
			//XkGameCtrl.GetInstance().SubGenZongDanNum(PlayerIndex);
			break;*/
			
		case PlayerAmmoType.PaiJiPaoAmmo:
			ammoParticle = PaiJiPaoAmmoParticle[ammoIndex];
			break;
			
			/*case PlayerAmmoType.JianSuAmmo:
			ammoParticle = JianSuDanAmmoParticle[ammoIndex];
			//XkGameCtrl.GetInstance().SubJianSuDanNum(PlayerIndex);
			break;*/
			
		case PlayerAmmoType.ChuanTouAmmo:
			ammoParticle = ChuanTouDanAmmoParticle[ammoIndex];
			//XkGameCtrl.GetInstance().SubChuanTouDanNum(PlayerIndex);
			break;
			
		case PlayerAmmoType.DaoDanAmmo:
			ammoParticle = DaoDanAmmoParticle[ammoIndex];
			break;
		}
		SpawnPlayerAmmoParticle(ammoParticle, ammoSpawnPos, ammoSpawnRot);
		obj = GetPlayerAmmo(ammoType, ammoSpawnPos, ammoSpawnRot, ammoIndex);
		return obj;
	}