Ejemplo n.º 1
0
        public static void AddActionInstruction(StartupAction action)
        {
            if (Actions.Any(x => x.GetType() == action.GetType()))
            {
                return;
            }

            Actions.Add(action);
        }
Ejemplo n.º 2
0
        internal static void RunActions()
        {
            string[] lines = File.ReadAllLines(PluginPaths.InternalStartupInstructionPath);
            List <(string key, string[] content)> instructions = lines
                                                                 .Select(
                x =>
                (x.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)[0],
                 x.Split(
                     new[] { ' ' },
                     StringSplitOptions
                     .RemoveEmptyEntries
                     ).Skip(1).ToArray())
                ).ToList();

            foreach ((string key, string[] content)instruction in instructions)
            {
                StartupAction action = Actions.FirstOrDefault(x => x.ActionName == instruction.key);
                action?.RunAction(instruction.content);
            }

            File.Delete(PluginPaths.InternalStartupInstructionPath);
        }