// Token: 0x06002DC6 RID: 11718 RVA: 0x000ACA4C File Offset: 0x000AAC4C
 private bool CreateInstance(out global::GameGizmo.Instance instance, Type type)
 {
     try
     {
         instance = this.ConstructInstance();
         if (object.ReferenceEquals(instance, null))
         {
             return(false);
         }
         if (this._instances == null)
         {
             this._instances = new HashSet <global::GameGizmo.Instance>();
         }
         this._instances.Add(instance);
         if (!type.IsAssignableFrom(instance.GetType()))
         {
             this.DestroyInstance(instance);
             throw new InvalidCastException();
         }
     }
     catch (Exception ex)
     {
         Debug.LogException(ex, this);
         instance = null;
         return(false);
     }
     return(true);
 }
 // Token: 0x06002DC9 RID: 11721 RVA: 0x000ACB3C File Offset: 0x000AAD3C
 private bool DestroyInstance(global::GameGizmo.Instance instance)
 {
     if (!object.ReferenceEquals(instance, null) && this._instances != null && this._instances.Remove(instance))
     {
         try
         {
             instance.ClearResources();
             this.DeconstructInstance(instance);
         }
         catch (Exception ex)
         {
             Debug.LogException(ex, this);
         }
         return(true);
     }
     return(false);
 }
 // Token: 0x06002DC8 RID: 11720 RVA: 0x000ACB38 File Offset: 0x000AAD38
 protected virtual void DeconstructInstance(global::GameGizmo.Instance instance)
 {
 }