Skip to content
Snippets Groups Projects
Select Git revision
  • 3a63ea1f4cc3bacaa7a5a2c5574197e4202df47e
  • master default
  • JS-based-scroll-rendering
  • Paul_Marius_Level
  • Paul_Marius_2
  • Paul_Marius
  • Andi_Mark
  • be-UnityWebView
  • gitignoreFrameitServer
  • ZimmerBSc
  • Bugfix_StageLoading
  • stages
  • MAZIFAU_Experimental
  • tsc/coneworld
  • tsc/fact-interaction
  • marcel
  • MaZiFAU_TopSort
  • mergeHelper
  • zwischenSpeichern
  • tempAndrToMaster
  • SebBranch
  • 3.0
  • v2.1
  • v2.0
  • v1.0
25 results

WorldCursor.cs

Blame
  • WorldCursor.cs 12.04 KiB
    using System;
    using System.Globalization;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Events;
    using UnityEngine.EventSystems;
    using System.Linq;
    using static GadgetManager;
    
    public class WorldCursor : MonoBehaviour
    {
        public RaycastHit Hit;
        // TODO experimentell for multiple hits
        public RaycastHit[] MultipleHits;
    
        public string deactivateSnapKey;
        private Camera Cam;
        private int layerMask;
        public LayerMask snapLayerMask;
        public float MaxRange = 10f;
        public bool useCamCurser = false;
    
        private void Awake()
        {
            this.layerMask = LayerMask.GetMask("Player", "TalkingZone");
            //Ignore player and TalkingZone
            this.layerMask = ~this.layerMask;
        }
    
        void Start()
        {
            Cam = Camera.main;
            //Set MarkPointMode as the default ActiveToolMode
            // ActiveToolMode = ToolMode.ExtraMode;//ToolMode.MarkPointMode;
            // CommunicationEvents.ToolModeChangedEvent.Invoke(activeGadget.id);
            CultureInfo.CurrentCulture = new CultureInfo("en-US");
        }
    
        public void setLayerMask(int layerMask)
        {
            this.layerMask = layerMask;
        }
    
        //void Update()
        //{
        //    Ray ray = useCamCurser ? new Ray(Cam.transform.position, Cam.transform.forward) : Cam.ScreenPointToRay(Input.mousePosition);
    
        //    this.Hit = new RaycastHit();
        //    transform.up = Cam.transform.forward;
        //    transform.position = ray.GetPoint(GlobalBehaviour.GadgetPhysicalDistance);
    
        //    int rayCastMask;
        //    if (Input.GetButton(this.deactivateSnapKey))
        //        rayCastMask = this.layerMask & ~this.snapLayerMask.value;
        //    else
        //        rayCastMask = this.layerMask;
    
        //    if (Physics.Raycast(ray, out Hit, MaxRange, rayCastMask)
        //        || (MaxRange <= GlobalBehaviour.GadgetPhysicalDistance 
        //        && Physics.Raycast(transform.position, Vector3.down, out Hit, GlobalBehaviour.GadgetPhysicalDistance, rayCastMask)))
        //    {
        //        if ((Hit.collider.transform.CompareTag("SnapZone") || Hit.collider.transform.CompareTag("Selectable")) 
        //            && !Input.GetButton(this.deactivateSnapKey))
        //        {
        //            if(Hit.collider.gameObject.layer == LayerMask.NameToLayer("Ray")
        //                || Hit.collider.gameObject.layer == LayerMask.NameToLayer("Line"))
        //            {
        //                var id = Hit.collider.gameObject.GetComponent<FactObject>().URI;
        //                AbstractLineFact lineFact = StageStatic.stage.factState[id] as AbstractLineFact;