예제 #1
0
파일: Slime.cs 프로젝트: vNutElma/Slime
 void Idle()
 {
     if (Search())
     {
         slimeState = SLIMESTATE.MOVE;
     }
 }
예제 #2
0
파일: Slime.cs 프로젝트: vNutElma/Slime
    // Update is called once per frame
    void Update()
    {
        if (exp >= needExp)
        {
            slimeState = SLIMESTATE.LEVELUP;
        }

        dicState[slimeState]();
    }
예제 #3
0
파일: Slime.cs 프로젝트: vNutElma/Slime
    void LevelUp()
    {
        exp = 0;
        level++;
        needExp = level * 2;
        transform.localScale = new Vector3(1.0f, 1.0f, 1.0f) * level;

        slimeState = SLIMESTATE.IDLE;
    }
예제 #4
0
파일: Slime.cs 프로젝트: vNutElma/Slime
    void Move()
    {
        if (target == null)
        {
            slimeState = SLIMESTATE.IDLE;
        }
        Vector3 moveDirection = target.transform.position - transform.position;

        moveDirection.Normalize();
        characterController.Move(moveDirection * level * Time.deltaTime);
    }
예제 #5
0
파일: Slime.cs 프로젝트: vNutElma/Slime
 private void OnControllerColliderHit(ControllerColliderHit hit)
 {
     if (hit.gameObject.layer == 9)
     {
         Slime temp = hit.gameObject.GetComponent <Slime>();
         if (temp != null)
         {
             if (level >= temp.level)
             {
                 exp            += temp.level;
                 temp.slimeState = SLIMESTATE.DEAD;
             }
             else
             {
                 temp.exp  += level;
                 slimeState = SLIMESTATE.DEAD;
             }
         }
     }
 }