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); } }
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; }
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 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); }
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(); }
// 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(); }
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(); }
public void changeLevelLabel(LinearStep _step) { _IngameUI.LevelTxt.text = "" + _step.levelLabel + ""; _IngameUI.TriggerLvText(); }