Exemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetButtonUp("Fire1"))
     {
         if (Physics.Raycast(this.transform.position, this.transform.forward, out RaycastHit hitInfo))
         {
             var hint = hitInfo.transform.gameObject.GetComponent <HIntObject>();
             if (hint != null)
             {
                 if (Vector3.Distance(this.transform.position, hint.transform.position) < selectionDistance)
                 {
                     manager.ActivateObject(hint.objectID);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        // Update is called once per frame
        void Update()
        {
            if (_preview == null)
            {
                _preview         = new GameObject("preview");
                _previewRotation = new GameObject("rotation");
                _previewRotation.transform.parent = _preview.transform;
            }
            Chunk chunkHit;
            var   pos = GetMouseOveredVoxelPos(out chunkHit);

            if (Input.GetKeyDown(KeyCode.R))
            {
                _previewRotation.transform.RotateAround(pos, Vector3.up, 90);
            }
            if (Input.GetKeyDown(KeyCode.Mouse0))
            {
                var obj = Instantiate(_previewRotation);
                obj.transform.position += _preview.transform.position;
                obj.name = ObjectToPlace.Name;
                var item = obj.transform.GetChild(0).gameObject;
                var c    = item.GetComponent <Renderer>().material.color;
                item.GetComponent <Renderer>().material.color = new Color(c.r, c.g, c.b, 1);
                ObjectManager.ActivateObject(item, ObjectToPlace);
            }
            if (chunkHit != null && World.At(pos + Vector3.up).IsAir())
            {
                DrawPreview(pos);
            }
            else
            {
                if (_previewObj != null)
                {
                    Destroy(_previewObj);
                }
            }
        }