예제 #1
0
    protected int mDebugCounter;                // For debugging

    /// <summary>
    /// Awake is called when the script instance is being loaded.
    /// </summary>
    void Awake()
    {
        mAnimator = GetComponentInChildren <Animator>();

        if (mAnimator != null)
        {
            mAnimeEvent = mAnimator.GetComponent <AnimeEvent>();
        }

        if (mAnimeEvent != null)
        {
            mAnimeEvent.EndCallback = OnAnimeEnd;        // called by end_clip
            mAnimeEvent.Callback    = OnAnimeEvent;      //

            // animator.SetTrigger(triggerState);
        }

        mOriginPosition = (Vector2)transform.position;

        // For Moving
        mMoveAction              = new MoveAction();
        mMoveAction.name         = "BattleModel.move";
        mMoveAction.autoFlip     = false;
        mMoveAction.targetObject = gameObject;

        mDebugCounter = 0;
    }
예제 #2
0
 internal static EventQueueThreads GetEventThreads(AnimeCollector collector, AnimeEvent animeEvent)
 {
     lock (animeCollectors)
     {
         var cd = GetCollectorData(collector);
         return(cd.GetEventQueueThreads(animeEvent));
     }
 }
예제 #3
0
 public EventQueueThreads FindEventQueueThreads(AnimeEvent animeEvent)
 {
     if (eventThreads.ContainsKey(animeEvent))
     {
         return(eventThreads[animeEvent]);
     }
     return(null);
 }
예제 #4
0
        public EventQueueThreads GetEventQueueThreads(AnimeEvent animeEvent)
        {
            var res = FindEventQueueThreads(animeEvent);

            if (res == null)
            {
                res = new EventQueueThreads();
                eventThreads.Add(animeEvent, res);
            }
            return(res);
        }
예제 #5
0
 internal static EventQueueThreads FindEventThreads(AnimeCollector collector, AnimeEvent animeEvent)
 {
     lock (animeCollectors)
     {
         var cData = FindCollectorData(collector);
         if (cData != null)
         {
             return(cData.FindEventQueueThreads(animeEvent));
         }
         return(null);
     }
 }
예제 #6
0
 internal static EventQueueThreads FindEventThreads(Control control, AnimeEvent animeEvent)
 {
     lock (controlsData)
     {
         var cData = FindControlData(control);
         if (cData != null)
         {
             return(cData.FindEventQueueThreads(animeEvent));
         }
         return(null);
     }
 }
예제 #7
0
 internal static void SetHandler(object control, AnimeEvent animeEvent)
 {
     if (control is Control)
     {
         SetHandler((Control)control, animeEvent);
         return;
     }
     if (control is ControlRect)
     {
         SetHandler((ControlRect)control, animeEvent);
         return;
     }
 }
예제 #8
0
 public static void Execute(object control, AnimeEvent animeEvent)
 {
     lock (controlsData)
     {
         var cData = FindControlData(control);
         if (cData != null)
         {
             var eThread = cData.FindEventQueueThreads(animeEvent);
             if (eThread != null)
             {
                 eThread.Execute(control);
             }
         }
     }
 }
예제 #9
0
 internal static EventQueueThreads GetEventThreads(object control, AnimeEvent animeEvent)
 {
     lock (controlsData)
     {
         var cd = GetControlData(control);
         if (!cd.DisposeAttached)
         {
             if (control is IComponent)
             {
                 ((IComponent)control).Disposed += ctrlDisposed;
             }
             cd.DisposeAttached = true;
         }
         return(cd.GetEventQueueThreads(animeEvent));
     }
 }
예제 #10
0
    protected override void OnStart()
    {
        if (animator == null)
        {
            Debug.Log("ERROR: AnimatorAction missing animator");
            MarkAsDone();
        }

        animeEvent = animator.GetComponent <AnimeEvent>();
        if (animeEvent != null)
        {
            animeEvent.EndCallback = OnAnimeEnd;        // called by end_clip
            animeEvent.Callback    = OnAnimeEvent;      //

            animator.SetTrigger(triggerState);
        }

        SetDuration(playDuration);                  //
    }
예제 #11
0
 /// <summary>
 /// Awake is called when the script instance is being loaded.
 /// </summary>
 void Awake()
 {
     mAnimator         = transform.Find("Body").GetComponent <Animator>();
     mAnimeEvent       = transform.Find("Body").GetComponent <AnimeEvent>();
     mDamageSpawnPosTF = transform.Find("DamageSpawnPos");
 }
예제 #12
0
        internal static void SetHandler(ControlRect rect, AnimeEvent animeEvent)
        {
            switch (animeEvent)
            {
            case AnimeEvent.MouseEnter:
                rect.MouseEnter += ctrlMouseEnter;
                break;

            case AnimeEvent.MouseLeave:
                rect.MouseLeave += ctrlMouseLeave;
                break;

            case AnimeEvent.Click:
                rect.Click += ctrlClick;
                break;

            case AnimeEvent.MouseDonw:
                rect.MouseDown += ctrlMouseDown;
                break;

            case AnimeEvent.MouseUp:
                rect.MouseUp += ctrlMouseUp;
                break;

            case AnimeEvent.DoubleClick:
                rect.DoubleClick += ctrlDoubleClick;
                break;

            case AnimeEvent.DragEnter:
                rect.DragEnter += ctrlDragEnter;
                break;

            case AnimeEvent.DragLeave:
                rect.DragLeave += ctrlDragLeave;
                break;

            case AnimeEvent.DragDrop:
                rect.DragDrop += ctrlDragDrop;
                break;

            case AnimeEvent.Enter:
            case AnimeEvent.GotFocus:
                rect.Enter += ctrlEnter;
                break;

            case AnimeEvent.Leave:
            case AnimeEvent.LostFocus:
                rect.Leave += ctrlLeave;
                break;

            case AnimeEvent.KeyDown:
                rect.KeyDown += ctrlKeyDown;
                break;

            case AnimeEvent.KeyUp:
                rect.KeyUp += ctrlKeyUp;
                break;

            case AnimeEvent.MouseWheel:
                rect.MouseWheel += ctrlMouseWheel;
                break;

            case AnimeEvent.TextChanged:
                //rect.TextChanged += ctrlTextChanged;
                break;

            case AnimeEvent.Visible:
                rect.VisibleChanged += ctrlVisibleChanged;
                break;

            case AnimeEvent.Enabled:
            case AnimeEvent.Disabled:
                rect.EnabledChanged += ctrlEnabledChanged;
                break;
            }
        }
예제 #13
0
 /// <summary>
 /// Awake is called when the script instance is being loaded.
 /// </summary>
 void Awake()
 {
     mAnimator   = GetComponentInChildren <Animator>();
     mAnimeEvent = transform.Find("Body").GetComponent <AnimeEvent>();
 }