using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// Создание комнаты в редакторе /// не используется /// public class RoomController : MonoBehaviour { public float Height = 1f; public int Rounding = 1; public bool move = true; public bool BoxColliderEnabled = true; //GameObject cursor_end; private Vector3 screenPoint; private Vector3 offset; private Vector3 curScreenPoint; private Vector3 curPosition; public Vector3 start_pos = Vector3.zero; // координаты левого нижнего угла // Start is called before the first frame update void Start() { gameObject.GetComponent().enabled = BoxColliderEnabled; //cursor_end = transform.GetChild(6).gameObject; } // Update is called once per frame void Update() { if (gameObject.GetComponent().enabled != BoxColliderEnabled) gameObject.GetComponent().enabled = BoxColliderEnabled; } void OnMouseDown() { //Debug.Log(StagesEditorController.indexCursor); screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position); offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z)); } // Перемещение void OnMouseDrag() { curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z); curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset; var x = (float)Math.Round(curPosition.x, Rounding); var z = (float)Math.Round(curPosition.z, Rounding); var boxCollider = gameObject.GetComponent(); if (!move) { //transform.position = new Vector3(x, Height, z); boxCollider.size = new Vector3(x, Height, z); LocationController.Cube(gameObject, new Vector3(x, z, Height), new Vector2(start_pos.x, start_pos.z),0.05f); } else { start_pos = new Vector3(x, Height*0.5f, z); transform.position = start_pos; //var size = boxCollider.size; //start_pos = new Vector3(x - size.x/2, Height, z - size.z / 2); } } private void OnMouseUp() { //boxCollider.enabled=false; if (move) move = false; } }