Esempio n. 1
0
    public void triggerStep(LinearStep _step)
    {
        _CURRENTSTEP = _step;
        _step.Triggered = true;
        triggerList();

        levMan._player.lowSpeed = levMan._player.lowSpeed * _CURRENTSTEP.Crab_SpeedMultiplier;
        levMan._player.medSpeed = levMan._player.medSpeed * _CURRENTSTEP.Crab_SpeedMultiplier;
        levMan._player.highSpeed = levMan._player.highSpeed * _CURRENTSTEP.Crab_SpeedMultiplier;
        if (levMan.menuManager != null)
        {
            levMan.menuManager.changeLevelLabel(_CURRENTSTEP);
        }
        if (_CURRENTSTEP.stepID > 1)
        {
            MasterAudio.PlaySound("Steps", 1f, 1f, 0f, "step_" + _CURRENTSTEP.levelLabel.ToString().ToLower());
        }
        if (_CURRENTSTEP.MusicSource != null)
        {
            MasterAudio.TriggerPlaylistClip(_CURRENTSTEP.MusicSource.name);
        }

        if (_CURRENTSTEP.LevelToUnlock != null)
        {
            levMan.tools.UnlockLevel(_CURRENTSTEP.LevelToUnlock);
        }
    }
Esempio n. 2
0
    public void Setup(LevelManager _lev)
    {
        levMan = _lev;
        string path = "Maps/" + levMan.NAME + "/Steps/";
        string mainPath = "Maps/" + levMan.NAME + "/";

        InitLevelSetup = Instantiate(Resources.Load(mainPath + "Setup")) as LevelParameters;
        LevelSetup = InitLevelSetup;
        LinearSetup = Instantiate(Resources.Load(mainPath + "Linear")) as LinearLevelSetup;
        _listSteps = LinearSetup.LinearSteps;
        untriggerSteps();

        _CURRENTSTEP = _listSteps[0];

        GameEventManager.GameStart += GameStart;
        GameEventManager.Respawn += Respawn;
        GameEventManager.GameOver += GameOver;
    }
Esempio n. 3
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;
    }
Esempio n. 4
0
 private void removeBrickStep(LinearStep _stp)
 {
     List<ProceduralBrickParam> prm = setup.ListProcParam.FindAll((ProceduralBrickParam obj) => obj.stepID == _stp.stepID);
     foreach (ProceduralBrickParam _par in prm)
     {
         AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(_par));
     }
     setup.ListProcParam.RemoveAll((ProceduralBrickParam obj) => obj.stepID == _stp.stepID);
     _stp.LinkedParam.RemoveAll((ProceduralBrickParam obj) => obj.stepID == _stp.stepID);
 }
Esempio n. 5
0
 private void modifyStep(LinearStep _stp)
 {
     EditorGUILayout.BeginHorizontal(GUILayout.Width(maxSize));
     GUILayout.TextField(_stp.stepID.ToString(),GUILayout.Width(stepSize));
     _stp.procType				= (LinearStep.procTrigger)System.Enum.Parse(typeof(LinearStep.procTrigger) , EditorGUILayout.EnumPopup("", _stp.procType, GUILayout.Width(stepSize)).ToString());
     if (_stp.procType == LinearStep.procTrigger.Mixed)
     {
         _stp.allowRetrigger			= EditorGUILayout.Toggle("", _stp.allowRetrigger, GUILayout.Width(stepSize));
         _stp.nbBricksToTrigger		= EditorGUILayout.IntField("", _stp.nbBricksToTrigger, GUILayout.Width(stepSize));
         if (_stp.nbBricksToTrigger < 1)
         {
             _stp.nbBricksToTrigger = 1;
         }
         if (_stp.nbBricksToTrigger > _stp.LinkedParam.Count)
         {
             _stp.nbBricksToTrigger = _stp.LinkedParam.Count;
         }
     }
     _stp.MusicSource			= (AudioClip) EditorGUILayout.ObjectField(_stp.MusicSource, typeof(AudioClip),false, GUILayout.Width(stepSize));
     _stp.Enemies_SpeedMultiplier= EditorGUILayout.FloatField("", _stp.Enemies_SpeedMultiplier, GUILayout.Width(stepSize));
     EditorGUILayout.EndHorizontal();
 }
Esempio n. 6
0
 // STEP DISPLAY AND MODIFICATION
 private void displayStepHeader(LinearStep _stp)
 {
     EditorGUILayout.BeginHorizontal(GUILayout.Width(maxSize));
     GUILayout.Box("StepID",GUILayout.Width(stepSize));
     GUILayout.Box("ProcType",GUILayout.Width(stepSize));
     if (_stp.procType == LinearStep.procTrigger.Mixed)
     {
         GUILayout.Box("Allow\nRetrigger",GUILayout.Width(stepSize));
         GUILayout.Box("MinimumNb\nTrigger",GUILayout.Width(stepSize));
     }
     GUILayout.Box("Music",GUILayout.Width(stepSize));
     GUILayout.Box("Ennemies\nSpeed",GUILayout.Width(stepSize) );
     EditorGUILayout.EndHorizontal();
 }
Esempio n. 7
0
 private void displayProcHeader(LinearStep _stp)
 {
     EditorGUILayout.BeginHorizontal(GUILayout.Width(maxSize));
     GUILayout.Box("Force",GUILayout.Width(boxSize));
     if (_stp.procType != LinearStep.procTrigger.Mixed)
     {
         GUILayout.Box("Chances",GUILayout.Width(boxSize));
     }
     GUILayout.Box("Brick",GUILayout.Width(boxSize));
     GUILayout.Box("ID",GUILayout.Width(boxSize));
     GUILayout.Box("WPM",GUILayout.Width(boxSize));
     GUILayout.Box("try\nEnable",GUILayout.Width(boxSize));
     GUILayout.Box("try\nDisable",GUILayout.Width(boxSize));
     GUILayout.Box("Toggle",GUILayout.Width(boxSize));
     GUILayout.Box("TwDir",GUILayout.Width(boxSize));
     GUILayout.Box("add\nLength",GUILayout.Width(boxSize));
     GUILayout.Box("max\nLength",GUILayout.Width(boxSize));
     GUILayout.Box("Invert",GUILayout.Width(boxSize));
     EditorGUILayout.EndHorizontal();
 }
Esempio n. 8
0
 public void changeLevelLabel(LinearStep _step)
 {
     _IngameUI.LevelTxt.text = "" + _step.levelLabel + "";
     _IngameUI.TriggerLvText();
 }