AddDynamics() public method

public AddDynamics ( Entity obj ) : void
obj Entity
return void
Beispiel #1
0
        public Level GetLevel()
        {
            // Variablen

            String[] splitvektor;
            String[] split;

            // Ermittlung Ebenengroeße
            split = _level._ebenengroeße.Split(';');
            int[,] levelgroeße = new int[split.Length, 2];

            for (int i = 0; i < split.Length; i++)
            {
                splitvektor = split[i].Split(',');
                levelgroeße[i, 0] = int.Parse(splitvektor[0]);
                levelgroeße[i, 1] = int.Parse(splitvektor[1]);
            }

            // Ermittlung Ebene0
            split = _level._ebene_0_Grundtextur.Split(';');
            int[,] ebene0 = new int[levelgroeße[0, 0], levelgroeße[0, 1]];

            for (int i = 0; i < levelgroeße[0, 0]; i++)
            {
                splitvektor = split[i].Split(',');
                for (int j = 0; j < levelgroeße[0, 1]; j++)
                {
                    ebene0[i, j] = int.Parse(splitvektor[j]);
                }
            }

            // Ermittlung Ebene2
            split = _level._ebene_2_obereObjekts.Split(';');
            int[,] ebene2 = new int[levelgroeße[2, 0], levelgroeße[2, 1]];

            for (int i = 0; i < levelgroeße[2, 0]; i++)
            {
                splitvektor = split[i].Split(',');
                for (int j = 0; j < levelgroeße[2, 1]; j++)
                {
                    ebene2[i, j] = int.Parse(splitvektor[j]);
                }
            }

            // Erzeugung von Liste mit Einheiten
            split = _level._unitsposition.Split(';');
            List<Entity> units = new List<Entity>();
            Entity unit;

            Level level = new Level(_game);

            for (int i = 0; i < split.Length; i++)
            {
                splitvektor = split[i].Split(',');
                Vector2 vektor = new Vector2(int.Parse(splitvektor[0]), int.Parse(splitvektor[1]));
                switch (i)
                {
                    case 0:
                        unit = new EntityGruselUte(_game, vektor, (_game as Game1)._gruselUteTexture);
                        break;
                    case 1:
                        unit = new EntityTree(_game, vektor, (_game as Game1)._treeTexture);
                        break;
                    case 2:
                        unit = new EntityHorst(_game, vektor, (_game as Game1)._treeTexture, "Horst");
                        break;
                    case 3:
                        unit = new EntityJumpPoint(_game, vektor, (_game as Game1)._blackHoleTexture,
                            level, new Vector2(500,500));
                        break;
                    case 4:
                        // Truhe http://mariowiki.net/w/images/8/89/WL4_Sprite_Schatztruhe.png
                        unit = new EntityChest(_game, vektor, (_game as Game1)._cestTexture);
                        break;
                    default:
                        unit = new EntityPotion(_game, vektor, (_game as Game1)._potionTexture);
                        break;
                }
                level.AddDynamics(unit);
            }

            /*level.AddLayer(0, ebene0);
            level.AddLayer(2, ebene2);*/
            level.AddFloor(ebene0);
            level.AddCeiling(ebene2);

            return level;
        }