| 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
using UnityEngine; 
 | 
  
 | 
public abstract class LaunchTask 
 | 
{ 
 | 
    public float timer { get; protected set; } 
 | 
    public float duration { get; protected set; } 
 | 
    bool exceptionReported = false; 
 | 
  
 | 
    public bool done { get; protected set; } 
 | 
    public float progress { get; protected set; } 
 | 
    public virtual float expectTime { get; protected set; } 
 | 
  
 | 
    protected float outTime = 15f; 
 | 
  
 | 
    public abstract void Begin(); 
 | 
    public abstract void Update(); 
 | 
    public abstract void End(); 
 | 
  
 | 
    public void ExceptionReport() 
 | 
    { 
 | 
        if (!exceptionReported && timer > outTime && !done) 
 | 
        { 
 | 
            var content = string.Format("任务:{0};网络状态:{1}", this.GetType().Name, Application.internetReachability); 
 | 
            exceptionReported = true; 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |