TA/Unity2017. 1. 22. 20:35

스크립트(ngui -> UI 폴더)



  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4.  
  5. public class UIRepeatButton : MonoBehaviour
  6. {
  7.         public float interval = 0.0001525F;
  8.        
  9.         bool mIsPressed = false;
  10.         float mNextClick = 0f;
  11.  
  12.         public List<EventDelegate> onPressListeners = new List<EventDelegate>();
  13.  
  14.        
  15.         void OnPress (bool isPressed) { mIsPressed = isPressed; mNextClick = Time.realtimeSinceStartup + interval; }
  16.        
  17.         void Update ()
  18.         {
  19.                 if (mIsPressed && Time.realtimeSinceStartup > mNextClick)
  20.                 {
  21.                         mNextClick = Time.realtimeSinceStartup + interval;
  22.                        
  23.                         // Do what you need to do, or simply:
  24.                         //SendMessage("OnClick", SendMessageOptions.DontRequireReceiver);
  25.                         //cleaner:
  26.                         EventDelegate.Execute(onPressListeners);
  27.                 }
  28.         }
  29. }
  30.  


에디터 스크립트(ngui -> editer폴더)



  1. using UnityEngine;
  2. using UnityEditor;
  3.  
  4. [CanEditMultipleObjects]
  5. [CustomEditor(typeof(UIRepeatButton))]
  6. public class UIRepeatButtonEditor : UIWidgetContainerEditor
  7. {
  8.         public override void OnInspectorGUI ()
  9.         {
  10.                 serializedObject.Update();
  11.  
  12.                 UIRepeatButton button = target as UIRepeatButton;
  13.  
  14.                 //this allows to more conveniently set the event handler:
  15.                 NGUIEditorTools.DrawEvents("On Repeated Press", button, button.onPressListeners);
  16.         }
  17.        
  18.         enum Highlight
  19.         {
  20.                 DoNothing,
  21.                 Press,
  22.         }
  23. }


'TA > Unity' 카테고리의 다른 글

쉐이더 LOD(Shader Level of Detail)  (0) 2017.03.14
쉐이더 포지 TRANSFORM_TEX()  (0) 2017.02.23
Unity 해상도 설정  (0) 2016.12.29
Unity Editer 단축키  (0) 2016.03.22
XML의 문법  (0) 2016.03.22
Posted by 프리랜서 디자이너