public virtual void OnUnload(string assetAddress)
 {
     AltoLog.FW(
         $"[{GetType().Name}] *** OnUnload : <b>{assetAddress}</b>",
         null, "4463c9"
         );
     Remove(assetAddress);
 }
        //----------------------------------------------------------------------
        // called by framework
        //----------------------------------------------------------------------

        public virtual void OnLoad(string assetAddress, T resource)
        {
            AltoLog.FW(
                $"[{GetType().Name}] OnLoad : <b>{assetAddress}</b> - {resource.GetType()}",
                null, "3bc29a"
                );
            Add(assetAddress, resource);
        }