public static void generateTypes()
        {
            ServerLog.LogAsyncMessage(new LogMessage("Begining " + NAME + " generation", LogType.Log));
            using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
            {
                outputFile.WriteLine("Begining " + NAME + " generation");
            }
            JSONNode list = new JSONNode(NodeType.Array);

            if (GenerateTypeConfig.DecorTypes.TryGetValue(NAME, out List <DecorType> blockTypes))
            {
                foreach (var currentType in blockTypes)
                {
                    //ServerLog.LogAsyncMessage(new LogMessage("Found parent " + currentType.type, LogType.Log));
                    //ServerLog.LogAsyncMessage(new LogMessage("Found texture " + currentType.texture, LogType.Log));
                    var typeName = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type;

                    ServerLog.LogAsyncMessage(new LogMessage("Generating type " + typeName, LogType.Log));
                    using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
                    {
                        outputFile.WriteLine("Generating type " + typeName);
                    }

                    var Typesbase = new TypeSpecs();
                    Typesbase.baseType.categories.Add(currentType.type);
                    Typesbase.typeName         = typeName;
                    Typesbase.baseType.sideall = currentType.texture;

                    list.AddToArray(Typesbase.JsonSerialize());
                }
            }
            ItemTypesServer.BlockRotator.Patches.AddPatch(new ItemTypesServer.BlockRotator.BlockGeneratePatch(GenerateTypeConfig.MOD_FOLDER, -99999, list));
        }
        public static void generateRecipes()
        {
            ServerLog.LogAsyncMessage(new LogMessage("Begining " + NAME + " recipe generation", LogType.Log));
            using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
            {
                outputFile.WriteLine("Begining " + NAME + " recipe generation");
            }

            if (GenerateTypeConfig.DecorTypes.TryGetValue(LocalGenerateConfig.NAME, out List <DecorType> blockTypes))
            {
                foreach (var currentType in blockTypes)
                {
                    var typeName       = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type;
                    var typeNameRecipe = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type + ".Recipe";

                    ServerLog.LogAsyncMessage(new LogMessage("Generating recipe " + typeNameRecipe, LogType.Log));
                    using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
                    {
                        outputFile.WriteLine("Generating recipe " + typeNameRecipe);
                    }

                    var recipe = new TypeRecipe();
                    recipe.name = typeNameRecipe;
                    recipe.requires.Add(new RecipeItem(currentType.type));
                    recipe.results.Add(new RecipeItem(typeName));


                    recipe.LoadRecipe();
                }
            }
        }
        private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            ServerLog.LogAsyncMessage(new LogMessage(args.Name, UnityEngine.LogType.Log));
            try
            {
                if (args.Name.Contains("Newtonsoft.Json"))
                {
                    return(Assembly.LoadFile(MOD_FOLDER + "Newtonsoft.Json.dll"));
                }

                if (args.Name.Contains("System.Numerics"))
                {
                    return(Assembly.LoadFile(MOD_FOLDER + "System.Numerics.dll"));
                }

                if (args.Name.Contains("System.Data"))
                {
                    return(Assembly.LoadFile(MOD_FOLDER + "System.Data.dll"));
                }

                if (args.Name.Contains("System.Runtime.Serialization"))
                {
                    return(Assembly.LoadFile(MOD_FOLDER + "System.Runtime.Serialization.dll"));
                }
            }
            catch (Exception ex)
            {
                ServerLog.LogAsyncMessage(new LogMessage(ex.Message, UnityEngine.LogType.Exception));
            }

            return(null);
        }
Beispiel #4
0
 public void Log(string message, params object[] args)
 {
     if (args != null && args.Length != 0)
     {
         ServerLog.LogAsyncMessage(new LogMessage(PandaChat.BuildMessageNoLocal(GetFormattedMessage(string.Format(message, args))), LogType.Log));
     }
     else
     {
         ServerLog.LogAsyncMessage(new LogMessage(PandaChat.BuildMessageNoLocal(GetFormattedMessage(message)), LogType.Log));
     }
 }
        public static void generateTypes(Dictionary <string, ItemTypeRaw> types)
        {
            ServerLog.LogAsyncMessage(new LogMessage("Begining " + NAME + " type generation", LogType.Log));
            using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
            {
                outputFile.WriteLine("Begining " + NAME + " generation");
            }

            if (GenerateTypeConfig.DecorTypes.TryGetValue(NAME, out List <DecorType> blockTypes))
            {
                foreach (var currentType in blockTypes)
                {
                    //ServerLog.LogAsyncMessage(new LogMessage("Found parent " + currentType.type, LogType.Log));
                    //ServerLog.LogAsyncMessage(new LogMessage("Found texture " + currentType.texture, LogType.Log));
                    var typeName     = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type;
                    var typeNameUp   = typeName + ".up";
                    var typeNameDown = typeName + ".down";

                    ServerLog.LogAsyncMessage(new LogMessage("Generating type " + typeName, LogType.Log));
                    using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(GenerateTypeConfig.MOD_FOLDER, "Log.txt"), true))
                    {
                        outputFile.WriteLine("Generating type " + typeName);
                    }

                    var baseType = new TypeParent();
                    baseType.categories.Add(currentType.type);
                    baseType.name        = typeName;
                    baseType.sideall     = currentType.texture;
                    baseType.rotatablexn = typeNameUp;
                    baseType.rotatablexp = typeNameUp;
                    baseType.rotatablezn = typeNameDown;
                    baseType.rotatablezp = typeNameDown;

                    var typeUp = new TypeUp();
                    typeUp.name       = typeNameUp;
                    typeUp.parentType = typeName;

                    var typeDown = new TypeDown();
                    typeDown.name       = typeNameDown;
                    typeDown.parentType = typeName;


                    types.Add(typeName, new ItemTypeRaw(typeName, baseType.JsonSerialize()));
                    types.Add(typeNameUp, new ItemTypeRaw(typeNameUp, typeUp.JsonSerialize()));
                    types.Add(typeNameDown, new ItemTypeRaw(typeNameDown, typeDown.JsonSerialize()));
                }
            }
        }
Beispiel #6
0
        public static void AfterWorldLoad()
        {
            if (NewWorld)
            {
                DecorConfigFileTrue = false;
                if (!Directory.Exists(GAME_SAVEFILE))
                {
                    return;
                }
                if (!File.Exists(NEW_FILE))
                {
                    DecorLogger.LogToFile("Decor Config file not found for save game " + ServerManager.WorldName + " named " + FILE_NAME);
                    if (File.Exists(EXAMPLE_FILE))
                    {
                        DecorLogger.LogToFile("Example Decor File Found");
                        File.Copy(EXAMPLE_FILE, NEW_FILE);
                        DecorLogger.LogToFile("Example File Coppied to savegame");
                        ServerLog.LogAsyncMessage(new LogMessage("<color = blue>Restart server/game for decor mod to be functional</color>", LogType.Log));
                        NewDecorConfigFileTrue = true;
                    }
                    else
                    {
                        DecorLogger.LogToFile("Example Decor File not found can not copy file");
                        DecorConfigFileTrue = false;
                        return;
                    }
                }
                DecorLogger.LogToFile("Decor Config file found for save game " + ServerManager.WorldName + " named " + FILE_NAME);
                var fileContents = File.ReadAllText(NEW_FILE);
                DecorTypes = JsonConvert.DeserializeObject <Dictionary <string, List <DecorType> > >(fileContents);
                foreach (string type in TypeList)
                {
                    if (!DecorTypes.ContainsKey(type))
                    {
                        DecorTypes.Add(type, null);
                    }
                }
                fileContents = JsonConvert.SerializeObject(DecorTypes);
                File.WriteAllText(NEW_FILE, fileContents);

                using (StreamWriter outputFile = new StreamWriter(Path.Combine(GenerateTypeConfig.GAME_SAVEFILE, "TypeList.txt")))
                {
                    outputFile.WriteLine("");
                }
            }

            DecorLogger.LogToFile("TypeList.txt Contents: " + File.ReadAllText(GenerateTypeConfig.GAME_SAVEFILE + "TypeList.txt"));
        }
Beispiel #7
0
        public static void generateTypes(Dictionary <string, ItemTypeRaw> types)
        {
            ServerLog.LogAsyncMessage(new LogMessage("Begining " + NAME + " generation", LogType.Log));

            if (GenerateTypeConfig.DecorTypes.TryGetValue(NAME, out List <DecorType> blockTypes))
            {
                foreach (var currentType in blockTypes)
                {
                    //ServerLog.LogAsyncMessage(new LogMessage("Found parent " + currentType.type, LogType.Log));
                    //ServerLog.LogAsyncMessage(new LogMessage("Found texture " + currentType.texture, LogType.Log));
                    var typeName = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type;

                    ServerLog.LogAsyncMessage(new LogMessage("Generating type " + typeName, LogType.Log));

                    var baseType = new TypeParent();
                    baseType.categories.Add(currentType.type);
                    baseType.name        = typeName;
                    baseType.sideall     = currentType.texture;
                    baseType.rotatablexn = typeName + "x+";
                    baseType.rotatablexp = typeName + "x-";
                    baseType.rotatablezn = typeName + "z+";
                    baseType.rotatablezp = typeName + "z-";

                    var typeXP = new TypeXP();
                    typeXP.name       = typeName + "x+";
                    typeXP.parentType = typeName;

                    var typeXM = new TypeXM();
                    typeXM.name       = typeName + "x-";
                    typeXM.parentType = typeName;

                    var typeZP = new TypeXM();
                    typeZP.name       = typeName + "z+";
                    typeZP.parentType = typeName;

                    var typeZM = new TypeXM();
                    typeZM.name       = typeName + "z-";
                    typeZM.parentType = typeName;


                    types.Add(typeName, new ItemTypeRaw(typeName, baseType.JsonSerialize()));
                    types.Add(typeName + "x+", new ItemTypeRaw(typeName + "x+", typeXP.JsonSerialize()));
                    types.Add(typeName + "x-", new ItemTypeRaw(typeName + "x-", typeXM.JsonSerialize()));
                    types.Add(typeName + "z+", new ItemTypeRaw(typeName + "z+", typeZP.JsonSerialize()));
                    types.Add(typeName + "z-", new ItemTypeRaw(typeName + "z-", typeZM.JsonSerialize()));
                }
            }
        }
Beispiel #8
0
        private static void LogMessage(string modname, Pipliz.LogMessage logMessage, bool output = false, string message = null, bool ignoreconsole = false)
        {
            if (ignoreconsole == false)
            {
                ServerLog.LogAsyncMessage(logMessage);
            }

            if (output && message != null)
            {
                if (sw.ContainsKey(modname))
                {
                    sw[modname].WriteLine(GetTimestamp() + message);
                    sw[modname].WriteLine("");
                    sw[modname].Flush();
                }
            }
        }
Beispiel #9
0
        public CSConsoleAndFileLogger(string namespaceStr, string logName, string consolePrefix)
        {
            LOG_DIR        = GameInitializer.GAME_ROOT + "Logs/" + namespaceStr + "/";
            _consolePrefix = consolePrefix;

            if (!Directory.Exists(LOG_DIR))
            {
                Directory.CreateDirectory(LOG_DIR);
            }

            LOG_NAME = logName + "." + DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");

            _logFile = LOG_DIR + LOG_NAME + DOT_LOG;
            ServerLog.LogAsyncMessage(new LogMessage("Log file set to: " + _logFile, LogType.Log));
            _thread = new Thread(new ThreadStart(Log));
            _thread.IsBackground = true;
            _thread.Start();
        }
Beispiel #10
0
        public static void generateRecipes()
        {
            if (GenerateTypeConfig.DecorTypes.TryGetValue(LocalGenerateConfig.NAME, out List <DecorType> blockTypes))
            {
                foreach (var currentType in blockTypes)
                {
                    var typeName       = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type;
                    var typeNameRecipe = GenerateTypeConfig.TYPEPREFIX + NAME + "." + currentType.type + ".Recipe";

                    ServerLog.LogAsyncMessage(new LogMessage("Generating type " + typeNameRecipe, LogType.Log));

                    var recipe = new TypeRecipe();
                    recipe.name = typeNameRecipe;
                    recipe.requires.Add(new RecipeItem(currentType.type));
                    recipe.results.Add(new RecipeItem(typeName));


                    recipe.LoadRecipe();
                }
            }
        }
Beispiel #11
0
 public void Log(string message)
 {
     ServerLog.LogAsyncMessage(new LogMessage(GetFormattedMessage(message), LogType.Log));
 }
Beispiel #12
0
 internal static void Log(ChatColor color, string message, params object[] args)
 {
     ServerLog.LogAsyncMessage(new
                               LogMessage(PandaChat.BuildMessage(GetFormattedMessage(string.Format(message, args)), color),
                                          LogType.Log));
 }
Beispiel #13
0
 internal static void Log(string message, params object[] args)
 {
     ServerLog.LogAsyncMessage(new LogMessage(GetFormattedMessage(string.Format(message, args)), LogType.Log));
 }
Beispiel #14
0
 internal static void Log(string message)
 {
     ServerLog.LogAsyncMessage(new Pipliz.LogMessage(GetFormattedMessage(message), UnityEngine.LogType.Log));
 }
 private static void Log(string message)
 {
     ServerLog.LogAsyncMessage(new LogMessage(string.Format("[{0}]<Pandaros => SharedStockpile> {1}", DateTime.Now, message), UnityEngine.LogType.Log));
 }