Example #1
0
        private bool TryToAddSingleBeatLevelElement(SingleBeat singleBeat, LevelElementType type)
        {
            LevelElementPlacement placement = LevelElementPlacement.CreateSingleSynchro(
                type, singleBeat.Time);

            return(TryToAddLevelElement(placement));
        }
Example #2
0
        public Level GenerateThirdTutorialLevel()
        {
            LevelPlan levelPlan = new LevelPlan();

            float segmentLength = 5;

            for (int i = 0; i < 30; i++)
            {
                float offset = 3 + i * segmentLength;

                LevelElementPlacement singleProjectile = LevelElementPlacement.CreateSingleSynchro(
                    LevelElementType.SingleProjectile, offset);

                List <float> synchros = new List <float>()
                {
                    offset + 2, offset + 2.5f, offset + 3
                };

                LevelElementPlacement multipleProjectiles = LevelElementPlacement.CreateMultipleSynchro(
                    LevelElementType.MultipleProjectiles, synchros);

                levelPlan.AddLevelElementPlacement(singleProjectile);
                levelPlan.AddLevelElementPlacement(multipleProjectiles);
            }

            Level level = GenerateLevel(levelPlan);

            level.Name       = "TutorialLevel3";
            level.IsTutorial = true;

            return(level);
        }
Example #3
0
        public Level GenerateFirstTutorialLevel()
        {
            LevelPlan levelPlan = new LevelPlan();

            float segmentLength = 7;

            for (int i = 0; i < 30; i++)
            {
                float offset = 3 + i * segmentLength;

                LevelElementPlacement highCollectible = LevelElementPlacement.CreateSingleSynchro(
                    LevelElementType.HighCollectible, offset);
                LevelElementPlacement jumpObstacle = LevelElementPlacement.CreateSingleSynchro(
                    LevelElementType.JumpObstacle, offset + 2);
                LevelElementPlacement chasm = LevelElementPlacement.CreateProlongedSynchro(
                    LevelElementType.Chasm, offset + 4, offset + 5);

                levelPlan.AddLevelElementPlacement(highCollectible);
                levelPlan.AddLevelElementPlacement(jumpObstacle);
                levelPlan.AddLevelElementPlacement(chasm);
            }

            Level level = GenerateLevel(levelPlan);

            level.Name       = "TutorialLevel1";
            level.IsTutorial = true;

            return(level);
        }
Example #4
0
        private void FillWithLowCollectibles()
        {
            foreach (SingleBeat singleBeat in songElements.SingleBeats)
            {
                if (singleBeat.Applicability < LevelGenerationValues.FillUpElementsApplicabilityThreshold)
                {
                    continue;
                }

                LevelElementPlacement placement = LevelElementPlacement.CreateSingleSynchro(
                    LevelElementType.LowCollectible, singleBeat.Time);

                if (IsTimeRangeFree(placement.LevelElementStartTime, placement.LevelElementEndTime))
                {
                    AddLevelElementPlacement(placement);
                }
            }
        }
Example #5
0
 private void CreateSingleSynchronisation(LevelElementType type, float synchronisationTime)
 {
     AddLevelElementPlacement(LevelElementPlacement.CreateSingleSynchro(type, synchronisationTime));
 }