본문으로 건너뛰기

확장 메서드

AchUtils.Extensions 어셈블리는 AchEngine에서 분리해 온 Unity 런타임 확장 메서드와 작은 유틸리티 클래스 모음입니다. 네임스페이스는 모두 AchUtils로 정리되어 있으므로 사용 파일에서 using AchUtils;만 추가하면 됩니다.

설치 정보

항목
어셈블리AchUtils.Extensions
루트 네임스페이스AchUtils
폴더Runtime/Extensions
추가 Unity 패키지com.unity.ugui, com.unity.nuget.newtonsoft-json

포함 범위

컬렉션

클래스주요 용도
ArrayExt, ListExt배열과 리스트 조작
DictionaryExt, MultiDictionary<TKey,TValue>딕셔너리 편의 기능과 한 키에 여러 값을 담는 컬렉션
IEnumerableExt, IListExt, LinqELINQ 보조 메서드와 셔플, 필터링, 변환

Unity 타입

클래스주요 용도
GameObjectExt, ComponentExt컴포넌트 검색, 추가, 제거, 계층 탐색
Vector2Ext, Vector3Ext, RectExt좌표, 크기, 범위 계산
ColorExt, ColorUtils색상 변환과 Hex 처리
SpriteRendererExt, SpriteAtlasExt스프라이트 렌더러와 아틀라스 편의 기능

UI

클래스주요 용도
RectTransformExtUI 레이아웃 좌표와 앵커 조작
ImageExt, RawImageExt, GraphicExt, TextExtuGUI 컴포넌트 편의 기능
ButtonClickedEventExt버튼 클릭 이벤트 래핑

기본 타입과 공통 유틸리티

클래스주요 용도
StringExt, StringParseExt, StringBuilderExt문자열 검사, 파싱, 조합
IntExt, UintExt, FloatExt, BoolExt, ByteExt, EnumExt기본 타입 변환과 검사
ActionExt, FuncExt, DelegateExt, UnityEventExt콜백과 이벤트 호출 보조
Selectable<T>, SelectableList<T>, SelectableBool값 변경 콜백을 가진 래퍼
SingleTask, MultiTask, StringAppender반복 작업과 문자열 조립 보조
PlayerPrefsExt, IJsonExt, IncomingWebhooksJSON 저장, 직렬화, 웹훅 전송

사용 예시

using AchUtils;
using UnityEngine;

public class ExtensionSample : MonoBehaviour
{
private void Awake()
{
var rb = gameObject.GetOrAddComponent<Rigidbody>();
gameObject.SetActiveIfNotNull(true);

var hp = new Selectable<int>(100);
hp.mChanged += () => Debug.Log($"HP changed: {hp.Value}");
hp.Value = 80;

var skills = new MultiDictionary<string, string>();
skills.Add("warrior", "Slash");
skills.Add("warrior", "Block");
}
}

마이그레이션

AchEngine에서 사용하던 코드는 네임스페이스만 바꾸면 됩니다.

- using AchEngine;
+ using AchUtils;

AchEngine.Extensions.ReflectionEAchEngine.Extensions.ZciencE 하위 네임스페이스도 각각 AchUtils.Extensions.ReflectionE, AchUtils.Extensions.ZciencE로 이동했습니다.