Interface IAssetSystem
에셋 로드/해제/캐시 조회 계약. Addressables 직접 노출 금지.
public interface IAssetSystem
Examples
// 올바른 사용
var prefab = await _assetSystem.LoadAsync<GameObject>(AddressableKeys.Enemy, ct);
// 씬 종료 시 해제
_assetSystem.Release(AddressableKeys.Enemy);
Remarks
[금지] Game/System 코드에서 Addressables 직접 호출. 반드시 이 인터페이스를 통해서만 접근. [금지] Addressable Key 매직 스트링. AddressableKeys 상수 클래스를 사용. 내부적으로 AssetCacheSystem이 중복 로드를 방지한다.
Methods
IsCached(string)
해당 키의 에셋이 현재 캐시에 존재하는지 확인.
bool IsCached(string key)
Parameters
keystring확인할 에셋 키.
Returns
- bool
캐시 존재 여부.
LoadAsync<T>(string, CancellationToken)
에셋 비동기 로드. 이미 캐시된 경우 즉시 반환.
UniTask<T> LoadAsync<T>(string key, CancellationToken ct = default) where T : Object
Parameters
keystringAddressable 에셋 키. AddressableKeys 상수 사용.
ctCancellationToken로드 취소 신호.
Returns
- UniTask<T>
로드된 에셋. 실패 시 null (로그 출력됨).
Type Parameters
T로드할 에셋 타입 (GameObject, AudioClip, ScriptableObject 등).
Release(string)
에셋 해제 및 캐시에서 제거. 반드시 사용 완료 후 호출.
void Release(string key)
Parameters
keystring해제할 에셋 키.