RingBell.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. //================================================================================
  2. //
  3. //================================================================================
  4. using UnityEngine;
  5. using System.Collections;
  6. //================================================================================
  7. //
  8. //================================================================================
  9. namespace ReaderRabbit
  10. {
  11. //================================================================================
  12. //
  13. //================================================================================
  14. [RequireComponent(typeof(PolygonCollider2D))]
  15. public class RingBell : MonoBehaviour
  16. {
  17. //================================================================================
  18. //
  19. //================================================================================
  20. [SerializeField] private GameObject mouseOverSprite;
  21. [SerializeField] private GameObject mouseDownSprite;
  22. [SerializeField] private GameObject mouseOutsideSprite;
  23. private SceneSillySandwichShop m_Owner;
  24. //================================================================================
  25. //
  26. //================================================================================
  27. void Awake()
  28. {
  29. m_Owner = GameObject.Find("SceneCode").GetComponent<SceneSillySandwichShop>();
  30. }
  31. //================================================================================
  32. //
  33. //================================================================================
  34. void Start()
  35. {
  36. mouseOverSprite.SetActive(false);
  37. mouseDownSprite.SetActive(false);
  38. mouseOutsideSprite.SetActive(true);
  39. Invoke("UpdateSizesAndPositions", 0.01f);
  40. }
  41. //================================================================================
  42. //
  43. //================================================================================
  44. private void UpdateSizesAndPositions()
  45. {
  46. KishiTechUnity.ScreenResolution.ScreenResolutionManager.Instance().ForceUpdateGameObject(mouseOverSprite);
  47. KishiTechUnity.ScreenResolution.ScreenResolutionManager.Instance().ForceUpdateGameObject(mouseDownSprite);
  48. }
  49. //================================================================================
  50. //
  51. //================================================================================
  52. void OnMouseEnter()
  53. {
  54. mouseOverSprite.SetActive(true);
  55. mouseDownSprite.SetActive(false);
  56. mouseOutsideSprite.SetActive(false);
  57. }
  58. //================================================================================
  59. //
  60. //================================================================================
  61. void OnMouseExit()
  62. {
  63. mouseOverSprite.SetActive(false);
  64. mouseDownSprite.SetActive(false);
  65. mouseOutsideSprite.SetActive(true);
  66. }
  67. //================================================================================
  68. //
  69. //================================================================================
  70. void OnMouseDown()
  71. {
  72. mouseOverSprite.SetActive(false);
  73. mouseDownSprite.SetActive(true);
  74. mouseOutsideSprite.SetActive(false);
  75. OnClick();
  76. }
  77. //================================================================================
  78. //
  79. //================================================================================
  80. void OnMouseUpAsButton()
  81. {
  82. mouseOverSprite.SetActive(true);
  83. mouseDownSprite.SetActive(false);
  84. mouseOutsideSprite.SetActive(false);
  85. }
  86. //================================================================================
  87. //
  88. //================================================================================
  89. public void EnableButton()
  90. {
  91. GetComponent<Collider2D>().enabled = true;
  92. }
  93. //================================================================================
  94. //
  95. //================================================================================
  96. public void DisableButton()
  97. {
  98. GetComponent<Collider2D>().enabled = false;
  99. }
  100. //================================================================================
  101. //
  102. //================================================================================
  103. private void OnClick()
  104. {
  105. Invoke("DisableButton", 0.2f);
  106. m_Owner.OnClickRingBell();
  107. Invoke("EnableButton", 0.3f);
  108. }
  109. } // public class RingBell : MonoBehaviour
  110. } // namespace ReaderRabbit