示例#1
0
        public Level(LevelPipeline.LevelContent content)
        {
            levelName = content.levelName;
            formations = content.formations;
            formationPositions = content.formationPositions;
            formationTimes = content.formationTimes;
            formationSides = content.formationSides;
            formationActions = new List<List<PatternAction>>();
            //List<PatternAction> list;
            //PatternAction patternAction;
            foreach (List<LevelPipeline.PatternActionContent> pac in content.formationActions)
            {
                List<PatternAction> list = new List<PatternAction>();

                foreach (LevelPipeline.PatternActionContent pa in pac)
                {
                    PatternAction patternAction = new PatternAction(pa.actions, pa.duration);
                    list.Add(patternAction);
                }
                formationActions.Add(list);
            }
            formationNames = content.formationNames;
            formationActionNames = content.formationActionNames;
            terrains = content.terrains;
            terrainPositions = content.terrainPositions;
            terrainTimes = content.terrainTimes;
        }
示例#2
0
        private void addPatternButton_Click(object sender, EventArgs e)
        {
            _levels[currLevel].formationActionNames[currFormation].Add(_levels[currLevel].formationActionNames[currFormation][currPatternAction]);

            PatternAction action = new PatternAction(new List<int>(4), _levels[currLevel].formationActions[currFormation][currPatternAction].duration);
            foreach (int i in _levels[currLevel].formationActions[currFormation][currPatternAction].actions)
                action.addAction(i);

            _levels[currLevel].formationActions[currFormation].Add(action);

            refreshPatternListBox();
        }
示例#3
0
        private void addFormationButton_Click(object sender, EventArgs e)
        {
            _levels[currLevel].formationNames.Add(_levels[currLevel].formationNames[currFormation]);
            _levels[currLevel].formationPositions.Add(_levels[currLevel].formationPositions[currFormation]);
            _levels[currLevel].formationTimes.Add(_levels[currLevel].formationTimes[currFormation]);

            List<int> formation = new List<int>(10);
            foreach(int i in _levels[currLevel].formations[currFormation])
                formation.Add(i);

            _levels[currLevel].formations.Add(formation);

            List<string>formationActionNames = new List<string>(32);
            foreach (string s in _levels[currLevel].formationActionNames[currFormation])
                formationActionNames.Add(s);

            _levels[currLevel].formationActionNames.Add(formationActionNames);

            List<PatternAction> patternActions = new List<PatternAction>(32);
            List<int> actions;
            foreach (PatternAction pa in _levels[currLevel].formationActions[currFormation])
            {
                actions = new List<int>(32);
                foreach(int action in pa.actions)
                    actions.Add(action);

                PatternAction newPa = new PatternAction(actions, pa.duration);
                patternActions.Add(newPa);
            }

            _levels[currLevel].formationActions.Add(patternActions);
            _levels[currLevel].formationSides.Add(_levels[currLevel].formationSides[currFormation]);

            refreshFormationListBox();

            sendUpdate();
        }
示例#4
0
        void LevelEditorScreenListner.copyFormations(ArrayList formations, ArrayList terrains)
        {
            foreach (int formation in formations)
            {
                _levels[currLevel].formationNames.Add(_levels[currLevel].formationNames[formation]);
                _levels[currLevel].formationPositions.Add(_levels[currLevel].formationPositions[formation]);
                _levels[currLevel].formationTimes.Add(_levels[currLevel].formationTimes[formation]);
                _levels[currLevel].formationSides.Add(_levels[currLevel].formationSides[formation]);

                List<int> newFormation = new List<int>(10);
                foreach (int i in _levels[currLevel].formations[formation])
                    newFormation.Add(i);

                _levels[currLevel].formations.Add(newFormation);

                List<string> formationActionNames = new List<string>(32);
                foreach (string s in _levels[currLevel].formationActionNames[formation])
                    formationActionNames.Add(s);

                _levels[currLevel].formationActionNames.Add(formationActionNames);

                List<PatternAction> patternActions = new List<PatternAction>(32);
                List<int> actions;
                foreach (PatternAction pa in _levels[currLevel].formationActions[formation])
                {
                    actions = new List<int>(32);
                    foreach (int action in pa.actions)
                        actions.Add(action);

                    PatternAction newPa = new PatternAction(actions, pa.duration);
                    patternActions.Add(newPa);
                }

                _levels[currLevel].formationActions.Add(patternActions);
            }
            refreshFormationListBox();

            foreach (int ter in terrains)
            {
                _levels[currLevel].terrains.Add(_levels[currLevel].terrains[ter]);
                _levels[currLevel].terrainPositions.Add(_levels[currLevel].terrainPositions[ter]);
                _levels[currLevel].terrainTimes.Add(_levels[currLevel].terrainTimes[ter]);
            }
            refreshTerrainListBox();

            sendUpdate();
        }
示例#5
0
        public PatternAction copy()
        {
            PatternAction copy = new PatternAction();
            copy.duration = duration;

            foreach (int action in actions)
                copy.addAction(action);

            return copy;
        }