Example #1
0
    void GenerateSymbol()
    {
        int            spawningPoint_Index = UnityEngine.Random.Range(0, level.spawningPoints.Length); //Ojo, primero inclusivo y segundo exclusivo
        RectTransform  spawningPoint       = level.spawningPoints[spawningPoint_Index].transform;
        Vector2        direction           = level.spawningPoints[spawningPoint_Index].Direction;
        float          symbolSpeed         = UnityEngine.Random.Range(level.symbolMinSpeed, level.symbolMaxSpeed + 1);
        SymbolMovement symbolMov           = level.symbolMov;

        // Instantiate
        SymbolMovement newSymbolMov;

        newSymbolMov = Instantiate(symbolMov, spawningPoint.localPosition, transform.rotation) as SymbolMovement;
        // Si encuentro una forma mejor de hacerlo, lo haré... Spaguetti intensifies!
        newSymbolMov.GetComponent <Rigidbody2D>().velocity = transform.TransformDirection(direction * symbolSpeed); // Asigno la velocidad lineal (De momento fija, pero haremos un random ahora)
        newSymbolMov.Symbol = AllGestures.GetRandomSymbol();                                                        //Se le asigna uno de los símbolos disponibles aleatoriamente (la imagen se asigna sola)
        newSymbolMov.transform.SetParent(this.transform, false);
    }
Example #2
0
    private void UpdateScore(SymbolMovement symbol)
    {
        // Puntuación = puntos fijos por acierto + velocidad * 5 - tamaño rangos / 3
        float velocity   = symbol.Rigidbody.velocity.magnitude;
        float rangeScale = level.ranges[0].transform.localScale.x;

        int obtainedScore = Mathf.RoundToInt(150 + velocity * 5 - rangeScale / 3);

        // Sale la nueva puntuación (trigger a animator), y cuando acaba la animación se actualiza.
        newScoreText.text = "+ " + obtainedScore;
        //newScoreAnimator.SetTrigger("Scored");


        score += obtainedScore; // Actualizo puntuación

        scoreText.text = score.ToString();
    }
Example #3
0
 public void DestroySymbol(SymbolMovement symbol)
 {
     symbolsInsideRange.Remove(symbol);
     Destroy(symbol);
 }
Example #4
0
 public void RemoveAvailableSymbol(SymbolMovement symbol)
 {
     symbolsInsideRange.Remove(symbol);
 }
Example #5
0
 public void AddAvailableSymbol(SymbolMovement symbol)
 {
     symbolsInsideRange.Add(symbol);
 }