private void activateBrick(List<ProceduralBrickParam> _list) { foreach (ProceduralBrickParam _parameter in _list) { _parameter.Rename(); print (_parameter.name); currParam = _parameter; currModBrick = findBrick(); enableBrick(); disableBrick(); toggleBrick(); attributeWaypoint(); giveDirections(); setupTowerLength(); swapTowerRotation(); _parameter.isTriggered = true; } _list.Clear(); }
private ProceduralBrickParam addNewParam(LinearStep _stp, LevelBrick _brick, int _randChance = 50) { // Création de l'instance brpm = ProceduralBrickParam.CreateInstance("ProceduralBrickParam") as ProceduralBrickParam; // Attribution des paramètres // _stp.Enemies_SpeedMultiplier = 1f; // int speedRand = Random.Range(0,10); // _stp.Enemies_SpeedMultiplier = (speedRand < 5 && _stp.stepID > 3) ? 1.1f : 1f; brpm.Brick = _brick.type; brpm.chanceToTrigger = _randChance; if (_brick.GetComponent<PatrolBrick>() != null) { brpm.giveWPM = _brick.GetComponent<PatrolBrick>().brickPath.id; } brpm.ID = _brick.brickId; int enableRand = Random.Range(0,10); brpm.tryEnable = (enableRand <= 5) ? true : false; int disableRand = Random.Range(0,10); brpm.tryDisable = (disableRand <= 5 && brpm.tryEnable == false && restrainDisable == false) ? true : false; brpm.Toggle = false; if (brpm.tryEnable == false && brpm.tryDisable == false) { int toggleRand = Random.Range(0,10); brpm.Toggle = (toggleRand <= 5 && restrainToggle == false) ? true : false; } brpm.addLength = Random.Range(3, 10); int changeDirRand = Random.Range(0, 10); string randDir = ""; randDir += (changeDirRand <= 5) ?"U" : ""; randDir += (changeDirRand <= 5) ?"" : "D"; randDir += (changeDirRand <= 5) ?"" : "L"; randDir += (changeDirRand <= 5) ?"R" : ""; brpm.changeDirections = randDir; int invertRand = Random.Range(0,10); brpm.tryInvert = (invertRand <= 2 && _stp.stepID > 3 && restrainInvert == false) ? true : false; brpm.name = brpm.stepID + "|" + brpm.Brick + brpm.ID + brpm.giveWPM + brpm.changeDirections + brpm.addLength + brpm.tryInvert; // Ajout dans les listes _stp.LinkedParam.Add(brpm); setup.ListProcParam.Add(brpm); AssetDatabase.CreateAsset(brpm , "Assets/Resources/Maps/" + setup.lvlParam.NAME + "/ProcParam/" + Random.Range(0,1000000).ToString() +".asset"); EditorUtility.SetDirty(brpm); return brpm; }
private ProceduralBrickParam findRandomParam(List<ProceduralBrickParam> _list) { if (_list.Count == 0) { return null; } int rand = Random.Range(0, _list.Count); currParam = _list[rand]; currModBrick = findBrick(); return currParam; }