// Use this for initialization void Start() { m_Jump = GetComponent<Doughnut_Jump>(); m_State = DoughnutState.Run; Doughnut_Animation = GetComponent<Animator>(); m_Doughnut_ToppingState = GetComponent<Doughnut_Trigger>(); this.gameObject.SetActive(false); }
// 땅과 충돌 시의 처리 void OnCollisionEnter2D(Collision2D Col) { // 점프중이라면 다시 Run 상태로 돌린다. if (Col.gameObject.tag == "Ground") { Doughnut_Animation.SetBool("bIsJump", false); m_State = DoughnutState.Run; m_Jump.bIsJump = false; m_Jump.bIsDoubleJump = false; m_Jump.Init(); } }
// Update is called once per frame void Update() { // 일시정지가 아니고 if (!GameManager.instance.bIsPause) { // 게임중이라면 if (!GameManager.instance.Game) { // 점수를 더한다. GameManager.instance.QualityScore = this.GetComponent<Doughnut_Quality>().QuailtyScore; } // 게임중이라면 if (GameManager.instance.Game) { // 터치 처리 if (Input.touchCount > 0) { // 터치가 됬다면 if (Input.GetTouch(0).phase == TouchPhase.Began) { // Run 상태라면 if (m_State == DoughnutState.Run) { // 점프한다. if (!m_Jump.bIsJump) { Doughnut_Animation.SetBool("bIsJump", true); m_State = DoughnutState.Jump; m_Jump.Init(); m_Jump.bIsJump = true; } } // 점프 상태라면 else if (m_State == DoughnutState.Jump) { // 더블 점프를 한다. if (!m_Jump.bIsDoubleJump) { Doughnut_Animation.SetBool("bIsJump", true); m_State = DoughnutState.DoubleJump; m_Jump.Init(); m_Jump.bIsDoubleJump = true; } } } } this.transform.position = new Vector3(-5, this.transform.position.y, -7); // 스페이스바 처리 (PC 디버깅용) if (Input.GetKeyDown(KeyCode.Space)) { if (m_State == DoughnutState.Run) { if (!m_Jump.bIsJump) { Doughnut_Animation.SetBool("bIsJump", true); m_State = DoughnutState.Jump; m_Jump.Init(); m_Jump.bIsJump = true; } } else if (m_State == DoughnutState.Jump) { if (!m_Jump.bIsDoubleJump) { Doughnut_Animation.SetBool("bIsJump", true); m_State = DoughnutState.DoubleJump; m_Jump.Init(); m_Jump.bIsDoubleJump = true; } } } // 토핑 상태에 따라 애니메이션 처리 switch (GameManager.instance.ToppingType) { case 0: Doughnut_Animation.SetInteger("Topping_State", 0); break; case 1: Doughnut_Animation.SetInteger("Topping_State", 1); break; case 2: Doughnut_Animation.SetInteger("Topping_State", 2); break; case 3: Doughnut_Animation.SetInteger("Topping_State", 3); break; } // 토핑에 따라 이미지 처리 switch (m_Doughnut_ToppingState.ToppingState) { case Doughnut_ToppingState.Banila: Doughnut_Animation.SetInteger("Doughnut_State", 0); break; case Doughnut_ToppingState.Choco: Doughnut_Animation.SetInteger("Doughnut_State", 1); break; case Doughnut_ToppingState.Coke: Doughnut_Animation.SetInteger("Doughnut_State", 2); break; case Doughnut_ToppingState.Jam: Doughnut_Animation.SetInteger("Doughnut_State", 3); break; case Doughnut_ToppingState.Mint: Doughnut_Animation.SetInteger("Doughnut_State", 4); break; case Doughnut_ToppingState.Poision: Doughnut_Animation.SetInteger("Doughnut_State", 6); break; case Doughnut_ToppingState.StrawBerry: Doughnut_Animation.SetInteger("Doughnut_State", 7); break; case Doughnut_ToppingState.Wasabi: Doughnut_Animation.SetInteger("Doughnut_State", 8); break; } } } }