private void SaveServer(string name, string hostname, ushort port)
        {
            var entry = new SavedServerEntry()
            {
                Name       = name,
                Host       = hostname,
                Port       = port,
                ServerType = _selectedImplementation.Id,
                CachedIcon = _entry?.CachedIcon ?? null,
                ListIndex  = _entry?.ListIndex ?? -1
            };

            if (_entry != null)
            {
                entry.InternalIdentifier = _entry.InternalIdentifier;
            }

            /*	if (_entry != null)
             *      {
             *              _savedServersStorage.RemoveEntry(_entry);
             *      }
             *
             *      _savedServersStorage.AddEntry(entry);*/

            InvokeCallback(new AddOrEditCallback(entry, _entry == null));
        }
        private void AddEditServerCallbackAction(SavedServerEntry obj)
        {
            var queryProvider = GetService <IServerQueryProvider>();

            if (obj == null)
            {
                return;                      //Cancelled.
            }
            for (var index = 0; index < Items.Length; index++)
            {
                var entry = Items[index];

                if (entry.InternalIdentifier.Equals(obj.IntenalIdentifier))
                {
                    var newEntry = new GuiServerListEntryElement(queryProvider, obj);

                    Items[index] = newEntry;

                    newEntry.PingAsync(false);
                    break;
                }
            }

            //Load();
        }
 public GuiServerListEntryElement(IServerQueryProvider queryProvider, SavedServerEntry entry) : this(
         queryProvider,
         entry.ServerType == ServerType.Java ? $"§o[JAVA]§r - {entry.Name}" : $"{entry.Name}",
         entry.Host + ":" + entry.Port)
 {
     SavedServerEntry = entry;
 }
예제 #4
0
 public GuiServerListEntryElement(ServerTypeImplementation serverTypeImplementation, SavedServerEntry entry) : this(
         serverTypeImplementation.QueryProvider,
         $"§o[{entry.ServerType}]§r - {entry.Name}",
         entry.Host + ":" + entry.Port)
 {
     ServerTypeImplementation = serverTypeImplementation;
     SavedServerEntry         = entry;
 }
 public AddOrEditCallback(SavedServerEntry entry, bool isNew)
 {
     Entry = entry;
     IsNew = isNew;
 }
 public MultiplayerAddEditServerState(SavedServerEntry entry, Action <AddOrEditCallback> callbackAction,
                                      GuiPanoramaSkyBox skyBox) : this(entry.ServerType, entry.Name, entry.Host + ":" + entry.Port,
                                                                       callbackAction, skyBox)
 {
     _entry = entry;
 }
예제 #7
0
 public GuiServerListEntryElement(SavedServerEntry entry) : this(entry.ServerType == ServerType.Java ? $"§oJAVA§r - {entry.Name}" : $"§oPOCKET§r - {entry.Name}", entry.Host + ":" + entry.Port)
 {
     SavedServerEntry = entry;
 }