문자열 특정 문자 이후 버리기(자르기)
string str = new string[]{"hello, World};
str = str.Substring(0,str.LastIndexOf(','));
// 결과값 : "hello"
hello, World를 첫번째 h(0)에서 5자리 문자를 사용한다는 뜻입니다.
반대로
string str = new string[]{"hello, World};
str = str.Substring(str.IndexOf(','));
// 결과값 : " World"
str.IndexOf(',')로 6의 값을 얻은 이후 6번부터 끝까지 쓴다는 뜻입니다.
Gameobject로 선언된 이름.transform.Find("gameobject이름")
Gameobject로 선언된 이름.transform.Find("gameobject이름").Getcomponent<컴포넌트이름>().변수이름
Gameobject로 선언된 이름.transform.Find("gameobject이름").GetComponent<SpriteRenderer>().sprite =폴더이름.Load<Sprite>(파일이름 또는 경로/파일이름);
DontDestroyOnLoad(게임오브젝트명);
.git
안에 있는 config
파일을 아래와 같이 추가한다[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = 'UnityYAMLMerge.exe가 있는 위치' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
예시
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.1.14f1\\Editor\\Data\\Tools\\UnityYAMLMerge.exe' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
git mergetool
제대로 작동되는지 확인한다.
오류시 유니티 에디터의 Settings
에 Editor
에서 아래의 두 값을 확인
ArgumentNullException: Value cannot be null.
Parameter name: _unity_self
UnityEditor.SerializedObject.FindProperty (System.String propertyPath) (at <bf6080dbf0564cf1b405dfd6e0dac725>:0)
UnityEditor.UIElements.Bindings.SerializedObjectBindingContext.BindPropertyRelative (UnityEngine.UIElements.IBindable field, UnityEditor.SerializedProperty parentProperty) (at <68ddc6fd093848298397957a5969af5e>:0)
UnityEditor.UIElements.Bindings.SerializedObjectBindingContext.BindTree (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty parentProperty) (at <68ddc6fd093848298397957a5969af5e>:0)
UnityEditor.UIElements.Bindings.SerializedObjectBindingContext.ContinueBinding (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty parentProperty) (at <68ddc6fd093848298397957a5969af5e>:0)
UnityEditor.UIElements.Bindings.DefaultSerializedObjectBindingImplementation+BindingRequest.Bind (UnityEngine.UIElements.VisualElement element) (at <68ddc6fd093848298397957a5969af5e>:0)
UnityEngine.UIElements.VisualTreeBindingsUpdater.Update () (at <a053cdfb5a094ce2b5935515091f978f>:0)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <a053cdfb5a094ce2b5935515091f978f>:0)
UnityEngine.UIElements.Panel.UpdateBindings () (at <a053cdfb5a094ce2b5935515091f978f>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.UpdateSchedulers () (at <a053cdfb5a094ce2b5935515091f978f>:0)
UnityEngine.UIElements.UIEventRegistration.UpdateSchedulers () (at <a053cdfb5a094ce2b5935515091f978f>:0)
UnityEditor.RetainedMode.UpdateSchedulers () (at <68ddc6fd093848298397957a5969af5e>:0)
문제의 원인
스테이지 전환 Object를 선언시 발생
예) openStage_2를 선언
private GameObject openstage_2;
~~이후
void start()
{
openStage_2 = GameObject.Find("openStage_2");
}