Пример #1
0
 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();
 }
Пример #2
0
    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;
    }
Пример #3
0
 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;
 }