Ejemplo n.º 1
0
        // ========================================================================== //

        /* public - [Do~Something] Function             */

        // ========================================================================== //

        /* protected - [Override & Unity API]       */

        private void Awake()
        {
            if (_bExecute_Awake)
            {
                return;
            }
            _bExecute_Awake = true;

            HasUIElementHelper.DoInit_HasUIElement(this);
            OnAwake();
        }
Ejemplo n.º 2
0
        public static void HasToggle_Test()
        {
            GameObject pObjectTest = new GameObject(nameof(HasToggle_Test));

            GameObject pObjectToggle_A = new GameObject(HasToggle_TestObject.EToggleObjectName.ToggleA.ToString());
            Toggle     pToggleA        = pObjectToggle_A.AddComponent <Toggle>();

            pObjectToggle_A.transform.SetParent(pObjectTest.transform);

            GameObject pObjectToggle_B = new GameObject(HasToggle_TestObject.EToggleObjectName.ToggleB.ToString());
            Toggle     pToggleB        = pObjectToggle_B.AddComponent <Toggle>();

            pObjectToggle_B.transform.SetParent(pObjectTest.transform);



            // 테스트 시작
            HasToggle_TestObject pTestScript = pObjectTest.AddComponent <HasToggle_TestObject>();

            // 처음 디폴트 값은 None입니다.
            Assert.AreEqual(pTestScript.eLastClickToggle, HasToggle_TestObject.EToggleObjectName.None);

            // 스크립트로 수동으로 토글 A 클릭
            pToggleA.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));

            // Helper를 통한 Init을 안했기 때문에 여전히 None
            Assert.AreEqual(pTestScript.eLastClickToggle, HasToggle_TestObject.EToggleObjectName.None);


            // Helper를 통한 Init
            HasUIElementHelper.DoInit_HasUIElement(pTestScript);

            // 테스트 하기 전 Toggle의 isOn상태 저장
            bool bIsOn_Original = pToggleA.isOn;

            // 스크립트로 수동으로 토글 A 클릭 테스트
            pToggleA.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));
            Assert.AreEqual(pTestScript.eLastClickToggle, HasToggle_TestObject.EToggleObjectName.ToggleA);
            Assert.AreEqual(pTestScript.bLastToggle, !bIsOn_Original);

            // 스크립트로 수동으로 토글 A 클릭 테스트
            pToggleA.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));
            Assert.AreEqual(pTestScript.eLastClickToggle, HasToggle_TestObject.EToggleObjectName.ToggleA);
            Assert.AreEqual(pTestScript.bLastToggle, !!bIsOn_Original);


            // 스크립트로 수동으로 토글 B 클릭 테스트
            pToggleB.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));
            Assert.AreEqual(pTestScript.eLastClickToggle, HasToggle_TestObject.EToggleObjectName.ToggleB);
        }
Ejemplo n.º 3
0
        public static void HasButton_Test()
        {
            // Arrange (데이터 정렬)
            GameObject pObjectTest = new GameObject(nameof(HasButton_Test));

            GameObject pObjectButton_A = new GameObject(HasButton_TestObject.EButtonObjectName.A.ToString());
            Button     pButtonA        = pObjectButton_A.AddComponent <Button>();

            pObjectButton_A.transform.parent = pObjectTest.transform;

            GameObject pObjectButton_B = new GameObject(HasButton_TestObject.EButtonObjectName.B.ToString());
            Button     pButtonB        = pObjectButton_B.AddComponent <Button>();

            pObjectButton_B.transform.parent = pObjectTest.transform;


            HasButton_TestObject pTestScript = pObjectTest.AddComponent <HasButton_TestObject>();

            // 처음 디폴트 값은 None입니다.
            Assert.AreEqual(pTestScript.eLastClickButton, HasButton_TestObject.EButtonObjectName.None);



            // Act (실행)
            // 스크립트로 수동으로 버튼 A 클릭
            pButtonA.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));

            // Helper를 통한 Init을 안했기 때문에 여전히 None
            Assert.AreEqual(pTestScript.eLastClickButton, HasButton_TestObject.EButtonObjectName.None);


            // Helper를 통한 Init
            HasUIElementHelper.DoInit_HasUIElement(pTestScript);

            // 스크립트로 수동으로 버튼 A 클릭 테스트
            pButtonA.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));
            Assert.AreEqual(pTestScript.eLastClickButton, HasButton_TestObject.EButtonObjectName.A);

            // 스크립트로 수동으로 버튼 B 클릭 테스트
            pButtonB.OnPointerClick(new UnityEngine.EventSystems.PointerEventData(null));
            Assert.AreEqual(pTestScript.eLastClickButton, HasButton_TestObject.EButtonObjectName.B);
        }
    // ========================================================================== //

    /* public - [Do~Something] Function             */


    // ========================================================================== //

    /* protected - [Override & Unity API]       */

    private void Awake()
    {
        HasUIElementHelper.DoInit_HasUIElement(this);

        pButton = GetComponentInChildren <ButtonCollider>().pButton;
    }