Пример #1
0
        public static void HandleMessage(ClientStructure client, IClientMessageBase message)
        {
            var data = message.Data as KerbalBaseMsgData;

            switch (data?.KerbalMessageType)
            {
            case KerbalMessageType.Request:
                KerbalSystem.HandleKerbalsRequest(client);
                //We don't use this message anymore so we can recycle it
                message.Recycle();
                break;

            case KerbalMessageType.Proto:
                KerbalSystem.HandleKerbalProto(client, (KerbalProtoMsgData)data);
                break;

            case KerbalMessageType.Remove:
                KerbalSystem.HandleKerbalRemove(client, (KerbalRemoveMsgData)data);

                break;

            default:
                throw new NotImplementedException("Kerbal type not implemented");
            }
        }
Пример #2
0
        /// <summary>
        /// Create universe directories
        /// </summary>
        public static void CheckUniverse()
        {
            LunaLog.Debug($"Loading universe... {GetUniverseSize()}{ByteSize.KiloByteSymbol}");

            if (!FileHandler.FolderExists(ServerContext.ConfigDirectory))
            {
                FileHandler.FolderCreate(ServerContext.ConfigDirectory);
            }
            if (!FileHandler.FileExists(ServerContext.ModFilePath))
            {
                if (FileHandler.FileExists(ServerContext.OldModFilePath))
                {
                    FileHandler.MoveFile(ServerContext.OldModFilePath, ServerContext.ModFilePath);
                }
                else
                {
                    ModFileSystem.GenerateNewModFile();
                }
            }
            else
            {
                // Cleanup
                FileHandler.FileDelete(ServerContext.OldModFilePath);
            }
            if (!FileHandler.FolderExists(ServerContext.UniverseDirectory))
            {
                FileHandler.FolderCreate(ServerContext.UniverseDirectory);
            }

            if (!FileHandler.FolderExists(CraftLibrarySystem.CraftPath))
            {
                FileHandler.FolderCreate(CraftLibrarySystem.CraftPath);
            }
            if (!FileHandler.FolderExists(FlagSystem.FlagPath))
            {
                FileHandler.FolderCreate(FlagSystem.FlagPath);
            }
            if (!FileHandler.FolderExists(GroupSystem.GroupsPath))
            {
                FileHandler.FolderCreate(GroupSystem.GroupsPath);
            }
            if (!FileHandler.FolderExists(ScreenshotSystem.ScreenshotPath))
            {
                FileHandler.FolderCreate(ScreenshotSystem.ScreenshotPath);
            }
            if (!FileHandler.FolderExists(KerbalSystem.KerbalsPath))
            {
                FileHandler.FolderCreate(KerbalSystem.KerbalsPath);
                KerbalSystem.GenerateDefaultKerbals();
            }
            if (!FileHandler.FolderExists(ScenarioSystem.ScenariosPath))
            {
                FileHandler.FolderCreate(ScenarioSystem.ScenariosPath);
            }
            if (!FileHandler.FolderExists(VesselStoreSystem.VesselsPath))
            {
                FileHandler.FolderCreate(VesselStoreSystem.VesselsPath);
            }
        }
Пример #3
0
 //Create universe directories
 public static void CheckUniverse()
 {
     LunaLog.Debug("Loading universe... ");
     if (!FileHandler.FileExists(ServerContext.ModFilePath))
     {
         ModFileSystem.GenerateNewModFile();
     }
     if (!FileHandler.FolderExists(ServerContext.UniverseDirectory))
     {
         FileHandler.FolderCreate(ServerContext.UniverseDirectory);
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Crafts")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Crafts"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Screenshots")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Screenshots"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Flags")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Flags"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Groups")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Groups"));
     }
     if (!FileHandler.FolderExists(KerbalSystem.KerbalsPath))
     {
         FileHandler.FolderCreate(KerbalSystem.KerbalsPath);
         KerbalSystem.GenerateDefaultKerbals();
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Players")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Players"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Relay")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Relay"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Scenarios")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Scenarios"));
     }
     if (!FileHandler.FolderExists(Path.Combine(ServerContext.UniverseDirectory, "Vessels")))
     {
         FileHandler.FolderCreate(Path.Combine(ServerContext.UniverseDirectory, "Vessels"));
     }
 }
Пример #4
0
        //Create universe directories
        public static void CheckUniverse()
        {
            LunaLog.Debug("Loading universe... ");

            if (!FileHandler.FileExists(ServerContext.ModFilePath))
            {
                ModFileSystem.GenerateNewModFile();
            }
            if (!FileHandler.FolderExists(ServerContext.UniverseDirectory))
            {
                FileHandler.FolderCreate(ServerContext.UniverseDirectory);
            }

            if (!FileHandler.FolderExists(CraftLibrarySystem.CraftPath))
            {
                FileHandler.FolderCreate(CraftLibrarySystem.CraftPath);
            }
            if (!FileHandler.FolderExists(FlagSystem.FlagPath))
            {
                FileHandler.FolderCreate(FlagSystem.FlagPath);
            }
            if (!FileHandler.FolderExists(GroupSystem.GroupsPath))
            {
                FileHandler.FolderCreate(GroupSystem.GroupsPath);
            }
            if (!FileHandler.FolderExists(ScreenshotSystem.ScreenshotPath))
            {
                FileHandler.FolderCreate(ScreenshotSystem.ScreenshotPath);
            }
            if (!FileHandler.FolderExists(KerbalSystem.KerbalsPath))
            {
                FileHandler.FolderCreate(KerbalSystem.KerbalsPath);
                KerbalSystem.GenerateDefaultKerbals();
            }
            if (!FileHandler.FolderExists(ScenarioSystem.ScenariosPath))
            {
                FileHandler.FolderCreate(ScenarioSystem.ScenariosPath);
            }
            if (!FileHandler.FolderExists(VesselStoreSystem.VesselsPath))
            {
                FileHandler.FolderCreate(VesselStoreSystem.VesselsPath);
            }
        }
Пример #5
0
        public override void HandleMessage(ClientStructure client, IMessageData messageData)
        {
            var message = messageData as KerbalBaseMsgData;

            switch (message?.KerbalMessageType)
            {
            case KerbalMessageType.Request:
                KerbalSystem.HandleKerbalsRequest(client);
                break;

            case KerbalMessageType.Proto:
                KerbalSystem.HandleKerbalProto(client, (KerbalProtoMsgData)message);
                break;

            case KerbalMessageType.Remove:
                KerbalSystem.HandleKerbalRemove(client, (KerbalRemoveMsgData)message);

                break;

            default:
                throw new NotImplementedException("Kerbal type not implemented");
            }
        }