/* * 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(); } }
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>(); }