(I’m new to coding and to Unity)
The following code keeps on repeating the PasteClicked void even tho I clicked the button to start CopyClicked void.
I would like that my code start the PasteClicked or CopyClicked void only once and if the button is reclicked it re-start it only once.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AddorCopy : MonoBehaviour
{
public Button paste;
public Button copy;
public Material presets1;
public Material presets2;
public Material presets3;
public Material presets4;
public Material presets5;
public Material presets6;
public Material Base_material;
public Button button1;
public Button button2;
public Button button3;
public Button button4;
public Button button5;
public Button button6;
public void Start()
{
paste.onClick.AddListener(PasteClicked);
copy.onClick.AddListener(CopyClicked);
void PasteClicked()
{
button1.onClick.AddListener(one);
button2.onClick.AddListener(two);
button3.onClick.AddListener(three);
button4.onClick.AddListener(four);
button5.onClick.AddListener(five);
button6.onClick.AddListener(six);
void one()
{
presets1.CopyPropertiesFromMaterial(Base_material);
}
void two()
{
presets2.CopyPropertiesFromMaterial(Base_material);
}
void three()
{
presets3.CopyPropertiesFromMaterial(Base_material);
}
void four()
{
presets4.CopyPropertiesFromMaterial(Base_material);
}
void five()
{
presets5.CopyPropertiesFromMaterial(Base_material);
}
void six()
{
presets6.CopyPropertiesFromMaterial(Base_material);
}
}
void CopyClicked()
{
button1.onClick.AddListener(one);
button2.onClick.AddListener(two);
button3.onClick.AddListener(three);
button4.onClick.AddListener(four);
button5.onClick.AddListener(five);
button6.onClick.AddListener(six);
void one()
{
Base_material.CopyPropertiesFromMaterial(presets1);
}
void two()
{
Base_material.CopyPropertiesFromMaterial(presets2);
}
void three()
{
Base_material.CopyPropertiesFromMaterial(presets3);
}
void four()
{
Base_material.CopyPropertiesFromMaterial(presets4);
}
void five()
{
Base_material.CopyPropertiesFromMaterial(presets5);
}
void six()
{
Base_material.CopyPropertiesFromMaterial(presets6);
}
}
}
}