|
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"; |
|
} |
|
} |
|
} |
|
|