Table of Contents

Interface IAssetSystem

Namespace
Framework.Systems.Asset
Assembly
Assembly-CSharp.dll

에셋 로드/해제/캐시 조회 계약. 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

key string

확인할 에셋 키.

Returns

bool

캐시 존재 여부.

LoadAsync<T>(string, CancellationToken)

에셋 비동기 로드. 이미 캐시된 경우 즉시 반환.

UniTask<T> LoadAsync<T>(string key, CancellationToken ct = default) where T : Object

Parameters

key string

Addressable 에셋 키. AddressableKeys 상수 사용.

ct CancellationToken

로드 취소 신호.

Returns

UniTask<T>

로드된 에셋. 실패 시 null (로그 출력됨).

Type Parameters

T

로드할 에셋 타입 (GameObject, AudioClip, ScriptableObject 등).

Release(string)

에셋 해제 및 캐시에서 제거. 반드시 사용 완료 후 호출.

void Release(string key)

Parameters

key string

해제할 에셋 키.