public void UpdateIntervalProcess(float fElapsedTime, int iIDModelUnit)
    {
        if (false == m_bWorkprocessInterval)
        {
            return;
        }

        Vector3 v3respawn;

        for (int iIt = 0; iIt < m_listInterval.Count; ++iIt)
        {
            cintervalinfo intervalInfoCurr = m_listInterval[iIt];

            if (intervalInfoCurr.IntervalTime(fElapsedTime) == true)
            {
                for (int irespawn = 0; irespawn < intervalInfoCurr._icountRespawn; ++irespawn)
                {
                    v3respawn = GetStartTriangleRandomPosition(m_tricollector, intervalInfoCurr._iIdxTriInterval);
                    newUnitWalkingModel(v3respawn, iIDModelUnit, randomUnitWalkingVisual);
                }
            }
        }
    }
    public void newIntervalConstantly(int iTriIdxInterval, int icountRespawn, float fTimeInterval, Vector3 v3Position)
    {
        cintervalinfo intervalInfo = new cintervalinfo(iTriIdxInterval, icountRespawn, fTimeInterval, v3Position);

        m_listInterval.Add(intervalInfo);
    }