123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class LabelObjectScript : MonoBehaviour
- {
- RectTransform canvasRect;
- GameObject text;
- Button button;
- public bool TrackMarker = true;
- public uint UserId;
-
-
- void Start()
- {
-
- cameraController = Camera.main.GetComponent<CameraController>();
- canvasRect = transform.GetChild(0).GetComponent<RectTransform>();
- text = transform.GetChild(0).GetChild(0).GetChild(0).gameObject;
- var player = PlayerController.instance;
- if (TrackMarker) {
- button = transform.GetChild(0).GetChild(0).GetChild(1).GetComponent<Button>();
- button.onClick.AddListener(() => player.BroadcastStart(UserId));
- }
- }
-
- void Update()
- {
-
- float offsetPosY = transform.position.y + 1.5f;
-
- Vector3 offsetPos = new Vector3(transform.position.x, offsetPosY, transform.position.z);
-
- Vector2 canvasPos;
- Vector2 screenPoint = Camera.main.WorldToScreenPoint(offsetPos);
-
- RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasRect, screenPoint, null, out canvasPos);
-
-
-
-
- text.transform.parent.transform.localPosition = canvasPos;
- }
- CameraController cameraController;
- void OnMouseDown()
- {
- if (TrackMarker)
- {
- cameraController.target = transform;
- cameraController.axes = CameraController.RotationAxes.TrackMarker;
-
- }
- }
- void BroadcastStart()
- {
- var player = PlayerController.instance;
- if (player.user_broadcast != UserId)
- {
- if (player.user_broadcast != null)
- {
- var client = Client.instance;
- client.ImageStreamStopSend(player.user_broadcast.Value);
- }
- player.user_broadcast = UserId;
- player.broadcast = true;
- }
- }
- }
|