| using UnityEngine; |
|
|
| public class PyramidSwitch : MonoBehaviour |
| { |
| public Material onMaterial; |
| public Material offMaterial; |
| public GameObject myButton; |
| bool m_State; |
| GameObject m_Area; |
| PyramidArea m_AreaComponent; |
| int m_PyramidIndex; |
|
|
| public bool GetState() |
| { |
| return m_State; |
| } |
|
|
| void Start() |
| { |
| m_Area = gameObject.transform.parent.gameObject; |
| m_AreaComponent = m_Area.GetComponent<PyramidArea>(); |
| } |
|
|
| public void ResetSwitch(int spawnAreaIndex, int pyramidSpawnIndex) |
| { |
| m_AreaComponent.PlaceObject(gameObject, spawnAreaIndex); |
| m_State = false; |
| m_PyramidIndex = pyramidSpawnIndex; |
| tag = "switchOff"; |
| transform.rotation = Quaternion.Euler(0f, 0f, 0f); |
| myButton.GetComponent<Renderer>().material = offMaterial; |
| } |
|
|
| void OnCollisionEnter(Collision other) |
| { |
| if (other.gameObject.CompareTag("agent") && m_State == false) |
| { |
| myButton.GetComponent<Renderer>().material = onMaterial; |
| m_State = true; |
| m_AreaComponent.CreatePyramid(1, m_PyramidIndex); |
| tag = "switchOn"; |
| } |
| } |
| } |
|
|