コード例 #1
0
        private static void InitializeStaticGameData()
        {
            LogManager.Boot("Initializing Game Data");
            LoadSystemDataFromLuaScripts();
            var loaderInitializer = Kernel.Get <IInitializer>("LoaderInitializer");

            //// Pre-Tests the module_Area to catch any errors early before area load
            LuaManager.DoLuaScript(GameConstants.DataPath + "//modules//module_area.lua");
            ((LoaderInitializer)loaderInitializer).Load();
        }
コード例 #2
0
        private static void InitializeManagersAndGameSettings()
        {
            LogManager = Kernel.Get <ILogManager>();
            LogManager.Boot("-----------------------[ Boot Log ]----------------------");

            var loaded = SystemConstants.LoadSystemDirectoriesFromConfig(GameConstants.DataPath);

            LogManager.Boot("{0} SystemDirectories loaded.", loaded);

            loaded = SystemConstants.LoadSystemFilesFromConfig();
            LogManager.Boot("{0} SystemFiles loaded.", loaded);

            LookupManager = Kernel.Get <ILookupManager>();

            LuaManager = Kernel.Get <ILuaManager>();

            NetworkManager = Kernel.Get <ITcpServer>();
            NetworkManager.Startup(Convert.ToInt32(ConfigurationManager.AppSettings["port"]),
                                   IPAddress.Parse(ConfigurationManager.AppSettings["host"]));
            NetworkManager.OnTcpUserStatusChanged += NetworkManager_OnOnTcpUserStatusChanged;

            RepositoryManager = Kernel.Get <IRepositoryManager>();

            var luaInitializer = Kernel.Get <IInitializer>("LuaInitializer");

            if (luaInitializer == null)
            {
                throw new ApplicationException("LuaInitializer failed to start");
            }

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Lookups));
            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.StatModLookups));

            BanManager      = Kernel.Get <IBanManager>();
            BoardManager    = Kernel.Get <IBoardManager>();
            CalendarManager = Kernel.Get <ICalendarManager>();

            GameManager = Kernel.Get <IGameManager>();
            GameManager.SetGameTime(CalendarManager.GameTime);
            GameManager.GameTime.SetTimeOfDay(GameConstants.GetSystemValue <int>("HourOfSunrise"),
                                              GameConstants.GetSystemValue <int>("HourOfDayBegin"), GameConstants.GetSystemValue <int>("HourOfSunset"),
                                              GameConstants.GetSystemValue <int>("HourOfNightBegin"));

            WeatherManager = Kernel.Get <IWeatherManager>();

            NewsManager = Kernel.Get <INewsManager>();

            AuctionManager = Kernel.Get <IAuctionManager>();

            ClanManager = Kernel.Get <IClanManager>();

            InitializeStaticGameData();
        }
コード例 #3
0
        private static void LoadSystemDataFromLuaScripts()
        {
            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Commands));
            LogManager.Boot("{0} Commands loaded.", RepositoryManager.COMMANDS.Count);
            LookupManager.CommandLookup.UpdateFunctionReferences(RepositoryManager.COMMANDS.Values);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.SpecFuns));
            LogManager.Boot("{0} SpecFuns loaded.", RepositoryManager.SPEC_FUNS.Count);
            //SpecFunLookupTable.UpdateCommandFunctionReferences(RepositoryManager.Instance.SPEC_FUNS.Values);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Socials));
            LogManager.Boot("{0} Socials loaded.", RepositoryManager.SOCIALS.Count);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Skills));
            LogManager.Boot("{0} Skills loaded.", RepositoryManager.SKILLS.Count);
            LookupManager.SkillLookup.UpdateFunctionReferences(RepositoryManager.SKILLS.Values);
            LookupManager.SpellLookup.UpdateFunctionReferences(RepositoryManager.SKILLS.Values);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Liquids));
            LogManager.Boot("{0} Liquids loaded.", RepositoryManager.LIQUIDS.Count);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Mixtures));
            LogManager.Boot("{0} Mixtures loaded.",
                            RepositoryManager.GetRepository <MixtureData>(RepositoryTypes.Mixtures).Count);
            // TODO: Update function references

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Herbs));
            LogManager.Boot("{0} Herbs loaded.", RepositoryManager.HERBS.Count);
            LookupManager.SkillLookup.UpdateFunctionReferences(RepositoryManager.HERBS.Values);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Tongues));
            LogManager.Boot("{0} Tongues loaded.", RepositoryManager.LANGUAGES.Count);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Planes));
            LogManager.Boot("{0} Planes loaded.", RepositoryManager.PLANES.Count);

            LuaManager.DoLuaScript(SystemConstants.GetSystemFile(SystemFileTypes.Morphs));
            LogManager.Boot("{0} Morphs loaded.", RepositoryManager.MORPHS.Count);
        }