Ejemplo n.º 1
0
    /*
     * void calculateScore(int level, int maxTransfo, int remainingTransfo, float timeLimit, float timeUsed)
     * {
     *  getLevelTopScore(level);
     *  if (timeUsed < timeLimit - timediff)
     *      scoreCal = 2.5f;
     *  else if (timeUsed > timeLimit + timediff)
     *      scoreCal = 1.5f;
     *  else
     *      scoreCal = 2.0f;
     *
     *  if (remainingTransfo <= maxTransfo / 3)
     *      scoreCal -= 0.5f;
     *  else if (remainingTransfo >= maxTransfo / 2)
     *      scoreCal += 0.5f;
     *
     *  score = (int)((scoreCal * 2.0f) - 1.0f);
     *  if (score > topScore)
     *  {
     *      topScore = score;
     *      setLevelTopScore(level);
     *  }
     * }
     */
    public void starScore()
    {
        NbTransfoLevelSave scoreinfo   = (NbTransfoLevelSave)(GameObject.FindObjectOfType(typeof(NbTransfoLevelSave)));
        GameManager        transfoinfo = (GameManager)(GameObject.FindObjectOfType(typeof(GameManager)));
        LevelTimerScript   timeinfo    = (LevelTimerScript)(GameObject.FindObjectOfType(typeof(LevelTimerScript)));

        if (scoreinfo != null && transfoinfo != null && timeinfo != null)
        {
            getLevelTopScore(transfoinfo.getStratum(), transfoinfo.getLevel());
            if (timeinfo.getTime() <= scoreinfo.bestTime)
            {
                beatTime = 1;
            }

            if (transfoinfo.remainingTransformation >= scoreinfo.bestRemainingTransfo)
            {
                beatTransfo = 1;
            }
            score = 1 + beatTime + beatTransfo;
            if (score > topScore)
            {
                topScore = score;
                setLevelTopScore(transfoinfo.getStratum(), transfoinfo.getLevel());
            }
            updateStar();
        }
    }
Ejemplo n.º 2
0
    void Start()
    {
        sm = (SoundManager)(GameObject.FindObjectOfType(typeof(SoundManager)));
        _particleSystem = gameObject.GetComponent <ParticleSystem>();
        sprites         = Resources.LoadAll <Sprite>("SpriteSheet_crayon");
        gameManager     = GameObject.Find("GameManager").GetComponent <GameManager>();
        GameObject[] levels = GameObject.FindGameObjectsWithTag("Level");
        foreach (GameObject level in levels)
        {
            if (level.name == "Level" + GameManager.currentLevel.ToString())
            {
                Transform[] positions = level.gameObject.GetComponentsInChildren <Transform>();
                foreach (Transform p in positions)
                {
                    if (p.name == "PlayerPos")
                    {
                        transform.position = p.localPosition;
                        transform.Translate(0, 0, -1);
//						transform.position.Set(p.localPosition.x, p.localPosition.y, 1);
                    }
                }
                NbTransfoLevelSave levelData = level.gameObject.GetComponentInChildren <NbTransfoLevelSave>();
                gameManager.remainingTransformation = levelData.nbTransformations;
                shapeAvailable = levelData.shapeAvailable;
                currentType    = levelData.StartingType;
            }
            else
            {
                level.SetActive(false);
            }
        }
        colorFilterMat.color = _colors[(int)currentType];
        gameObject.GetComponent <SpriteRenderer>().sprite = sprites[(int)currentType];
        Transform[] availableShapes = GameObject.Find("InGameInfos").GetComponentsInChildren <Transform>(true);
        foreach (Transform availableShape in availableShapes)
        {
            int i = 0;
            foreach (bool shAvail in shapeAvailable)
            {
                SetAvailableShape(shAvail, shapeButtons[i], availableShape.gameObject);
                i++;
            }
        }
        _mechScript = FindObjectsOfType <MechanicScript>();
    }