Esempio n. 1
0
        private void Start()
        {
            // Mirror is kinda whack
            if (!hasAuthority)
            {
                Destroy(this);
            }

            Assert.IsNotNull(UiPrefab);
            uiInstance = Instantiate(UiPrefab);
            examineUi  = uiInstance.GetComponent <ExamineUI>();
            Assert.IsNotNull(examineUi);
            uiInstance.SetActive(false);
            selector = Camera.main.transform.GetChild(0).GetComponent <CompositeItemSelector>();
        }
Esempio n. 2
0
        private void Update()
        {
            if (!isClient)
            {
                return;
            }

            if (Input.GetButton("Examine"))
            {
                Vector3    mousePosition = Input.mousePosition;
                Vector2    position      = new Vector2(mousePosition.x, mousePosition.y);
                Vector3    cameraPos     = camera.transform.position;
                Quaternion rotation      = camera.transform.rotation;

                if (Vector2.Distance(position, lastMousePosition) > 1 ||
                    Vector3.Distance(cameraPos, lastCameraPosition) > 0.05 ||
                    Quaternion.Angle(rotation, lastCameraRotation) > 0.1)
                {
                    lastMousePosition  = position;
                    lastCameraPosition = cameraPos;
                    lastCameraRotation = rotation;
                    CalculateExamine();
                }

                examineUi.SetPosition(position);
            }
            else if (!float.IsNegativeInfinity(lastMousePosition.x))
            {
                lastMousePosition = Vector2.negativeInfinity;
                ClearExamine();
                if (selector == null)
                {
                    selector = camera.GetComponent <CompositeItemSelector>();
                }
                selector.DisableCamera();
            }
        }