using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Btn : MonoBehaviour
{
public GameObject Mode;
public GameObject oBtn;
public GameObject wBtn;
public GameObject MainBtn;
// Start is called before the first frame update
void Start()
{
BtnClickBindEnvent(oBtn);
BtnClickBindEnvent(wBtn);
// BtnClickBindEnvent(DirMenu, true);
Button btn = MainBtn.transform.GetComponent();
btn.onClick.AddListener(delegate { OnButtonOnClickEvent(btn); });
}
// Update is called once per frame
void Update()
{
}
public void OnButtonOnClickEvent(Button btn)
{
HandbleRay(btn.name);
}
public void HandbleRay(string name)
{
switch (name)
{
case "Btn1":
print(message: "MainBtn");
break;
case "Btn2":
break;
case "8":
break;
default:
break;
}
}
public void BtnClickBindEnvent(GameObject obj, bool isPosition = false)
{
int num = obj.transform.childCount;
for (int i = 0; i < num; i++)
{
Button btn = obj.transform.GetChild(i).GetComponent<Button>();
if (btn != null)
{
btn.onClick.AddListener(
delegate
{
//把调整位置的功能按钮与操作功能按钮分开
if (isPosition)
{
OnButtonOnClickPositionEvent(btn);
}
else
{
//功能按钮功能
OnButtonOnClickEvent(btn);
}
});
}
}
}
public void OnButtonOnClickPositionEvent(Button btn)
{
switch (btn.name)
{
case "back":
Mode.transform.position += new Vector3(0, 0, 0.05f);
break;
case "forward":
Mode.transform.position -= new Vector3(0, 0, 0.05f);
break;
case "up":
Mode.transform.position += new Vector3(0, 0.05f, 0);
break;
case "down":
Mode.transform.position -= new Vector3(0, 0.05f, 0);
break;
case "right":
Mode.transform.position += new Vector3(0.05f, 0, 0);
break;
case "left":
Mode.transform.position -= new Vector3(0.05f, 0, 0);
break;
case "big":
Mode.transform.localScale += new Vector3(0.01f, 0.01f, 0.01f);
break;
case "small":
Mode.transform.localScale -= new Vector3(0.01f, 0.01f, 0.01f);
break;
case "rotaleft":
Mode.transform.Rotate(new Vector3(0f, 0.5f, 0f));
break;
case "rotaright":
Mode.transform.Rotate(new Vector3(0f, -0.5f, 0f));
break;
case "rotaup":
Mode.transform.Rotate(new Vector3(-0.5f, 0f, 0f));
break;
case "rotadown":
Mode.transform.Rotate(new Vector3(0.5f, 0f, 0f));
break;
case "rotaleftup":
Mode.transform.Rotate(new Vector3(0f, 0f, 0.5f));
break;
case "rotarightdown":
Mode.transform.Rotate(new Vector3(0f, 0f, -0.5f));
break;
case "savePosition":
break;
case "loadPosition":
break;
default:
break;
}
Vector3 tr = Mode.transform.position;
Vector3 ts = Mode.transform.localScale;
Quaternion tro = Mode.transform.rotation;
}
}