mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-18 22:20:07 +00:00
37 lines
1011 B
C#
37 lines
1011 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UniFramework.Machine;
|
|
using YooAsset;
|
|
|
|
/// <summary>
|
|
/// 清理未使用的缓存文件
|
|
/// </summary>
|
|
internal class FsmClearPackageCache : IStateNode
|
|
{
|
|
private StateMachine _machine;
|
|
|
|
void IStateNode.OnCreate(StateMachine machine)
|
|
{
|
|
_machine = machine;
|
|
}
|
|
void IStateNode.OnEnter()
|
|
{
|
|
PatchEventDefine.PatchStatesChange.SendEventMessage("清理未使用的缓存文件!");
|
|
var packageName = (string)_machine.GetBlackboardValue("PackageName");
|
|
var package = YooAssets.GetPackage(packageName);
|
|
var operation = package.ClearCacheBundleFilesAsync(EFileClearMode.ClearUnusedBundleFiles);
|
|
operation.Completed += Operation_Completed;
|
|
}
|
|
void IStateNode.OnUpdate()
|
|
{
|
|
}
|
|
void IStateNode.OnExit()
|
|
{
|
|
}
|
|
|
|
private void Operation_Completed(YooAsset.AsyncOperationBase obj)
|
|
{
|
|
_machine.ChangeState<FsmUpdaterDone>();
|
|
}
|
|
} |