public class TaskWaitFire extends Task
{
    static float _UPDATE_TIME = 0.2f;
    float m_fTimeToWait = 0;
    
    public TaskWaitFire()
    {
        //SG
    }
    
    public TaskWaitFire(float fTimeToWait)
    {
        m_fTimeToWait = fTimeToWait;
    }
    
    public void Perform()
    {
		SetUpdating(_UPDATE_TIME);
		super.Perform();
    }
    
	public void Update()
	{
        float fTime = m_cAI.GetTime();
        if (fTime - m_cAI.m_fLastHeardEnemyShotTime > m_fTimeToWait)
			m_cAI.Notify(AIEvents._NOTICE_END_TASK);
    }
    
    //*********************************************************
    //					SaveGame
    //*********************************************************
    
    public void SGLoadChunk(FileChunk cParentFC)
    {	
        FileChunk.Log("[TaskWaitFire.SGLoadChunk]\n");
        
        FileChunk cFC = GameObject.LoadChunk(cParentFC);   
        
        if (cFC.GetID() == ESGChunksChrome._CHK_TASK_WAIT_FIRE)
        {
            super.SGLoadChunk(cFC);
            m_fTimeToWait = cFC.LoadFloat();
      }
        
        cFC.delete();
    }
    
    public void SGSaveChunk(FileChunk cFCParent)
    {
        FileChunk.Log("[TaskWaitFire.SGSaveChunk]\n");
        
        FileChunk cFC = GameObject.NewChunk(ESGChunksChrome._CHK_TASK_WAIT_FIRE, cFCParent);
        
        super.SGSaveChunk(cFC);
	    cFC.SaveFloat(m_fTimeToWait);

        cFC.delete(); 
    }				
    
    public void SGUpdate()
    {
        FileChunk.Log("[TaskWaitFire.SGUpdate]\n");
        super.SGUpdate();
        //
    }
 
}
