Example #1
0
    void OnCollisionEnter(Collision collision)
    {
        PlayerZhiShengJiCtrl playerScript = collision.gameObject.GetComponent <PlayerZhiShengJiCtrl>();

        if (playerScript == null)
        {
            return;
        }

        if (IsDeathNpc)
        {
            return;
        }
//		Debug.Log("**********OnCollisionEnter-> collision "+collision.gameObject.name);

        if (playerScript.GetPlayerType() != PlayerTypeEnum.TanKe)
        {
            return;
        }

        if (XkGameCtrl.GameJiTaiSt != GameJiTaiType.TanKeJiTai)
        {
            return;
        }

        bool isSetDianJiState = false;

        if (!IsYouTongNpc)
        {
            isSetDianJiState = true;
            XkGameCtrl.GetInstance().AddPlayerKillNpc(PlayerEnum.Null, NpcJiFen);
            XkGameCtrl.GetInstance().AddYouLiangDian(YouLiangDian, PlayerEnum.Null);
            YouLiangDianUICtrl.GetInstance().HandleNpcYouLiangDian(YouLiangDian, transform);
        }

        if (NpcScript != null)
        {
            IsDeathNpc       = true;
            isSetDianJiState = true;
            NpcScript.TriggerRemovePointNpc(1);
        }
        else if (CannonScript != null)
        {
            IsDeathNpc       = true;
            isSetDianJiState = true;
            CannonScript.OnRemoveCannon(PlayerEnum.Null, 1);
        }

        if (isSetDianJiState)
        {
            XKPlayerAutoFire.SetPlayerZuoYiDianJiState(PlayerEnum.PlayerOne, 2);
            XKPlayerAutoFire.SetPlayerZuoYiDianJiState(PlayerEnum.PlayerTwo, 2);
        }
        CheckHiddenNpcObjArray();
    }
    void OnCollisionEnter(Collision collision)
    {
        string layerName = LayerMask.LayerToName(collision.gameObject.layer);

        if (layerName == XkGameCtrl.TerrainLayer && !IsDelayDestroy)
        {
            InitDelayDestroyBuJiBao();
        }

        if (Network.peerType == NetworkPeerType.Client)
        {
            return;
        }

        PlayerZhiShengJiCtrl script = collision.transform.root.GetComponent <PlayerZhiShengJiCtrl>();

        if (script == null)
        {
            return;
        }
        RemoveBuJiBao(PlayerEnum.Null, 1);
    }
Example #3
0
 public void SetPlayerZhiShengJiScript(PlayerZhiShengJiCtrl script)
 {
     //PlayerZhiShengJiScript = script;
 }
Example #4
0
    void CheckCrossAimObjPlayerTwo()
    {
        if (!XkGameCtrl.IsActivePlayerTwo)
        {
            return;
        }

        if (Camera.main == null)
        {
            return;
        }

        if (XkGameCtrl.GameModeVal != GameMode.LianJi)
        {
            return;
        }

        if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai && PlayerStEnum != PlayerTypeEnum.FeiJi)
        {
            return;
        }

        if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai && PlayerStEnum != PlayerTypeEnum.TanKe)
        {
            return;
        }

        if (Network.peerType == NetworkPeerType.Server)
        {
            return;
        }

        Vector3    mousePosInput = pcvr.GetPlayerMousePos(PlayerEnum.PlayerOne);
        Ray        ray           = Camera.main.ScreenPointToRay(mousePosInput);
        RaycastHit hit;
        bool       isAimPlayer = false;

        if (Physics.Raycast(ray, out hit, FireRayDirLen, XkGameCtrl.GetInstance().PlayerLayer.value))
        {
            if (hit.collider.tag == "Player")
            {
                if (PlayerStEnum == PlayerTypeEnum.TanKe)
                {
                    PlayerZhiShengJiCtrl zsjScript = hit.collider.GetComponent <PlayerZhiShengJiCtrl>();
                    if (zsjScript == null)
                    {
                        isAimPlayer = true;
                    }
                }
                else
                {
                    isAimPlayer = true;
                }
                //Debug.Log("********************aim player p2");
            }
        }

        if (IsAimPlayerPTwo && !isAimPlayer && Time.realtimeSinceStartup - TimeAimPlayerPTwo < 0.5f)
        {
            return;
        }
        TimeAimPlayerPTwo = Time.realtimeSinceStartup;

        if (IsAimPlayerPTwo != isAimPlayer)
        {
            IsAimPlayerPTwo = isAimPlayer;
            ZhunXingCtrl.GetInstanceTwo().SetZhunXingSprite();
        }
    }