예제 #1
0
        /*!
         * \brief
         *  Create the System object and return a reference to it.
         *
         * \param renderer
         *  Reference to a valid Renderer object that will be used to render GUI
         *  imagery.
         *
         * \param resourceProvider
         *  Pointer to a ResourceProvider object, or NULL to use whichever default
         *  the Renderer provides.
         *
         * \param xmlParser
         *  Pointer to a valid XMLParser object to be used when parsing XML files,
         *  or NULL to use a default parser.
         *
         * \param imageCodec
         *  Pointer to a valid ImageCodec object to be used when loading image
         *  files, or NULL to use a default image codec.
         *
         * \param scriptModule
         *  Pointer to a ScriptModule object.  may be NULL for none.
         *
         * \param configFile
         *  String object containing the name of a configuration file to use.
         *
         * \param logFile
         *  String object containing the name to use for the log file.
         *
         * \param abi
         *  This must be set to CEGUI_VERSION_ABI
         */

        //public static System Create(Renderer renderer,
        //                      ResourceProvider resourceProvider = 0,
        //                      XMLParser xmlParser = 0,
        //                      ImageCodec imageCodec = 0,
        //                      ScriptModule scriptModule = 0,
        //                      string configFile = "",
        //                      string logFile = "CEGUI.log",
        //                      int abi = CEGUI_VERSION_ABI);

        public static System Create(Renderer renderer,
                                    ResourceProvider resourceProvider = null,
                                    XMLParser xmlParser   = null,
                                    ImageCodec imageCodec = null,
                                    string configFile     = "",
                                    string logFile        = "CEGUISharp.log")
        {
            if (_instance == null)
            {
                // TODO: PerformVersionTest(CEGUI_VERSION_ABI, abi, CEGUI_FUNCTION_NAME);

                _instance = new System(renderer, resourceProvider, xmlParser, imageCodec, configFile, logFile);
                _instance.Initialize(configFile, logFile);
            }

            return(_instance);
        }