예제 #1
0
    public void OnUpdateEvent(AnimationEventControler _eventControler, AnimationState _animState)
    {
        if (_CurAnimNameForEventList.Count <= 0)
        {
            return;
        }

        for (int i = 0; i < _CurAnimNameForEventList.Count; ++i)
        {
            if (!_animState.name.Equals(_CurAnimNameForEventList[i].m_AnimName))
            {
                continue;
            }

            if (_animState.time >= _CurAnimNameForEventList[i].m_HitTime || _animState.enabled == false)
            {
                _eventControler.CallBack_EventFunction(_CurAnimNameForEventList[i].m_FunctionName, _CurAnimNameForEventList[i].m_Param);

                if (_CurAnimNameForEventList.Count <= 0)
                {
                    return;
                }

                _CurAnimNameForEventList.RemoveAt(i);
                break;
            }
        }
    }
예제 #2
0
    public void HandleRemindEvents(AnimationEventControler eventControler)
    {
        if (_CurAnimNameForEventList != null && _CurAnimNameForEventList.Count > 0)
        {
            _CurAnimNameForEventList.Sort(SortAsTimeLength);

            for (int i = 0; i < _CurAnimNameForEventList.Count; i++)
            {
                eventControler.CallBack_EventFunction(_CurAnimNameForEventList[i].m_FunctionName, _CurAnimNameForEventList[i].m_Param);
            }
        }
    }