예제 #1
0
파일: PathEvent.cs 프로젝트: isoundy000/L3D
 //服务器同步时,可能已经过了嘲讽时间,使用valid进行判断
 public bool CheckCurrentEvent(short nodeIdx, LinearNodeData sd, bool bValid = true)
 {
     if (m_bEnableEvent == false)
     {
         return(false);
     }
     if (m_NodeIdx != nodeIdx)
     {
         m_NodeIdx = nodeIdx;
         if (bValid)
         {
             if (sd.EventType == (byte)PathEventType.EVENT_STAY)
             {
                 m_EventType = (PathEventType)sd.EventType;
                 m_StayTimes = sd.Times;
             }
             else if (sd.EventType == (byte)PathEventType.EVENT_LAUGH && m_LaughTime != 0)
             {
                 m_EventType = (PathEventType)sd.EventType;
                 m_StayTimes = sd.Times;
                 return(true);
             }
         }
     }
     return(false);
 }
예제 #2
0
파일: PathEvent.cs 프로젝트: isoundy000/L3D
    public float Update(float fDelta)
    {
        if (m_EventType == PathEventType.EVENT_NONE)
        {
            return(fDelta);
        }

        m_CurElapsedTime += fDelta;
        if (m_EventType == PathEventType.EVENT_LAUGH)
        {
            int count = (int)(m_CurElapsedTime / m_LaughTime);
            if (count >= m_StayTimes)
            {
                //已经结束嘲笑了
                m_EventType      = PathEventType.EVENT_NONE;
                fDelta           = m_CurElapsedTime % m_LaughTime;
                m_CurElapsedTime = 0;
                m_DeactiveLaugh  = true;
            }
        }
        else
        {
            //停留时间计时
            float stayTime = m_StayTimes * 0.001f;
            if (m_CurElapsedTime >= stayTime)
            {
                m_EventType      = PathEventType.EVENT_NONE;
                fDelta           = m_CurElapsedTime % stayTime;
                m_CurElapsedTime = 0;
            }
        }
        return(fDelta);
    }
예제 #3
0
파일: PathEvent.cs 프로젝트: isoundy000/L3D
 public void Reset(float laughTime, bool bEnableEvent = true)
 {
     m_NodeIdx        = 0;
     m_EventType      = PathEventType.EVENT_NONE;
     m_CurElapsedTime = 0;
     m_LaughTime      = laughTime;
     m_StayTimes      = 0;
     m_DeactiveLaugh  = false;
     m_bEnableEvent   = bEnableEvent;
 }