// Start is called before the first frame update void Start() { //나의 모든 차일드를 리스트에 담겠다. for (int i = 0; i < transform.childCount; i++) { PuzzleFramePiece puzzleScripts = transform.GetChild(i).gameObject.GetComponent <PuzzleFramePiece>(); puzzleScripts.myID = i; puzzleFrameList.Add(transform.GetChild(i).gameObject); checkMyChildChild.Add(transform.GetChild(i).transform); } }
public void OnMouseButtonUp() { //후광 안보이게 === 왕규 if (clickedPuzzle != null) { clickedPuzzle.GetChild(0).GetComponent <MeshRenderer>().enabled = false; glowAction = false; clickedPuzzle = null; pfp = null; } }
void Update() { #region (라인렌더 레이져 효과 내기) ==왕규 //레이저 재질의 offset의 값을 계속 감소시키는 값. xOffset -= Time.deltaTime * offsetSpeed; // line.material.mainTextureOffset = new Vector2(xOffset, 0); line.material.SetTextureOffset("_MainTex", new Vector2(xOffset, 0)); #endregion //Ray ray = cam.ScreenPointToRay(viewCenter); Ray ray = new Ray(mainTr.position, mainTr.forward); // Debug.DrawRay(mainTr.position, mainTr.forward*100, Color.red); //만약 레이가 어딘가에 부딪히면 RaycastHit hit; int layer = 0; line.SetPosition(0, mainTr.position + new Vector3(0, -0.5f, 0)); if (clickedPuzzle == null && Input.GetMouseButtonDown(0)) { layer = 1 << LayerMask.NameToLayer("Puzzle"); if (Physics.Raycast(ray, out hit, 100, layer)) { clickedPuzzle = hit.transform; //후광 보이도록 === 왕규 clickedPuzzle.GetChild(0).GetComponent <MeshRenderer>().enabled = true; //후광 재질이 번쩍이도록 한다 glowAction = true; } } if (clickedPuzzle) { layer = 1 << LayerMask.NameToLayer("PuzzleFrames"); if (Physics.Raycast(ray, out hit, 100, layer)) { clickedPuzzle.position = hit.point; pfp = hit.transform.GetComponent <PuzzleFramePiece>(); } else { layer = 1 << LayerMask.NameToLayer("Test"); if (Physics.Raycast(ray, out hit, 100, layer)) { clickedPuzzle.position = hit.point; } } line.SetPosition(1, clickedPuzzle.position); } if (Input.GetMouseButtonUp(0)) { if (pfp == null || pfp.isEnter == false) { OnMouseButtonUp(); } } if (glowAction) { clickedPuzzle.GetChild(0).GetComponent <MeshRenderer>().material.mainTextureOffset = new Vector2(-xOffset, 0); } }