Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (photonView.isMine)
        {
            if (Input.GetMouseButtonDown(1))
            {
                Debug.Log("Clicked!");
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit; LayerMask mask = 1 << 8;
                Vector3    click = lastClientClick; int hitID = gameObject.GetPhotonView().viewID;

                if (Physics.Raycast(ray, out hit, 200, mask))
                {
                    click = hit.point;
                    hitID = ClickedCollider(click);
                }
                Debug.Log(hit.point.ToString() + ", " + hit.collider.name);

                if (lastClientClick != click)
                {
                    lastClientClick = click;
                    uMovement.C2UMMovementInput(lastClientClick, hitID, "MOVE");
//					if(PhotonNetwork.isMasterClient)
//					{
//						SendMovementInput(click.x, click.y, click.z, hitID);
//					}
//					else if(PhotonNetwork.isNonMasterClientInRoom)
//					{
//						photonView.RPC("SendMovementInput", PhotonTargets.MasterClient, click.x, click.y, click.z, hitID);
//					}
                }
            }
        }

//		if (PhotonNetwork.isMasterClient)
//		{
//			if (target == null)
//			{
//				float distance = (serverCurrentClick - transform.position).magnitude;
//				if (serverCurrentClick != Vector3.zero && distance > 1)
//				{
//					movement = serverCurrentClick;
//				}
//				else
//				{
//					movement = transform.position;
//				}
//			}
//			else
//			{
//				transform.LookAt (target.transform.position);
//				float distance = (transform.position - target.transform.position).magnitude;
//				if (distance < forgerInfo.AttackRange)
//				{
//					movement = transform.position;
//					clicked = false;
//					Attack();
//				}
//				else
//				{
//					movement = target.transform.position;
//				}
//			}
//		}
//
//		nav.destination = movement;
    }