예제 #1
0
 private void Swipe()
 {
     if (Input.touches.Length > 0)
     {
         var touch = Input.GetTouch(0);
         if (touch.phase == TouchPhase.Began /*&& !_isOnUi*/)
         {
             ModelEvents.OnSwipeEvent(true);
         }
         else if (touch.phase == TouchPhase.Moved /*&& !_isOnUi*/)
         {
             transform.Rotate(0.0f, -touch.deltaPosition.x * _smoothless, 0.0f);
         }
         else if (touch.phase == TouchPhase.Ended)
         {
             //_isOnUi = false;
             ModelEvents.OnSwipeEvent(false);
         }
     }
     else
     {
         //_isOnUi = false;
         ModelEvents.OnSwipeEvent(false);
     }
 }
예제 #2
0
        public void Handle(ModelEvents evnt)
        {
            List <object> lst = evnt.EventList;

            StatusText = lst[0].ToString();
            if (lst.Count > 1)
            {
                ProgressMin   = Convert.ToInt32(lst[1]);
                ProgressMax   = Convert.ToInt32(lst[2]);
                ProgressValue = Convert.ToInt32(lst[3]);
            }
        }
예제 #3
0
    private IEnumerator CheckClick(float time)
    {
        yield return(new WaitForSeconds(time));

        if (!_isSwipe && IsCanTap)
        {
            ModelController.Instance.ModelAudioSource.clip = ModelController.Instance.SelectModelAudioClip;
            ModelController.Instance.ModelAudioSource.Play();

            ModelEvents.OnDetailTapEvent(TargetType);
            //DoSomething(TargetType);
        }
    }
예제 #4
0
        public virtual void RegisterModelEvent <TModelDefinition, TSPObject>(ModelEventType actionType, Action <TModelDefinition, TSPObject> action)
        {
            if (action == null)
            {
                return;
            }

            if (!ModelEvents.ContainsKey(actionType))
            {
                ModelEvents.Add(actionType, new List <object>());
            }

            ModelEvents[actionType].Add(action);
        }
예제 #5
0
        public virtual void InvokeOnModelEvents(object rawObject, ModelEventType eventType)
        {
            if (!ModelEvents.ContainsKey(eventType))
            {
                return;
            }

            var targetEvents = ModelEvents[eventType];

            // yeap, shity yet
            foreach (MulticastDelegate action in targetEvents)
            {
                action.DynamicInvoke(Value, rawObject);
            }
        }
예제 #6
0
 public ModelEvent(ModelEvents ev)
 {
     Event = ev;
 }