This commit is contained in:
高国正 2023-08-30 10:31:47 +08:00
parent a93c6bbd4c
commit 7b46f3e11b
9 changed files with 6397 additions and 114 deletions

View File

@ -2,6 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
//============================================================
//支持中文文件使用UTF-8编码
//@author #AUTHOR#
@ -17,19 +18,64 @@ public class DeviceItem : MonoBehaviour
public int startIndex;
public int volume;
public DragTest1 oriPrefab;
public DragTest oriPrefab;
// Use this for initialization
public void Init(DeviceManager _deviceManager, int _startIndex, int _volume, DragTest1 _dtPrefab)
public MeshRenderer _mesh = null;
public void Init(DeviceManager _deviceManager, int _startIndex, int _volume, DragTest _dtPrefab)
{
gameObject.AddComponent<BoxCollider>();
BoxCollider boxCollider = GetComponent<BoxCollider>();
if (!boxCollider)
{
if (gameObject.GetComponent<MeshRenderer>() != null)
{
_mesh = gameObject.GetComponent<MeshRenderer>();
}
else
{
_mesh = transform.GetChild(0).GetComponent<MeshRenderer>();
}
if (_mesh != null)
{
var initrot = transform.rotation;
transform.rotation = Quaternion.identity;
var bounds = _mesh.bounds;
var a = transform.gameObject.AddComponent<BoxCollider>();
a.isTrigger = false;
a.center = bounds.center - transform.position;
a.size = bounds.size;
transform.rotation = initrot;
}
}
gameObject.AddComponent<ClickEvent>();
//gameObject.AddComponent<BoxCollider>();
deviceManager = _deviceManager;
startIndex = _startIndex;
volume = _volume;
oriPrefab = _dtPrefab;
}
private void OnMouseDown()
//private void OnMouseDown()
//{
// if (!EventSystem.current.IsPointerOverGameObject())
// {
// Vector3 pos = Input.mousePosition;
// deviceManager.SetMenuValue(pos, this, oriPrefab);
// }
//}
public void OnselfClick()
{
if (!EventSystem.current.IsPointerOverGameObject())
{

View File

@ -31,7 +31,7 @@ public class DeviceManager : MonoBehaviour
deviceItems.Add(deviceItem);
}
public void SetMenuValue(Vector3 pos, DeviceItem di, DragTest1 dtPrefab)
public void SetMenuValue(Vector3 pos, DeviceItem di, DragTest dtPrefab)
{
editorMenu.gameObject.SetActive(true);
Vector2 uiLocalPos;

View File

@ -15,15 +15,15 @@ using UnityEngine.EventSystems;
public class DragController : MonoBehaviour, IBeginDragHandler, IEndDragHandler, IDragHandler
{
public DragTest1 oriObjectPrefab;
private DragTest1 targetObject;
public DragTest oriObjectPrefab;
private DragTest targetObject;
private UPosItem currentUPosItem;
public Func<bool> DragCondition;
public Action<DragTest1> DragAction;
public Action<DragTest> DragAction;
public Action<DragTest1> BeginDragAction;
public Action<DragTest1> EndDragAction;
public Action<DragTest> BeginDragAction;
public Action<DragTest> EndDragAction;
//public DragTest1 currentDevice;
@ -113,7 +113,7 @@ public class DragController : MonoBehaviour, IBeginDragHandler, IEndDragHandler,
/// </summary>
/// <param name="dt"></param>
/// <param name="index">机位号码从0开始</param>
public bool CountUPos(DragTest1 dt, int index)
public bool CountUPos(DragTest dt, int index)
{
if (index >= 0)
{
@ -138,10 +138,10 @@ public class DragController : MonoBehaviour, IBeginDragHandler, IEndDragHandler,
private void OnRay(GameObject target)
{
currentUPosItem = null;
target.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition + new Vector3(0, 0, 5));
target.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition + new Vector3(0, 0, 2));
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
if (Physics.Raycast(ray, out hitInfo,100, 1 << 10))
{
if (hitInfo.collider != null && hitInfo.collider.GetComponent<UPosItem>())
{

View File

@ -23,7 +23,7 @@ public class UPosItem : MonoBehaviour
[ContextMenu("Set")]
public void SetValue()
{
//instruct = Instantiate(Resources.Load<SpriteRenderer>("Adam/Instruct"), transform);
instruct = Instantiate(Resources.Load<SpriteRenderer>("Adam/Instruct"), transform);
//DestroyImmediate(transform.GetChild(0).gameObject);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -544,13 +544,14 @@ public class GameManager : MonoBehaviour
go.name = Racks[i].id;
if (!go.GetComponent<ClickEvent>())
go.AddComponent<ClickEvent>();
go.GetComponent<DragTest>().isplace = true;
//go.GetComponent<DragTest>().isplace = true;
go.transform.SetParent(item.transform.Find("U位/" + U));
go.GetComponent<DragTest>().isplace = true;
Array.ForEach(go.transform.GetComponentsInChildren<DragTest>(), (item) =>
{
item.enabled = false;
});
//go.GetComponent<DragTest>().isplace = true;
//Array.ForEach(go.transform.GetComponentsInChildren<DragTest>(), (item) =>
//{
// item.enabled = false;
//});
}
catch (Exception e)
{

View File

@ -129,8 +129,8 @@ public class ClickEvent : MonoBehaviour
GameManager.Inst.nowDeviceID = d.deviceList.id;
GameManager.Inst.nowDevice = gameObject;
PatternChoose.Inst.transform.Find("设备类/设备配置").gameObject.SetActive(true);//√
gameObject.GetComponent<DeviceItem>().OnselfClick();
//PatternChoose.Inst.transform.Find("设备类/设备配置").gameObject.SetActive(true);//√
}
}
}

View File

@ -80,6 +80,7 @@ public class TransparentGlowManage : MonoBehaviour
{
ClickEvent clickEvent = item.GetComponent<ClickEvent>();
BoxCollider boxCollider = item.GetComponent<BoxCollider>();
DeviceItem deviceItem= item.GetComponent<DeviceItem>();
//CabinetInfor cabinetInfor = item.GetComponent<CabinetInfor>();
//Transform U = item.Find("U位");
@ -141,7 +142,8 @@ public class TransparentGlowManage : MonoBehaviour
}
if (!deviceItem)
item.gameObject.AddComponent<DeviceItem>();
}
}