메타버스[개발#2] 메이플스토리와 유사한 공지사항 기능

2021. 8. 20. 10:25PROJECT/성결대학교 졸업작품 전시회 메타버스

목표 : 메이플스토리와 유사한 형태의 교수전용 전체 공지사항 기능을 구현한다.

공지사항은 교수님만 접근 하도록 하고 추가 비밀번호를 입력해야만 사용할 수 있다.

   public void OnClickNotice() //교수인지 아닌지 체크
    {
        if (PlayerPrefs.GetString("Name").Contains("교수"))
        {
            PassWord.SetActive(true);
        }
        else
        {
            isProfessor.SetActive(true);
        }
    }

학부생이 공지사항에 접근

위 사진과 같이 공지사항은 교수님 전용기능으로 구현하고 그 외에는 접근할 수 없도록 제한을 두어야한다.

 

  public void OnClickButton() //공지(교수용) 버튼 클릭
    {
        if(PasswordInputField.text == "0000") //비밀번호 0000
        {
            PassWord.SetActive(false);
            NoticePanel.SetActive(true);
        }
        else 
        {
            Debug.Log(PasswordInputField.text);
            Fail.SetActive(true);
            Debug.Log("비밀번호 입력 실패");
        }
    }

패스워드 입력창

교수님일 경우 접근은 가능하나 교수님이 아닌 이가 접근할지도 모르기 때문에 비밀번호를 입력하도록 한다. 

초기 비밀번호는 '0000'으로 되어 있으며 이는 차후 언제든 변경할 수 있다.

비밀번호를 정상적으로 입력하면 다음과 같은 인풋필드가 생성되고 실제 공지사항 입력 창이 나온다.

공지사항 실행

 

공지사항은 2번만 실행되도록 했으며, 공지사항이 이미 띄워진 상태에서 다른 공지가 올라올 경우 2번의 실행이 모두 끝날때가지 잠시 대기후 실행된다.

void Update()
    {
        if((isNoticeText == true))
        {
            NoticeText.transform.Translate(-100 * Time.deltaTime, 0, 0);
        }
        if (NoticeText.transform.position.x <= -1550)
        {
            NoticeText.transform.position = StartPos;
            count++;
        }
        if (count > 1) //2번만 반복하도록
        {
            isNoticeText = false;
            count = 0;
            if(NoticeText.text != TmpText)
            {
                NoticeText.text = TmpText;
                isNoticeText = true;
            }
        }
    }