/// <summary> /// 편집 모드 중 Make 모드의 기능을 모아놓은 함수 /// </summary> /// <param name="e">current 를 받기 위한 매개변수</param> private void MakeMode(Event e) { if (isCreate) { // 선택한 그리드 그리기 DrawGrid(tileManager.CalcTilePosition(selectX, selectY, t_data.gridInitpos, ref t_data), makegridX, makegridY, Color.blue); if (tileManager.GetMouseOnTile(ref gridX, ref gridY, mousepos, ref t_data)) { // 현재 마우스 포인트 스냅 그리기 DrawGrid(tileManager.CalcTilePosition(gridX, gridY, t_data.gridInitpos, ref t_data), 1, 1, Color.red); } } else { if (tileManager.GetMouseOnTile(ref gridX, ref gridY, mousepos, ref t_data)) { DrawGrid(tileManager.CalcTilePosition(gridX, gridY, t_data.gridInitpos, ref t_data), makegridX, makegridY, Color.blue); //선택한 그리드 위치 변수에 저장, 오브젝트 생성 if (e.type == EventType.MouseDown || e.type == EventType.MouseDrag) { selectX = gridX; selectY = gridY; isCreate = true; GameObject obj = new GameObject("madeObj"); Vector2 temp = tileManager.CalcTilePosition(gridX, gridY, t_data.gridInitpos, ref t_data); temp.y -= t_data.tileHeight; obj.transform.position = temp; obj.tag = "Object"; obj.AddComponent <ObjectTile>(); GameObject child = new GameObject("ObjSprite"); child.transform.parent = obj.transform; child.transform.localPosition = Vector3.zero; child.AddComponent <SpriteRenderer>(); } } } }