⚠️이 글은 API 문서를 보면서 공부한 내용 정리한겁니다.
https://kb.heathen.group/assets/steamworks/api
Heathen API란?
Heathen API는 모든 인터페이스를 Unity 친화적인 정적 클래스로 래핑합니다.
때문에 Steam API 전체에 대한 액세스를 제공하며, 원시 API의 기능을 줄이지 않으면서도 사용을 단순화하고
모든 콜백을 UnityEvent로 노출시키고 모든 호출 결과를 Unity 친화적인 Action으로 제공합니다.
Heathen API는 모든 인터페이스(네트워킹 인터페이스 제외)를 래핑하고 관련 문서를 복사했습니다.
이제 IntelliSense(자동완성)을 통해 IDE에서 Valve의 자체 문서를 탐색하고,
자동 완성 및 제안을 최대한 활용하고, 개체 탐색기를 통해 전체 API를 탐색할 수 있습니다.
특징
모든 인터페이스는 하위 클래스(.Client 및 .Server)로 구성되어 있습니다.
클라이언트, 서버 또는 둘 다에서 사용 가능한 항목을 명확하게 만듭니다.
이것은 현재 빌드 플랫폼에서 사용할 수 없는 코드를 선택적으로 제거하는 조건부 컴파일과 함께 작동합니다.
예시:
//Clearly client only
API.StatsAndAchievements.Client.ClearAchievement(achievement);
//Clearly server only
API.StatsAndAchievements.Server.ClearUserAchievement(user, achievement);
Valve의 Steam API는 C 및 C++로 작성되었습니다...
우리가 C#에서 사용하는 많은 검증된 패턴과 구조에 정확히 친숙하지 않습니다.
Heathen의 API는 여전히 기존 메서드를 노출하지만 C# 기반 대안도 제공합니다.
방식 비교:
Steam API는 대리인에 대한 Valve의 답변인 콜백과 콜 결과를 많이 사용합니다.
Unity에서는 일반적으로 UnityEvents(콜백의 경우) 및 Actions(콜 결과의 경우)를 사용합니다.
Heathen의 API는 콜백 및 callresult의 모든 경우를 메모리를 관리하는 적절한 Unity 네이티브 등가물로 래핑합니다
Steam API 가공 예시:
총평
전체적으로 Heathen API는 유니티에서 자주 사용하는 Actions을 활용해서 마개조(?)한 느낌이 든다.
'스팀웍스SteamWorks > Heathen API' 카테고리의 다른 글
유니티 Heathen api로 스팀웍스 스탯 및 업적 구현 Unity Heathen api SteamWorks Stats and Achievements (0) | 2023.06.01 |
---|---|
Heathen API 디버깅 툴 Debugging Tools (0) | 2023.05.19 |
Heathen API Steamworks Behaviour 스팀웍스 Behaviour (0) | 2023.05.16 |
Heathen API 게임 오브젝트 초기화 GameObject Initialization (0) | 2023.05.16 |