コード例 #1
0
ファイル: PerfumeMicro.cs プロジェクト: aliken9/MyZooPets
    private IEnumerator SpawnPerfume(bool randomize)       //Not called during tutorial
    {
        Vector3 startPos;
        Vector3 nextPos;
        Vector3 aim;

        if (randomize)
        {
            nextPos = GetRandomPositionOnEdge();
            aim     = CameraUtils.RandomWorldPointOnScreen(Camera.main, .25f, .25f, 0);
        }
        else
        {
            nextPos   = perfumes[0].transform.position;
            aim       = perfumes[0].aim;
            randomize = true;
        }

        perfumeBottle.transform.position = nextPos;

        for (int i = 0; i < perfumes.Length; i++)
        {
            PerfParticleItem perf = perfumes[i];
            startPos = nextPos;
            perf.GetComponent <ParticleSystem>().Play();
            perf.GetComponent <Collider>().enabled = true;
            perf.transform.position = startPos;

            yield return(MicroMixManager.Instance.WaitSecondsPause(.3f));

            perf.Setup(startPos, aim);
            if (i < perfumes.Length - 1)
            {
                nextPos = GetRandomPositionOnEdge();
                aim     = CameraUtils.RandomWorldPointOnScreen(Camera.main, .25f, .25f, 0);
                perfumeBottle.transform.position = nextPos;
            }
            yield return(MicroMixManager.Instance.WaitSecondsPause(.6f));
        }
    }
コード例 #2
0
ファイル: PerfumeMicro.cs プロジェクト: aliken9/MyZooPets
    protected override IEnumerator _Tutorial()
    {
        Vector3          startPos = GetRandomPositionOnEdge();
        Vector3          aim      = CameraUtils.RandomWorldPointOnScreen(Camera.main, .25f, .25f, 0);
        PerfParticleItem perfume  = GetComponentInChildren <PerfParticleItem>();

        perfume.Setup(startPos, aim);

        perfumeBottle.transform.position = perfume.transform.position;

        dashedLine.gameObject.SetActive(true);
        Vector3 deltaPos = aim - startPos;
        float   angle    = Mathf.Atan2(deltaPos.y, deltaPos.x) * Mathf.Rad2Deg;

        angle -= 90;
        dashedLine.transform.position = perfume.transform.position;
        dashedLine.transform.rotation = Quaternion.Euler(0, 0, angle);

        yield return(new WaitForSeconds(2f));

        dashedLine.gameObject.SetActive(false);
    }