개발/유니티(17)
-
유니티 스크립트 인코딩을 일괄 변경하자.
유니티에서 편집기를 Visual studio를 사용한다면 인코딩이 한국어 전용으로 되어있다. euc-kr 인가 949라던가 아무튼 그렇다. 소스관리를 위해 깃헙이나 리눅스, 맥에 올리면 한글이 다 깨지게되는데 윈도우를 제외하곤 거의다 utf-8을 사용해서 그렇다. 우선 프로젝트 루트 폴더에 .editorconfig 파일을 하나 생성하고 root = true [*] charset = utf-8 라고 적어주자. 그냥 visual studio로 빌드해서 쓰는 프로젝트에서는 -bom을 붙여줘야 에러가 안난다. 이렇게하면 앞으로 저장할때는 utf-8로 저장된다. 그럼 이미 저장되어있는 소스들은 어떻게 해야할까? c 계열언어들은 세미콜론을 항상 사용한다. replace all 기능을 활용해서 ; -> ;aw3h00..
2021.11.24 -
파이어베이스로 마켓에 출시된 앱 버전 체크하기
일단 파이어베이스도 서버이다. 용량제한이 있기때문에 아래의 방법으로도 버전체크가 가능하다. case 1: AF_initDataCallback({key:(?) 'ds:(?)', hash: '(?)', data:["(?)M","(버전)","(?) 이상"] case 2: 버전 { dependencyStatus = task.Result; if (dependencyStatus == Firebase.DependencyStatus.Available) { Init(); } else { Debug.LogError( "Could not resolve all Firebase dependencies: " + dependencyStatus); } }); } void Init() { System.Collections.Generi..
2021.11.16 -
유니티 Dictionary를 활용한 저장기능 정리
sqlite를 이용해서 게임 데이터를 저장하거나 불러올 수 있지만, 간단하게 dictionary기능을 사용해 데이터를 관리할 수도 있다. public class GameDataManager : MonoBehaviour { //게임에서 사용할 데이터 클래스 [Serializable()] public class GameData { public int seq; public string name; public int hp; public int mp; public int stat; } //저장용 데이터를 Dictionary로 선언 public Dictionary gameDataSave; //메모리에 올려놓을 데이터를 List로 선언 public List gameDataLoad; private void Start(..
2021.11.10 -
유니티에서 웹서버와 POST 통신하기
1. C#에서 post로 데이터 보내고 받기. 웹서버에서 post데이터 중 키가 a, b인 변수로 받은다음 json으로 리턴해주면 된다. try를 쓴 이유는 네트워크 환경에 따라 제대로 작동하지 않는 경우가 있기 때문이다. //예제 string PostData = "a=1&b=2" StringBuilder dataParams = new StringBuilder(); HttpWebRequest request = null; HttpWebResponse response = null; try { byte[] bytes = UTF8Encoding.UTF8.GetBytes(dataParams.ToString()); request = (HttpWebRequest)WebRequest.Create(접속할 URL주소); ..
2021.09.30 -
유니티 iOS에 플러그인 연결하기
준비물 최신 mac os, xcode 1. Plugins/iOS/ 내부에 mm확장자의 코드 작성 extern "C" { int PluginFunc(){ return 999; } } 2. C#코드 작성 using System.Runtime.InteropServices; public static class PluginClass { #if UNITY_IOS [DllImport("__Internal")] private static extern int PluginFunc(); public static int Number{ get { return PluginFunc(); } } #endif } 3. 결과 using UnityEngine; public class GameManager : MonoBehaviour { ..
2021.06.21 -
스크롤뷰에서 이벤트핸들러 공유하기
using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Item : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { void OnBeginDrag(PointerEventData eventData) { //구현된 기능 } void OnDrag(PointerEventData eventData) { //구현된 기능 } void OnEndDrag(PointerEventData eventData) { //구현된 기능 } } 유니티에서 스크롤뷰 안에 있는 아이템을 커스텀하는 경우가 있다. 해당 아이템에서 위에처럼 직접 드래그나 클릭관련 이벤트를 구현..
2021.05.26