PortalDemoGUI.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using UnityEngine;
  2. using System.Collections;
  3. public class PortalDemoGUI: MonoBehaviour
  4. {
  5. public GameObject[] Prefabs;
  6. private int currentNomber;
  7. private GameObject currentInstance;
  8. private GUIStyle guiStyleHeader = new GUIStyle();
  9. float dpiScale;
  10. void Start () {
  11. if (Screen.dpi < 1) dpiScale = 1;
  12. if (Screen.dpi < 200) dpiScale = 1;
  13. else dpiScale = Screen.dpi / 200f;
  14. guiStyleHeader.fontSize = (int)(15f * dpiScale);
  15. guiStyleHeader.normal.textColor = new Color(0.15f,0.15f,0.15f);
  16. currentInstance = Instantiate(Prefabs[currentNomber], transform.position, new Quaternion()) as GameObject;
  17. }
  18. private void OnGUI()
  19. {
  20. if (GUI.Button(new Rect(10 * dpiScale, 15 * dpiScale, 135 * dpiScale, 37 * dpiScale), "PREVIOUS"))
  21. {
  22. ChangeCurrent(-1);
  23. }
  24. if (GUI.Button(new Rect(160 * dpiScale, 15 * dpiScale, 135 * dpiScale, 37 * dpiScale), "NEXT"))
  25. {
  26. ChangeCurrent(+1);
  27. }
  28. }
  29. void ChangeCurrent(int delta) {
  30. currentNomber+=delta;
  31. if (currentNomber> Prefabs.Length - 1)
  32. currentNomber = 0;
  33. else if (currentNomber < 0)
  34. currentNomber = Prefabs.Length - 1;
  35. if(currentInstance!=null) Destroy(currentInstance);
  36. currentInstance = Instantiate(Prefabs[currentNomber], transform.position, new Quaternion()) as GameObject;
  37. }
  38. }