Skip to content

MapScenario

ln32 edited this page Aug 20, 2024 · 3 revisions

Overview_SceneProcessor_Map

InitSetting( )

  1. 구현 배경

    Map Scene 진입 시 비동기적으로 화면 전환 연출을 하며 동시에 CreateMap 절차를 통해 맵을 구성하고 그래픽화 진행

  2. 기능

    1. Map Scene 진입 시 비동기적으로 화면 전환 연출을 하며 동시에 CreateMap 절차를 통해 맵을 구성하고 그래픽화를 실행한다
    2. 또한 GameManager에 접근하여 User Data를 참조하여 UserName이나 진행도, Map Seed 같은 데이터를 User Data쪽 텍스트에 동기화 시킨다.
    3. 만약 기존 Map GUI Data가 존재한다면 새로 배경을 생성하지 않고 비활성화 된 오브젝트들을 활성화 시킨다.
    4. 맵의 Stage마다, 진행도마다, 이벤트마다 각기 다른 배경오브젝트들을 배치한다.

StartMapCreating( )

  1. 구현 배경

    생성된 클릭 가능한 노드들에 ProgressScene 과 같은 이벤트들을 할당

  2. 기능

    1. 생성된 클릭 가능한 노드들에 ProgressScene 과 같은 이벤트들을 할당한다.
    2. 만약 User가 Node Click Event를 발생시킬 시 EventHistoty를 검토하여 첫 클릭엔 반응하지 않고 더블클릭으로 목적지를 할당할 수 있게 구현한다.
    3. 만약 더블클릭이 아닌 단일 클릭일 시 해당 노드의 정보를 알려주는 GUI를 구현한다.
    4. 맵의 안개영역과 밝혀지는영역, 광원영역을 구현 후 해당 영역과 안개영역의 구분을 구현한다.

ProgressScene( ) & EnterInventory( )

  1. 구현 배경

    각 화면 전환 시 마지막에 화면을 텍스쳐에 저장 후 카메라에 텍스쳐를 출력하여 최적화

  2. 기능

    1. ProgressScene( ) & EnterInventory( ) 호출 시 아래와 같은 과정을 진행한다
      1. 입력 비활성화
      2. 화면 연출 (STS)
      3. GameManager에게 데이터 업로드 요청
      4. 화면 전환 후 입력 활성화
    2. 각 화면 전환 시 마지막에 화면을 텍스쳐에 저장 후 카메라에 텍스쳐를 출력하여 최적화한다.
    3. 가우시안 블러를 구현하여 해당 텍스쳐를 흐림처리 구현한다.
    4. 해당 텍스쳐의 어두워짐과 밝아짐을 구현하기 위해 카메라의 맨 앞과 맨 뒤 두곳에 배치한다.

Overall
  • MyInputManager

  • Drag Drop Sysytem

    [ List up ]
    • Interface iDragDropObject ( = DDO )

    • Interface iResponseByDrop ( = RDB )

    • Interface iInvenSlot ( = DDO && RDB )

    • Interface iRDB_DDO_Manager ( = RDM )

      • RDM : Event_Swap Item
      • RDM : Event_Enhance Item
      • RDM : Event_Equip Item
      • RDM : Event_Spend Item
      • RDM : Event_Consume Item
      • RDM : Event_Consume Item
  • SceneProcessor

    [ List up ]
    • Arrive Scene ( = on init )
    • Exit Scene ( = on destory )
    • Inven Set ( = on Arrive & Exit )

Scene_Map

Inventory
  • Inventory

    • Load GUI & Upload with Item Data
    • Blur Background Texture
    • RBD : Equip Slot
    • RBD : Consume Item

Scene_Camp

Scene_Shop

Clone this wiki locally