Esempio n. 1
0
        public static async void InitializeList(RoleType roleType, ObservableCollection <Player> playerList, Server server)
        {
            List <string> names;
            string        path;

            if (server.Version.CompareTo(new ServerVersion {
                Version = "1.7.5"
            }) <= 0)
            {
                path = Path.Combine(new DirectoryInfo(Path.Combine(App.ServerPath, server.Name)).FullName, roleType.TxtName());
                switch (roleType)
                {
                case RoleType.WHITELIST:
                    names = FileReader.ReadWhiteListTxT(path);
                    break;

                case RoleType.OP_LIST:
                    names = FileReader.ReadOPListTxT(path);
                    break;

                case RoleType.BAN_LIST:
                    names = FileReader.ReadBanListTxT(path);
                    break;

                default:
                    throw new ArgumentException("RoleUpdater.InitializeList() is ignoring an enum value!");
                }
            }
            else
            {
                path = Path.Combine(new DirectoryInfo(Path.Combine(App.ServerPath, server.Name)).FullName, roleType.JsonName());
                switch (roleType)
                {
                case RoleType.WHITELIST:
                    names = FileReader.ReadWhiteListJson(path);
                    break;

                case RoleType.OP_LIST:
                    names = FileReader.ReadOPListJson(path);
                    break;

                case RoleType.BAN_LIST:
                    names = FileReader.ReadBanListJson(path);
                    break;

                default:
                    throw new ArgumentException("RoleUpdater.InitializeList() is ignoring an enum value!");
                }
            }
            //Add names to PlayerList
            Dispatcher viewDisp = Application.Current.Dispatcher;

            foreach (string name in names)
            {
                Player p = await PlayerManager.Instance.GetPlayer(name);

                //Player p = new Player(name);
                viewDisp.Invoke(() => playerList.Add(p), DispatcherPriority.Background);
            }
        }