private void Awake()
 {
     pikmin = GetComponent <Pikmin>();
     pikmin.OnStartFollow.AddListener((x) => OnStartFollow(x));
     pikmin.OnStartThrow.AddListener((x) => OnStartThrow(x));
     pikmin.OnEndThrow.AddListener((x) => OnEndThrow(x));
 }
예제 #2
0
    public void ControlPikmin()
    {
        if (Input.GetMouseButtonDown(1))
        {
            SetWhistleCylinder(true);
        }
        if (Input.GetMouseButtonUp(1))
        {
            SetWhistleCylinder(false);
        }

        if (Input.GetMouseButtonDown(0))
        {
            if (playerPikminList.Count < 1)
            {
                return;
            }

            for (int i = 0; i < playerPikminList.Count; i++)
            {
                if (playerPikminList[i].agent.IsDone())
                {
                    Pikmin pikmin = playerPikminList[i];
                    playerPikminList.RemoveAt(i);
                    pikmin.agent.enabled = false;
                    pikmin.transform.DOMove(PikminThrowPosition.position, .05f);
                    pikmin.Throw(VisualCylinder.position, .5f, .05f);
                    break;
                }
            }

            /* Pikmin 던지는 소리, 움직이는 소리 필요 */
        }
    }
예제 #3
0
 public void SpawnPikmin(Pikmin pikmin, ref List <Pikmin> pikminList)
 {
     for (int i = 0; i < spawnNum; i++)
     {
         Pikmin newPikmin = Instantiate(pikmin);
         newPikmin.transform.position = transform.position + (Random.insideUnitSphere * radius);
         pikminList.Add(newPikmin);
     }
 }
예제 #4
0
    void getPikmin(Collider2D other)
    {
        //sonidito random
        AudioClip clip = (AudioClip)myClips[Random.Range(0, myClips.Length - 1)];

        audioSrc.PlayOneShot(clip);

        Pikmin pik = (Pikmin)other.GetComponent <Pikmin> ();

        score += pik.getValue();
        Destroy(other.gameObject);
        Debug.Log("score " + score);
        textScore.text      = "Score\n" + score;  //este score se muestra en la ui
        textFinalScore.text = "Score " + score;
    }
예제 #5
0
    public List <Pikmin> SpawnPikmin(Pikmin pikmin, int spawnerIndex)
    {
        List <Pikmin> pikminList = new List <Pikmin>();

        RaycastHit hit;
        int        pikminIndex = spawnerIndex * spawnNum;

        for (int i = 0; i < spawnNum; i++)
        {
            Pikmin  newPikmin = Instantiate(pikmin);
            Vector3 pos       = transform.position + (Random.insideUnitSphere * spawnRadius);
            pos.y = 200f;
            if (Physics.Raycast(pos, -Vector3.up, out hit, 200))
            {
                newPikmin.transform.position = hit.point;
                newPikmin.GetComponent <NavMeshAgent>().enabled = true;
                newPikmin.PikminID = pikminIndex++;
                pikminList.Add(newPikmin);
            }
        }

        return(pikminList);
    }
예제 #6
0
 public void GetPikmin(Pikmin pikmin)
 {
     playerPikminList.Add(pikmin);
 }