private ObjState ReturnObjState(DestructibleObject obj)
 {
     foreach (var objState in database)
     {
         if (objState.obj == obj)
         {
             return(objState);
         }
     }
     return(null);
 }
 public void RegisterObject(DestructibleObject obj, bool state)
 {
     if (ReturnObjState(obj) == null)
     {
         database.Add(new ObjState(obj, state));
     }
     else
     {
         checkList.Remove(ReturnObjState(obj));
     }
 }
        public bool ReturnState(DestructibleObject obj)
        {
            ObjState tempState = ReturnObjState(obj);

            if (tempState != null)
            {
                return(tempState.state);
            }
            else
            {
                return(false);
            }
        }
        public void UpdateObject(DestructibleObject obj, bool newState)
        {
            ObjState tempState = ReturnObjState(obj);

            if (tempState != null)
            {
                ReturnObjState(obj).state = newState;
            }
            else
            {
                RegisterObject(obj, newState);
            }
            if (checkList.Count > 0)
            {
                CleanDatabase();
            }
        }
 public ObjState(DestructibleObject obj, bool state)
 {
     this.obj   = obj;
     this.state = state;
 }