コード例 #1
0
ファイル: GameManager.cs プロジェクト: ukibs/DaniPrototype
    public void NextLevel(float points)
    {
        ResetBonus();

        LevelDataToSave data = LevelSelectedData;

        data.avgTimeRespond /= data.amountWords;
        data.points          = points;
        coins += Mathf.RoundToInt(20 * (1 - ((data.maxPoints - points >= 0 ? data.maxPoints - points + data.minPoints : 0) / data.maxPoints)));
        saveLoad.AddData(Challenge_Type, data);
        float avg = (data.maxPoints - data.minPoints) / 2;

        if (data.level == ModeSelected.maxLevel && data.points > data.minPoints + avg)
        {
            ModeSelected.maxLevel++;
            ModeSelected.CurrentLevel++;

            if (data.points > data.minPoints + avg)
            {
                LevelSelectedData.difficulty = LevelSelectedData.difficulty + 1;
            }
            else if (data.points > data.minPoints)
            {
                LevelSelectedData.difficulty = LevelSelectedData.difficulty + 0.5f;
            }
            data = LevelSelectedData;
            SetPoints(ref data, challengeType);
        }
    }
コード例 #2
0
ファイル: GameManager.cs プロジェクト: ukibs/DaniPrototype
    public void SetPoints(ref LevelDataToSave l, ChallengeType ct)
    {
        LevelDataToSave prevLevel = infoType[ct].currentLevel - 1 >= 0 ? infoType[ct].levels[infoType[ct].currentLevel - 1] : infoType[ct].levels[0];

        l.maxPoints = prevLevel.amountWords * (3 - prevLevel.bestTimeRespond) * prevLevel.difficulty + avgWordScreen * -(prevLevel.difficulty * 2 / 100) + prevLevel.restTimeLastLevel / 2;
        l.minPoints = prevLevel.amountWords * (3 - prevLevel.worstTimeRespond) * prevLevel.difficulty + avgWordScreen * -(prevLevel.difficulty * 2 / 100) + prevLevel.restTimeLastLevel / 2;
    }
コード例 #3
0
ファイル: SaveLoad.cs プロジェクト: ukibs/DaniPrototype
    public void AddData(ChallengeType ct, LevelDataToSave l)
    {
        string text = JsonUtility.ToJson(l);

        byte[] vs = new UTF8Encoding(true).GetBytes(text);
        files[ct].Write(vs, 0, text.Length);
    }
コード例 #4
0
ファイル: LevelData.cs プロジェクト: ukibs/DaniPrototype
 // Use this for initialization
 void Start()
 {
     gameManager = GameManager.instance;
     canvas      = CanvasLevels.Instance;
     if (save == null)
     {
         save = new LevelDataToSave();
     }
 }
コード例 #5
0
ファイル: LevelData.cs プロジェクト: Mzamo257/MusicQuiz
 public void UpdateData(GameMode mode, ChallengeType type, bool state, int level, ref LevelDataToSave saveData)
 {
     save       = saveData;
     Mode       = mode;
     this.type  = type;
     this.state = state;
     save.level = level;
     if (!state)
     {
         levelText.color = Color.red;
     }
     levelText.text = save.level + "";
 }
コード例 #6
0
ファイル: LevelData.cs プロジェクト: ukibs/DaniPrototype
 public void UpdateData(GameMode mode, ChallengeType type, bool state, int level, ref LevelDataToSave saveData)
 {
     save       = saveData;
     Mode       = mode;
     this.type  = type;
     this.state = state;
     save.level = level;
     if (!state)
     {
         levelText.color = Color.red;
     }
     levelText.text   = save.level + "";
     stars.fillAmount = 1 - (save.maxPoints - save.points >= 0 ? save.maxPoints - save.points + save.minPoints : 0) / save.maxPoints;
 }
コード例 #7
0
    public void NextLevel(float points)
    {
        LevelDataToSave data = infoType[Challenge_Type].CurrentLevelData;

        data.points = points;
        saveLoad.AddData(Challenge_Type, data);
        float avg = (data.maxPoints - data.minPoints) / 2;

        if (data.points > data.minPoints + avg)
        {
            infoType[challengeType].Difficulty = infoType[challengeType].Difficulty + 10;
        }
        else if (data.points > data.minPoints)
        {
            infoType[challengeType].Difficulty = infoType[challengeType].Difficulty + 9.5f;
        }
        infoType[challengeType].CurrentLevel++;
        data = infoType[Challenge_Type].CurrentLevelData;
        SetPoints(ref data);
    }
コード例 #8
0
    public void NewLevel(ChallengeType ct, float xPos, int level)
    {
        GameObject aux;
        bool       auxState;

        //Create the level
        aux = Instantiate(prefabLevel, new Vector3(xPos, currentY), prefabLevel.transform.rotation);
        //Check if it has to be available
        auxState = (gameManager.infoType[ct].maxLevel >= level);

        if (gameManager.infoType[ct].levels.Count <= level)
        {
            gameManager.infoType[ct].levels.Add(new LevelDataToSave());
            LevelDataToSave toSave = gameManager.infoType[ct].levels[level];
            gameManager.SetPoints(ref toSave, ct);
        }

        LevelDataToSave dataToSave = gameManager.infoType[ct].levels[level];

        aux.GetComponent <LevelData>().UpdateData(GameMode.Type2, ct, auxState, level, ref dataToSave);
    }
コード例 #9
0
 public void SetPoints(ref LevelDataToSave l)
 {
     l.maxPoints = infoType[Challenge_Type].amountWords * (3 - infoType[Challenge_Type].bestTimeRespond) * infoType[Challenge_Type].Difficulty + avgWordScreen * -(infoType[Challenge_Type].Difficulty * 2 / 100) + infoType[Challenge_Type].restTimeLastLevel;
     l.minPoints = infoType[Challenge_Type].amountWords * (3 - infoType[Challenge_Type].worstTimeRespond) * infoType[Challenge_Type].Difficulty + avgWordScreen * -(infoType[Challenge_Type].Difficulty * 2 / 100) + infoType[Challenge_Type].restTimeLastLevel;
 }