스케쥴 : Schedule Sheet
MapEditor
- InputManager <완료>
- Mouse : Click or Touch + Raycast를 사용한 GameObject, UIObject 선택.
- Keyboard : 필요하면 추가예정.
- ToolBox <25%>
- Layout. <50%>
- TileTap. <50%>
- Obstacle Tap.
- Unit Tap. -미정-
- MapEditor(일시 정지)
- Canvas지정. <완료>
- DrawController
- MapData Load 및 파라메터 셋팅. <40%>
- Tile 및 Obstacle 기본셋팅. <30%>
- BrushController
- Tile 변경. <0%>
- Obstacle 변경. <0%>
- Obstacle 위치 이동. <0%>
----------------------------------------------------------------------------------------------------------------------------------------
오브젝트 선택 ( 클릭, 터치 )
void Update () { #if UNITY_EDITOR // for Click if (Input.GetMouseButton(0)) { if (EventSystem.current == null || !EventSystem.current.IsPointerOverGameObject()) { //World 영역이면 //Physics.Raycast & RaycastHit 사용. } else//UI영역이면 { //GraphicRaycaster.Raycast & RaycastResult 사용. } } #endif #if UNITY_ANDROID // for Touch if (Input.touchCount > 0) { for (int i = 0; i < Input.touchCount; i++) //멀티 터치 시 마지막 Touch Objects만 선택. { if (EventSystem.current == null || !EventSystem.current.IsPointerOverGameObject()) //World영역이면 { //Physics.Raycast & RaycastHit 사용. } else{ //UI영역이면 //GraphicRaycaster.Raycast & RaycastResult 사용. } } } #endif }
RaycastHit hit; //Ray 피격 대상. Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { DrawLine(hit.point, lineColor); //Ray확인. //이제 hit 활용 } }
if (Input.GetMouseButtonDown(0)) { GraphicRaycaster graphicRaycaster = 타겟Canvas.GetComponent(); //ray 발사 장소. PointerEventData ped = new PointerEventData(null); //ray 맞는 장소. (UnityEngine.EventSystems 필요함.); List results = new List (); // 여기에 히트 된 개체 저장 . (UnityEngine.EventSystems 필요함.) ped.position = Input.mousePosition;// or Touch위치 graphicRaycaster.Raycast(ped, results); //이제 results 활용 }
Raycast 예제 :
- 월드의 GameObject : https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
- Canvas 내의 GameObject : https://docs.unity3d.com/ScriptReference/UI.GraphicRaycaster.Raycast.html
'GameDevelopmentDiary > Project_SomewhereSaga : 가제(맵 에디터에서 중지)' 카테고리의 다른 글
6,7일차 (0) | 2019.03.06 |
---|---|
5일차 (0) | 2019.03.01 |
4일차 (0) | 2019.02.24 |
2일차 (0) | 2019.02.20 |
1일차 (0) | 2019.02.19 |