Exemplo n.º 1
0
        public MissionScript(MissionIni ini)
        {
            this.Ini = ini;
            foreach (var s in ini.Solars)
            {
                Set(Solars, s.Nickname, s);
            }
            foreach (var s in ini.Ships)
            {
                Set(Ships, s.Nickname, s);
            }
            foreach (var n in ini.NPCs)
            {
                Set(NPCs, n.Nickname, n);
            }
            foreach (var f in ini.Formations)
            {
                Set(Formations, f.Nickname, f);
            }
            foreach (var ol in ini.ObjLists)
            {
                Set(ObjLists, ol.Nickname, new ScriptAiCommands()
                {
                    Nickname = ol.Nickname,
                    Ini      = ol
                });
            }
            foreach (var dlg in ini.Dialogs)
            {
                Set(Dialogs, dlg.Nickname, dlg);
            }
            if (ini.ShipIni != null)
            {
                foreach (var s in ini.ShipIni.ShipArches)
                {
                    NpcShips[s.Nickname] = s;
                }
            }
            foreach (var tr in ini.Triggers)
            {
                AvailableTriggers[tr.Nickname] = new ScriptedTrigger()
                {
                    Nickname   = tr.Nickname,
                    Repeatable = tr.Repeatable,
                    Conditions = tr.Conditions.ToArray(),
                    Actions    = ScriptedAction.Convert(tr.Actions).ToArray()
                };
                if (tr.InitState == TriggerInitState.ACTIVE)
                {
                    InitTriggers.Add(tr.Nickname);
                }
            }

            Console.WriteLine();
        }