private void FixedUpdate() { if (bottleSelectController.bottleController.isSuperPowerAvailabe) //초능력 실행 { switch (playerImageController.getPlayingChr()) { case 0: if (panel_SuperPower.GetIsTouch() && psychokinesis.psychoAvailable) { psychokinesis.Activate(); playerImageController.ChangePlayerImage(2); //초능력 사용 이미지로 변경 } break; case 1: if ((membraneCreator.membraneNum > 0) && membraneCreator.membraneAvailable) { membraneCreator.Activate(); playerImageController.ChangePlayerImage(2); //초능력 사용 이미지로 변경 } break; case 2: if (panel_SuperPower.GetIsTouch() && freezer.freezeAvailable) { freezer.Activate(); playerImageController.ChangePlayerImage(2); //초능력 사용 이미지로 변경 } break; } } }
public void Jump() { if (padDirection.getDirection().x >= 0) { key = 1; } if (padDirection.getDirection().x < 0) { key = -1; } isSuperPowerAvailabe = true; rb.gravityScale = 2f; player.GetComponent <MembraneCreator>().presentStrength = padStrength.totalStrength; //물병에 현재 가해진 힘 전달 MembraneUsingSkillEffect.presentStrength = padStrength.totalStrength; //물병에 현재 가해진 힘 전달 //뛰면서 회전 rb.velocity = padDirection.getDirection() * padStrength.totalStrength; rb.AddTorque(key * rotateSpeed, ForceMode2D.Impulse); playerImageController.ChangePlayerImage(1); //던지는 동작으로 스프라이트 교체 controllButtonsUIManager.setHideButtons(true, 0); // 화면을 깔끔하게 하기 위해 컨트롤 UI 버튼들을 일시적으로 전부 숨김 trajectoryLine.Delete(); if (playerImageController.getPlayingChr() == 2) { usefullOperation.FadeIn(transform.Find("FreezeRange").gameObject.GetComponent <SpriteRenderer>()); } tensionGaugeManager.IncreaseTensionGauge(1, 1); //텐션 게이지 10% 상승 }
public void GenerateBottle() { controllButtonsUIManager.setShowButtons(true, 0); //숨겼던 컨트롤 UI 버튼 표시 playerImageController.ChangePlayerImage(0); //물병을 던지기 전의 이미지로 변경 GameObject Bottle = Instantiate(bottlePrefab, bottles.transform) as GameObject; Bottle.tag = "isActBottle"; //PadStrength.cs 75번째 줄 오류 때문에 수정 trajectoryLine.Start(); //점선 생성 // After generating bottle, decrease remaining bottle num StageGameManager.Instance.CountUsedBottle(); }
public void PushSkillButton() { if (usingSkill) //필살기 사용 완료 { GetComponent <Image>().sprite = skillButtonSprite[0]; //panel_SuperPower.SetActive(true); //초능력 입력 패널 활성화 if (playerImageController.getPlayingChr() == 0) //염동력자가 필살기를 사용 완료했을 때 { if (bottleSelectController.bottleSkillOperation.getUsingSkillNum() != 0) //필살기를 적용한 물병이 존재하는 경우 { playerImageController.ChangePlayerImageWithDelay(2, 0); //딜레이 주고 던지는 자세로 교체 bottleSelectController.SetActiveBottleWithDelay(2); //딜레이 주고 물통 활성화 controllButtonsUIManager.setShowButtonsWithDelay(2, 1); //스킬 버튼과 membrame 추가/제거 버튼을 제외하고 모든 컨트롤 버튼 활성화 psychokinesis.SkillActivate(); skillUsed = true; } else //필살기를 적용한 물병이 없을 경우 { playerImageController.ChangePlayerImage(0); //던지는 자세로 교체 bottleSelectController.bottle.SetActive(true); //물통 활성화 controllButtonsUIManager.setShowButtons(true, 1); //스킬 버튼과 membrame 추가/제거 버튼을 제외하고 모든 컨트롤 버튼 활성화 } } else if (playerImageController.getPlayingChr() == 1) //탄성막 생성자가 필살기를 사용 완료했을 때 { playerImageController.ChangePlayerImage(0); //던지는 자세로 교체 bottleSelectController.bottle.SetActive(true); //물통 활성화 padDirection.setDirection(previousDirection); //조이스틱 방향을 원래 방향으로 갱신 controllButtonsUIManager.setShowButtons(true, 2); // 탄성막 추가 버튼을 숨기고 모든 컨트롤 버튼을 보여줌 trajectory.SetActive(true); //포물선 활성화 MembraneUsingSkillEffect.selectedMembrane = null; //탄성막 선택 초기화 for (int i = 0; i < membranes.transform.childCount; i++) { membranes.transform.GetChild(i).GetComponent <MembraneUsingSkillEffect>().setStartDelta(true); //탄성막 파괴 카운트다운 시작 membranes.transform.GetChild(i).GetComponent <MembraneUsingSkillEffect>().Activate(); //콜라이더 활성화 } if (membranes.transform.childCount > 0) { skillUsed = true; } } else //빙결자가 필살기를 사용 완료했을 때 { if (bottleSelectController.bottleSkillOperation.getUsingSkillNum() != 0) //필살기를 젹용하는 물병이 존재하는 경우 { playerImageController.ChangePlayerImageWithDelay(1, 0); //딜레이 주고 던지는 자세로 교체 bottleSelectController.SetActiveBottleWithDelay(1); //물통 활성화 controllButtonsUIManager.setShowButtonsWithDelay(1, 1); //스킬 버튼과 membrame 추가/제거 버튼을 제외하고 모든 컨트롤 버튼 활성화 freezer.SkillActivate(); skillUsed = true; } else { playerImageController.ChangePlayerImage(0); //던지는 자세로 교체 bottleSelectController.bottle.SetActive(true); //물통 활성화 controllButtonsUIManager.setShowButtons(true, 1); //스킬 버튼과 membrame 추가/제거 버튼을 제외하고 모든 컨트롤 버튼 활성화 } } if (skillUsed) //유의미하게 스킬을 사용했을 때 { tensionGaugeManager.DecreaseTensionGauge(50); //텐션게이지 감소 skillUsed = false; } bottleSelectController.bottleSkillOperation.setUsingSkillNum(0); usingSkill = false; } else // 필살기 사용 시작 { GetComponent <Image>().sprite = skillButtonSprite[1]; //버튼 이미지 교체 playerImageController.ChangePlayerImage(2); //플레이어 초능력 사용 자세로 교체 bottleSelectController.bottle.SetActive(false); //물통 비활성화 if (playerImageController.getPlayingChr() == 1) //탄성막 생성자가 필살기를 사용했을 때 { previousDirection = padDirection.getDirection(); //스킬버튼을 누르기 전의 방향 저장 controllButtonsUIManager.setHideButtons(true, 2); //탄성막 추가 버튼 보이고 조이스틱을 제외한 컨트롤 버튼 숨김 trajectory.SetActive(false); //포물선 비활성화 } else //염동력자, 빙결자가 필살기를 사용했을 때 { controllButtonsUIManager.setHideButtons(true, 1); //스킬 버튼을 제외하고 모든 컨트롤 버튼 숨김 } usingSkill = true; } }