Мне нужна некоторая помощь, чтобы реализовать способ взаимодействия пользователя с моделью, например, когда нажата кнопка редактирования. Я хочу, чтобы пользователь выделил часть объекта, которая может выделяться желтым цветом на единице с помощью c #,Есть ли способ или какая-то логика? Дайте мне знать, если вы не понимаете, что я хочу реализовать. Спасибо за вашу помощь.
Вот код:
public class BlowupController : MonoBehaviour {
public void Editcomponents()
{
// let user interact when edit button (script) is called.
ClearText();
RemoveStatus = !RemoveStatus;
var imgs = reticle.GetComponentsInChildren<Image>(true);
if (RemoveStatus)
{
foreach (var img in imgs)
{
img.GetComponent<Image>().color = new Color32(255, 0, 0, 255);
}
}
else
{
foreach (var img in imgs)
{
img.GetComponent<Image>().color = new Color32(255, 255, 255, 255);
}
}
}
public void ResetComponents(GameObject Remove)
{
Debug.Log("HI"); ;
Debug.Log(value);
ClearText();
foreach (Animator ani in AnimotorList)
{
ani.gameObject.SetActive(true);
ani.SetBool("Start", value);
}
if (RemoveStatus)
{
var imgs = reticle.GetComponentsInChildren<Image>(true);
foreach (var img in imgs)
{
img.GetComponent<Image>().color = new Color32(255, 255, 255, 255);
}
var on = Remove.transform.Find("Remove_On");
on.gameObject.SetActive(true);
var off = Remove.transform.Find("Remove_Off");
off.gameObject.SetActive(false);
RemoveStatus = !RemoveStatus;
}
ResetPanel.SetActive(false);
}
public void UndoRemovingComponent(GameObject Remove)
{
if (UndoList.Count > 0)
{
ClearText();
var ob = UndoList[UndoList.Count - 1];
ob.SetActive(true);
UndoList.Remove(ob);
if (UndoList.Count == 0)
{
var imgs = reticle.GetComponentsInChildren<Image>(true);
foreach (var img in imgs)
{
img.GetComponent<Image>().color = new Color32(255, 255, 255, 255);
}
var on = Remove.transform.Find("Remove_On");
on.gameObject.SetActive(true);
var off = Remove.transform.Find("Remove_Off");
off.gameObject.SetActive(false);
ResetPanel.SetActive(false);
UndoPanel.SetActive(false);
RemoveStatus = !RemoveStatus;
}
}
}
private IEnumerator Start()
{
yield return new WaitForSeconds(initialTimeDelay);
if (reticle == null)
{
reticle = FindObjectOfType<Reticle>().gameObject;
}
TransformSync();
}
}
}