Ejemplo n.º 1
0
    public void doAnEffect(EffetcType effetc)
    {
        GameObject effetcObject = null;
        Vector3    effetcPos    = player.transform.position;

        foreach (GameObject eObject in effetcs)
        {
            EffetcController eController = eObject.GetComponent <EffetcController>();

            if (eController != null)
            {
                switch (effetc)
                {
                case EffetcType.None:
                    break;

                case EffetcType.LandingPuff:
                    if (eController.ID.Equals("puff"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, 1.0f, effetcPos.z);
                    }
                    break;

                case EffetcType.DeathPuff:
                    if (eController.ID.Equals("death"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z + 3.0f);
                    }
                    break;

                case EffetcType.StumplePuff:
                    if (eController.ID.Equals("stumple"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z);
                    }
                    break;
                }
            }
        }

        if (effetcObject != null)
        {
            GameObject createdEffetc = (GameObject)GameObject.Instantiate(effetcObject, effetcPos, Quaternion.identity);
            createdEffetc.transform.parent = effetcsRoot.transform;
        }
    }
Ejemplo n.º 2
0
    public void doAnEffect(EffetcType effetc)
    {
        if (effetcsRoot.transform.childCount >= 5 && effetc != EffetcType.QuicScore)
        {
            return;
        }

        GameObject effetcObject = null;
        Vector3    effetcPos    = player.transform.position;

        foreach (GameObject eObject in effetcs)
        {
            EffetcController eController = eObject.GetComponent <EffetcController>();

            if (eController != null)
            {
                switch (effetc)
                {
                case EffetcType.None:
                    break;

                case EffetcType.LandingPuff:
                    if (eController.ID.Equals("puff"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, 1.0f, effetcPos.z);
                    }
                    break;

                case EffetcType.PointPickup:
                    if (eController.ID.Equals("point"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z);
                    }
                    break;

                case EffetcType.PowerupPickUp:
                    if (eController.ID.Equals("powerup"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z);
                    }
                    break;

                case EffetcType.DeathPuff:
                    if (eController.ID.Equals("death"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z + 3.0f);
                    }
                    break;

                case EffetcType.StumplePuff:
                    if (eController.ID.Equals("stumple"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 3.0f, effetcPos.z);
                    }
                    break;

                case EffetcType.QuicScore:
                    if (eController.ID.Equals("quickscore"))
                    {
                        effetcObject = eObject;
                        effetcPos    = new Vector3(effetcPos.x, effetcPos.y + 4.0f, effetcPos.z + 15.0f);
                    }
                    break;
                }
            }
        }


        if (effetcObject != null)
        {
            GameObject createdEffetc = (GameObject)GameObject.Instantiate(effetcObject, effetcPos, Quaternion.identity);
            createdEffetc.transform.parent = effetcsRoot.transform;

            // Quick Score Points
            if (effetc == EffetcType.QuicScore)
            {
                int[] points = new int[4] {
                    5, 10, 20, 50
                };
                int selectedPoint = points[UnityEngine.Random.Range(0, points.Length)];

                float pitch = 0;


                switch (selectedPoint)
                {
                case 5:
                    pitch = 0.9f;
                    break;

                case 10:
                    pitch = 1.0f;
                    break;

                case 20:
                    pitch = 1.3f;
                    break;

                case 50:
                    pitch = 1.6f;
                    break;
                }

                GameGlobals.Instance.audioController.playSoundPitched("UIQuestion", pitch);
                GameGlobals.Instance.achievements.increaseScore(selectedPoint);

                Transform pointsRoot = createdEffetc.transform.Find("pointsGroup");
                if (pointsRoot != null)
                {
                    foreach (Transform point in pointsRoot)
                    {
                        if (point.name.Equals(selectedPoint.ToString()))
                        {
                            point.gameObject.SetActive(true);
                        }
                        else
                        {
                            point.gameObject.SetActive(false);
                        }
                    }
                }
            }
        }
    }