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); } }
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; }
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); }
// Use this for initialization void Start() { gameManager = GameManager.instance; canvas = CanvasLevels.Instance; if (save == null) { save = new LevelDataToSave(); } }
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 + ""; }
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; }
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); }
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); }
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; }