public void bossDead() { isFighting = false; this.enabled = false; PipePair pp = BossPipeLine.GetComponent <PipeLine>().pipes[0]; pp.initPipes(0.5f, 0.5f); pp.open(2); BossPipeLine.GetComponent <BoxCollider2D>().isTrigger = true; // Vector2 off = BossPipeLine.GetComponent<BoxCollider2D>().offset; // off.y = 2.95f; // BossPipeLine.GetComponent<BoxCollider2D>().offset = off; GameObject.Find("Player").transform.parent = arenaPipeLine.transform; GameObject.Find("Background").GetComponent <BoxCollider2D>().enabled = true; GameObject.Find("Background").GetComponent <PipeLineGenerator>().lastPipeLine = BossPipeLine; GameObject.Find("Background").GetComponent <Menu>().firstPipeline = BossPipeLine; BossPipeLine.GetComponent <PipeLine>().speed = GameObject.Find("Background").GetComponent <PipeLineGenerator>().currentSpeed; arenaPipeLine.transform.parent = BossPipeLine.transform; arenaPipeLine.GetComponent <Animation>().Play("startLevelUp"); isFighting = false; Boss.GetComponent <Boss>().canFire = false; this.enabled = false; }
// Update is called once per frame void Update() { if (!b_CameraScroll) { Camera.main.transform.position = Vector3.Lerp(Camera.main.transform.position, new Vector3(Camera.main.transform.position.x, 18 - (i_Floor * f_floorDistance), Camera.main.transform.position.z), 0.5f); } if (Input.GetKeyDown(KeyCode.Mouse0) && !b_IsPointerInButton) { //Debug.Log("Down"); if (!b_IsMouseDown) { target_GameObject = GetClickedObject(); if (target_GameObject != null && target_GameObject.gameObject.tag == "PipeLine") //선택된게 나라면 { //Debug.Log("MY tag is !!! : " + target_GameObject.gameObject.tag); b_IsMouseDown = true; target_PipeLine_cs = target_GameObject.GetComponent <PipeLine>(); //Debug.Log(target_PipeLine_cs.b_IsPlaced); if (target_PipeLine_cs.b_IsPlaced) { if (target_PipeLine_cs.MyRotState == PipeLine.PipeLine_RotState.PRS_Bottom) { target_PipeLine_cs.MyRotState = PipeLine.PipeLine_RotState.PRS_Left; } else { target_PipeLine_cs.MyRotState++; } b_IsMouseDown = false; target_PipeLine_cs.GetComponent <PipeInfo>().Rotate(); target_PipeLine_cs.b_IsWater = false; } } else { b_CameraScroll = true; v_LastMousePos = Input.mousePosition; } } } if (Input.GetKey(KeyCode.Mouse0)) { //Debug.Log("Press"); if (b_IsMouseDown) { Vector3 v_MousePos; // = Camera.main.ScreenToWorldPoint(Input.mousePosition);//Input.mousePosition; //v_MousePos = Camera.main.ScreenToWorldPoint(v_MousePos); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (true == Physics.Raycast(ray, out hit, 30f, i_Tile_LayerMask)) { v_MousePos = hit.point; target_GameObject.transform.position = new Vector3(v_MousePos.x, -i_Floor * f_floorDistance + 1.2f, v_MousePos.z); } } else if (b_CameraScroll) { v_CurMousePos = Input.mousePosition; f_ScrollOffset = v_CurMousePos.y - v_LastMousePos.y; v_LastMousePos = Input.mousePosition; Camera.main.transform.position += new Vector3(0, f_ScrollOffset / 10f, 0); } } if (Input.GetKeyUp(KeyCode.Mouse0)) { if (b_IsMouseDown) { //Debug.Log("Up"); b_IsMouseDown = false; //GameObject TempPipeLine_GameObject = PipeLine_GameObject; Vector3 v_TempPipeLine_Position = SetPipeLinePosition(target_GameObject.transform.position); if (v_TempPipeLine_Position != Vector3.zero) { //Debug.Log("타겟 정보 : " + target_PipeLine_cs.MyState + " " + target_PipeLine_cs.MyRotState + // "생성 정보 : " + TempPipeLine_PipeLine_cs.MyState + " " + TempPipeLine_PipeLine_cs.MyRotState); GameObject TempPipeLine_GameObject = PipesSpawn.instance.TakePipeFromPool(v_TempPipeLine_Position);//Instantiate(PipeLine_GameObject, v_TempPipeLine_Position, target_GameObject.transform.rotation); PipeLine TempPipeLine_PipeLine_cs = TempPipeLine_GameObject.GetComponent <PipeLine>(); TempPipeLine_PipeLine_cs.v_MyPosition = v_CurPosition;//; TempPipeLine_PipeLine_cs.Exchange_PipeLine_Info(target_PipeLine_cs); TempPipeLine_PipeLine_cs.b_IsPlaced = true; //print(TempPipeLine_PipeLine_cs.gameObject.name); TempPipeLine_PipeLine_cs.GetComponent <PipeInfo>().Placement(); PipeLineHealth TempPipeLine_PipeLineHealth_cs = TempPipeLine_GameObject.GetComponent <PipeLineHealth>(); TempPipeLine_PipeLineHealth_cs.StartBreaking(); target_GameObject.transform.localPosition = Vector3.zero; target_PipeLine_cs.Reset_PipeLine_Info(); target_PipeLine_cs.MyState = PipeLine.PipeLine_State.PS_None; target_PipeLine_cs.b_IsPlaced = false; } else { target_GameObject.transform.localPosition = Vector3.zero; } target_GameObject = null; } else if (b_CameraScroll) { b_CameraScroll = false; if (Camera.main.transform.position.y - 18 <= 0) { i_Floor = (int)Mathf.Abs(Camera.main.transform.position.y - 18 - 7) / f_floorDistance; } else { i_Floor = 0; } if (i_Floor > 4) { i_Floor = 4; } ResetPipeLinePosition(); } } }