Skip to content
Snippets Groups Projects
Select Git revision
  • 379098f0e172c4aa9a373ac6e249b7e63a6aac52
  • master default
  • dependabot/nuget/source/Sample/Newtonsoft.Json-13.0.1
  • dependabot/nuget/source/MasterDevs.ChromeDevTools.Tests/Newtonsoft.Json-13.0.1
  • dependabot/nuget/source/ProtocolGenerator/Newtonsoft.Json-13.0.1
  • dependabot/nuget/source/ChromeDevTools/Newtonsoft.Json-13.0.1
  • dependabot/nuget/source/ChromeDevTools/System.Net.Http-4.3.4
  • revert-29-revert-24-protocol_62
  • revert-24-protocol_62
  • 1.1.0
  • 1.0.2
  • 1.0.1
  • 1.0.0.40915
13 results

RestartFrameCommandResponse.cs

Blame
  • WorldCursor.cs 2.45 KiB
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Events;
    using UnityEngine.EventSystems;
    using static CommunicationEvents;
    
    public class WorldCursor : MonoBehaviour
    {
        public RaycastHit Hit;
        private Camera Cam;
    
        void Start()
        {
    
            Cam = Camera.main;
            //Set MarkPointMode as the default ActiveToolMode
           // ActiveToolMode = ToolMode.ExtraMode;//ToolMode.MarkPointMode;
            CommunicationEvents.ToolModeChangedEvent.Invoke(ActiveToolMode);
    
        }
    
        // Update is called once per frame
        void Update()
        {
            Ray ray = Cam.ScreenPointToRay(Input.mousePosition);
    
           
            int layerMask = 1 << LayerMask.NameToLayer("Player"); //only hit player
            layerMask = ~layerMask; //ignore Player
    
       
    
            if(Physics.Raycast(ray, out Hit, 30f, layerMask)){
    
                // Debug.Log(Hit.transform.tag);
                if (Hit.collider.transform.CompareTag("SnapZone"))
                {
                    Hit.point = Hit.collider.transform.position;
                    Hit.normal = Vector3.up;
                    CheckMouseButtons(true);
                    transform.position = Hit.point;
                    transform.up = Hit.normal;
    
                }
                else
                {
                    transform.position = Hit.point;
                    transform.up = Hit.normal;
                    transform.position += .01f * Hit.normal;
                    CheckMouseButtons();
                }
    
    
    
    
            }
            else
            {
                var dist = 10f;
                if (Hit.transform!=null)
                dist = (Camera.main.transform.position - Hit.transform.position).magnitude;
                transform.position = Cam.ScreenToWorldPoint(Input.mousePosition + new Vector3(0,0,1) *dist);
                transform.up = -Cam.transform.forward;
            }
    
    
            
        }
    
        //Check if left Mouse-Button was pressed and handle it
        void CheckMouseButtons(bool OnSnap=false)
        {
           
            if (Input.GetMouseButtonDown(0))
            {
                if (EventSystem.current.IsPointerOverGameObject()) return; //this prevents rays from shooting through ui
    
                if (!OnSnap)
                {
                    CommunicationEvents.TriggerEvent.Invoke(Hit);
                }
                else {
                    Hit.collider.enabled = false;
                    CommunicationEvents.TriggerEvent.Invoke(Hit);
                //    CommunicationEvents.SnapEvent.Invoke(Hit);
                }
                    
    
              
    
            }
        }
    
       
    
    
    
     
    
    }