Engine editor startup method, device, electronic device and storage medium
By loading a hook file during the startup process of the engine editor, the third-party software toolkit version number is solved, and the startup process of the engine editor is optimized to ensure the stable operation of the project.
Patent Information
- Application Number
- CN202110882442.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-02
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-08-02
AI Technical Summary
When the startup version number of the third-party software development toolkit does not match the required target version number, the project may crash, report an error, get stuck or crash in the engine, seriously affecting the project process.
The pre-built hook file is loaded during the startup of the engine editor to detect the version number of the third-party software development kit and decide whether to continue starting the engine editor based on the detection results.
Automatic detection of third-party software toolkit version numbers is realized, which avoids crash problems caused by mismatch in version numbers, optimizes the startup process of the engine editor, and ensures the stability of the project process.
Smart Images

Figure CN113590228B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of computer application technology, and in particular to a method, device, electronic device and storage medium for starting an engine editor. Background Art
[0002] Typically, third-party SDKs are part of a project's codebase and are involved in running and packaging your game every time.
[0003] When a project is started within the engine, if the startup version number of the third-party software development kit does not match the required target version number, it will often crash, report an error, freeze, or crash, seriously affecting the project process. Summary of the invention
[0004] The embodiments of the present invention provide a method, device, electronic device and storage medium for starting an engine editor, so as to optimize the startup process of the engine editor and realize automatic detection of a third-party software toolkit.
[0005] In a first aspect, an embodiment of the present invention provides a method for starting an engine editor, the method comprising:
[0006] During the startup of the target engine's editor, load the pre-built target hook file for detecting third-party software development kits;
[0007] Determine the startup version number of the third-party software development kit based on the target hook file, and detect the startup version number;
[0008] Based on the detection result of the startup version number, it is determined whether to continue to execute the operation of opening the editor of the target engine.
[0009] In a second aspect, an embodiment of the present invention further provides a device for starting an engine editor, the device comprising:
[0010] A hook file loading module, used to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine;
[0011] A version number detection module, used to determine the startup version number of the third-party software development kit based on the target hook file, and detect the startup version number;
[0012] The startup operation execution module is used to determine whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number.
[0013] In a third aspect, an embodiment of the present invention further provides an electronic device, the electronic device comprising:
[0014] one or more processors;
[0015] A storage device for storing one or more programs;
[0016] When the program is executed by the processor, the processor implements the method for starting the engine editor provided by any embodiment of the present invention.
[0017] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a method for starting an engine editor as provided in any embodiment of the present invention.
[0018] The technical solution of the embodiment of the present invention is to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine. The startup version number of the third-party software development kit is determined based on the target hook file, and the startup version number is detected, thereby realizing automatic detection of the version number of the third-party software development kit during the startup process of the editor. The advantage of such processing is that the version number of the third-party software development kit can be determined more conveniently and quickly. Based on the detection result of the startup version number, it is determined whether to continue to execute the operation of opening the editor of the target engine, thereby realizing automatic detection of the third-party software toolkit, solving the problem that when the project is started in the engine, once the startup version number of the third-party software development kit does not match the required target version number, there are technical problems in the prior art such as flash back, error crash, stuck or crash, thereby achieving the technical effect of optimizing the startup process of the engine editor and avoiding affecting the project process. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the following briefly introduces the drawings required to describe the embodiments. Obviously, the drawings introduced are only drawings of a part of the embodiments to be described in the present invention, rather than all the drawings. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 This is a flowchart of a method for starting an engine editor provided in the first embodiment of the present invention;
[0021] Figure 2 This is a flowchart of a method for starting an engine editor provided in Embodiment 2 of the present invention;
[0022] Figure 3 This is a schematic diagram of a startup device module of an engine editor provided in Embodiment 3 of the present invention;
[0023] Figure 4 It is a structural schematic diagram of an electronic device provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION
[0024] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0025] It should also be noted that, for ease of description, only the part relevant to the present invention but not all content is shown in the accompanying drawings. It should be mentioned before discussing exemplary embodiments in more detail that some exemplary embodiments are described as processing or methods depicted as flow charts. Although the flow chart describes each operation (or step) as sequential processing, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. When its operation is completed, the processing can be terminated, but it can also have additional steps not included in the accompanying drawings. The processing can correspond to methods, functions, procedures, subroutines, subprograms, etc.
[0026] Embodiment 1
[0027] Figure 1 This is a flowchart of a method for starting an engine editor provided in the first embodiment of the present invention. This embodiment can be applied to detecting the startup version number of a third-party software development kit through a target hook file, and then determining whether to continue to execute the operation of opening the editor of the target engine. The method can be executed by a startup device of the engine editor. The startup device of the engine editor can be implemented by software and / or hardware. The startup device of the engine editor can be integrated in an electronic device such as a computer or a server.
[0028] like Figure 1 As shown, the method of this embodiment includes:
[0029] S110 . During the startup of the editor of the target engine, a pre-built target hook file for detecting a third-party software development kit is loaded.
[0030] The target engine may be an engine whose editor needs to be started at the current moment. Optionally, the target engine may be a game engine, such as Unity engine, Unreal engine, Cocos engine, etc. The editor of the target engine may be an engine editor that needs to be started at the current moment, such as Unity engine editor.
[0031] Among them, the third-party software development kit can be a collection of relevant documents, examples and tools that assist in the development of application software. In the process of developing software, using a third-party software development kit can not only improve software development efficiency, but also reduce software development costs. Optionally, the third-party software development kit can be a sound effect plug-in (such as a Wwise plug-in), or it can be an SDK toolkit.
[0032] The target hook file can be used to detect a third-party software development kit. The target hook file can be a .dll file or a .lab file. Optionally, the target hook file can be an EnginePreEntryHook.dll file.
[0033] Specifically, during the startup of the editor of the target engine, the pre-built target hook file for detecting the third-party software development kit is loaded into the memory, so that the target hook file detects the third-party software development kit. It should be noted that the target hook file can be built only before the target hook file is loaded, which is not limited here.
[0034] Optionally, get a pre-built target hook file for detecting third-party SDKs by:
[0035] Based on the C# syntax rules, a target hook source program for detecting a third-party software development kit can be obtained. The obtained target hook source program is compiled to obtain an executable file corresponding to the target hook source program, and the obtained executable file is used as the target hook file. The target hook source program can be a program code for detecting a third-party software development kit.
[0036] Optionally, load a pre-built target hook file for detecting third-party SDKs by:
[0037] When an opening instruction for opening an editor of a target engine is received, a pre-built target hook file for detecting a third-party software development kit is loaded.
[0038] The opening instruction may be understood as an instruction for opening an editor of the target engine.
[0039] Specifically, when an opening instruction for opening the editor of the target engine is received, the opening operation of the editor of the target engine is started. A pre-built target hook file for detecting a third-party software development kit is loaded into the memory. Optionally, loading the pre-built target hook file into the memory may be loading the pre-built target hook file into the memory through a system Loader.
[0040] In order to facilitate the maintenance and optimization of the target hook file, a file storage location for storing the target hook file can be preset, and then the target hook file can be stored in the file storage location according to the file storage location, so as to load the target hook file quickly and effectively. It should be noted that each time an operation to modify the internal code of the target hook file is received, the modified content is automatically mapped to the target hook file to be updated under the file storage location in the target project, so as to update the target hook file to be updated.
[0041] Exemplarily, the target hook file may be the EnginePreEntryHook.dll file, and the preset file storage location for storing the target hook file is: game project A / EngineDll / HookDll, then the EnginePreEntryHook.dll file may be stored in game project A / EngineDll / HookDll. Further, each time an operation to modify the internal code of EnginePreEntryHook is received, the modified content is automatically mapped to the EnginePreEntryHook.dll under EngineDll in the game project to update the EnginePreEntryHook.dll.
[0042] Optionally, during the startup process of the editor of the target engine, at least one of the following operations may be included:
[0043] Load the target engine's native code library;
[0044] Load the engine plugin layer assembly of the target engine;
[0045] Load the target project assembly of the target engine.
[0046] The native code library can be understood as a system file that supports the operation of the target engine. The language for writing the native code library can be the C++ object-oriented language. Optionally, the native code library can be the UnityEngine.dll library. Loading the native code library of the target engine can be understood as loading the native code library of the target engine into the memory.
[0047] Among them, the engine plug-in layer assembly can be understood as all plug-in files that support the startup of the target engine editor. Optionally, the plug-in files in the engine plug-in layer assembly can include packages and plugins. Among them, the number of packages included in the engine plug-in layer assembly can be one or more, and the number of plugins included in the engine plug-in layer assembly can be one or more. Loading the engine plug-in layer assembly of the target engine can be understood as loading all plug-in files that support the startup of the target engine editor into the memory.
[0048] The target project assembly can be all the program files obtained by developing the target project based on the target engine. For example, the target project is Project, and the program files included in Project are File 1, File 2, and File 3. Then, the target project assembly is File 1, File 2, and File 3. Loading the target project assembly of the target engine can be understood as loading all the program files included in the target project into the memory.
[0049] Optionally, load a pre-built target hook file for detecting third-party SDKs in the following ways:
[0050] Method 1: When it is detected that the native code library of the target engine has been loaded, load the pre-built target hook file for detecting the third-party software development kit.
[0051] Specifically, when it is detected that the native code library of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit may be loaded into the memory.
[0052] Method 2: When it is detected that the engine plug-in layer assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit is loaded.
[0053] Specifically, when it is detected that the engine plug-in layer assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit may be loaded into the memory.
[0054] Method 3: When it is detected that the target engineering assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit is loaded.
[0055] Specifically, when it is detected that the target engineering assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit may be loaded into the memory.
[0056] S120: Determine the startup version number of the third-party software development kit based on the target hook file, and detect the startup version number.
[0057] The startup version number can be understood as the version number loaded by the third-party software development kit during the engine startup process.
[0058] Specifically, after the target hook file is loaded into the memory, the startup version number of the third-party software development kit can be determined based on the target hook file, and then the startup version number can be detected.
[0059] Optionally, the startup version number of the third-party software development kit is determined based on the target hook file in the following manner:
[0060] According to the package name acquisition method included in the target hook file, the package name of the third-party software development kit can be obtained. The obtained package name of the third-party software development kit is used as an actual parameter and passed to the formal parameter of the startup version number determination method included in the target hook file. After the parameter is passed, the startup version number determination method can be executed, and then the startup version number of the third-party software development kit can be determined.
[0061] The package name acquisition method may be a method pre-defined in the target hook file, which can be used to acquire the package name of the third-party software development kit. The startup version number determination method may be a method pre-defined in the target hook file, which can be used to determine the startup version number of the third-party software development kit.
[0062] S130: Determine whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number.
[0063] The detection result of the startup version number may be a result obtained by detecting the startup version number of the third-party software development kit. The detection result of the startup version number may be in compliance with the startup requirements or may not be in compliance with the startup requirements.
[0064] Specifically, after detecting the startup version number of the third-party software development kit, the detection result of the startup version number can be obtained. Further, it can be determined whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number.
[0065] The technical solution of the embodiment of the present invention is to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine. The startup version number of the third-party software development kit is determined based on the target hook file, and the startup version number is detected, thereby realizing automatic detection of the version number of the third-party software development kit during the startup process of the editor. The advantage of such processing is that the version number of the third-party software development kit can be determined more conveniently and quickly. Based on the detection result of the startup version number, it is determined whether to continue to execute the operation of opening the editor of the target engine, thereby realizing automatic detection of the third-party software toolkit, solving the problem that when the project is started in the engine, once the startup version number of the third-party software development kit does not match the required target version number, there are technical problems in the prior art such as flash back, error crash, stuck or crash, thereby achieving the technical effect of optimizing the startup process of the engine editor and avoiding affecting the project process.
[0066] Embodiment 2
[0067] Figure 2 This is a flow chart of a method for starting an engine editor provided in Embodiment 2 of the present invention. Based on the foregoing embodiment, optionally, the startup version number of the third-party software development kit is determined based on the target hook file, and the startup version number is detected, including: calling a target detection class in the target hook file for detecting the third-party software development kit, determining the startup version number of the third-party software development kit, and comparing the startup version number of the third-party software development kit with the target version number of the third-party software development kit in the third-party software development kit library server.
[0068] Among them, technical terms that are the same as or corresponding to the above embodiments are not repeated here.
[0069] like Figure 2 As shown, the method of this embodiment may specifically include:
[0070] S210 . During the startup of the editor of the target engine, a pre-built target hook file for detecting a third-party software development kit is loaded.
[0071] S220, calling the target detection class in the target hook file for detecting the third-party software development kit, determining the startup version number of the third-party software development kit, and comparing the startup version number of the third-party software development kit with the target version number of the third-party software development kit in the third-party software development kit library server.
[0072] The target detection class may be a class predefined in a target hook file, and may be used for detection by a third-party software development kit. Optionally, the target detection class may be PESDKChecking. The third-party software development kit library server may be a server storing a target version number of the third-party software development kit. The target version number may be a version number of the third-party software development kit that needs to be loaded during the startup of the editor of the target engine.
[0073] Specifically, after the target hook file is loaded into the memory, the target detection class in the target hook file for detecting the third-party software development kit can be called, and then the startup version number of the third-party software development kit can be determined. After the startup version number is determined, the startup version number of the third-party software development kit can be compared with the target version number of the third-party software development kit in the third-party software development kit library server.
[0074] It should be noted that the third-party software development toolkit library server can be a cloud server or a local server, and there is no specific limitation here. The third-party software development toolkit library server only needs to implement the function of storing the third-party software development toolkit.
[0075] Since C# is an object-oriented programming language derived from C and C++, C# not only inherits the powerful functions of C and C++, but also reduces the complex features of C and C++. Therefore, the target detection class can be written in C# language, allowing programmers to develop programs more efficiently.
[0076] Optionally, the target detection class for detecting the third-party software development kit in the target hook file is called through the following steps to determine the startup version number of the third-party software development kit, and the startup version number of the third-party software development kit is compared with the target version number of the third-party software development kit in the third-party software development kit library server:
[0077] Step 1: Call the target detection class in the target hook file to detect the third-party software development kit.
[0078] Step 2: After the target detection class is called, the startup version number of the third-party software development toolkit can be determined, and the communication between the target detection class and the third-party software development toolkit library server can be established.
[0079] Step 3: Based on the communication between the target detection class and the third-party software development toolkit library server, the target version number of the third-party software development toolkit in the third-party software development toolkit library server can be determined.
[0080] Step 4: After the startup version number and the target version number are determined, the startup version number and the target version number can be compared.
[0081] Optionally, establish communication between the object detection class and the third-party SDK library server in the following way:
[0082] The communication method predefined in the target detection class is called to establish communication between the target detection class and the third-party software development toolkit library server. The communication method can be used to establish communication between the target detection class and the third-party software development toolkit library server.
[0083] Optionally, compare the startup version number with the target version number as follows:
[0084] The startup version number may be compared with the target version number based on a preset string comparison algorithm. Optionally, the string comparison algorithm may include but is not limited to the following algorithms: KMP (The Knuth-Morris-Pratt) algorithm, BM (Boyer-Moore) algorithm or Bitap (Baeza-Yates–Gonnet) algorithm.
[0085] S230, determining whether the startup version number is inconsistent with the target version number, if the startup version number is inconsistent with the target version number, executing S240; if the startup version number is consistent with the target version number, executing S250.
[0086] Specifically, after comparing the startup version number with the target version number, a comparison result can be obtained. After obtaining the comparison result, it can be determined whether the startup version number is consistent with the target version number. After determining whether the startup version number is consistent with the target version number, a corresponding operation can be performed.
[0087] S240: Call the target update class in the target hook file for updating the third-party software development kit to update the third-party software development kit.
[0088] The target update class may be a class pre-defined in a target hook file, and may be used to update a third-party software development kit. Optionally, the target update class may be PESDKUpdater.
[0089] Specifically, if the startup version number is inconsistent with the target version number, the target update class in the target hook file for updating the third-party software development kit can be called to update the third-party software development kit.
[0090] Optionally, call the target update class in the target hook file for updating the third-party software development kit through the following steps to update the third-party software development kit:
[0091] Step 1: Call the target update class in the target hook file for updating the third-party software development kit.
[0092] Step 2: After the target update class is called, communication between the target update class and the third-party software development toolkit library server can be established.
[0093] Step 3: Based on the communication between the target update class and the third-party software development kit library server, the third-party software development kit is updated.
[0094] Optionally, establish communication between the target update class and the third-party SDK library server in the following manner:
[0095] The communication method predefined in the target update class is called to establish communication between the target update class and the third-party software development toolkit library server. The communication method can be used to establish communication between the target update class and the third-party software development toolkit library server.
[0096] Optionally, the third-party software development kit is updated based on the communication between the target update class and the third-party software development kit library server in the following manner:
[0097] Based on the communication between the target update class and the third-party software development toolkit library server, a third-party software development toolkit with a target version number sent by the third-party software development toolkit library server is received.
[0098] Optionally, the method of updating the third-party software development kit may include but is not limited to the following methods, such as directly replacing the third-party software development kit of the startup version number with the third-party software development kit of the target version number, or upgrading the third-party software development kit of the startup version number to upgrade the third-party software development kit of the startup version number to the third-party software development kit of the target version number.
[0099] S250: Continue to execute the operation of opening the editor of the target engine.
[0100] Specifically, if the startup version number is consistent with the target version number, the operation of opening the editor of the target engine may be continued to open the editor of the target engine.
[0101] The technical solution of this embodiment determines the startup version number of the third-party software development kit by calling the target detection class in the target hook file for detecting the third-party software development kit, and compares the startup version number of the third-party software development kit with the target version number of the third-party software development kit in the third-party software development kit library server. It is determined that the startup version number is inconsistent with the target version number. If the startup version number is inconsistent with the target version number, the target update class in the target hook file for updating the third-party software development kit is called to update the third-party software development kit. If the startup version number is consistent with the target version number, the operation of opening the editor of the target engine can be continued to open the editor of the target engine, thereby achieving the technical effect of further optimizing the startup process of the engine editor and realizing automatic detection of the startup version number of the third-party software development kit.
[0102] Embodiment 3
[0103] Figure 3It is a schematic diagram of a startup device module of an engine editor provided in Embodiment 3 of the present invention. The present invention provides a startup device of an engine editor, which includes: a hook file loading module 310, a version number detection module 320 and a startup operation execution module 330.
[0104] Among them, the hook file loading module 310 is used to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine; the version number detection module 320 is used to determine the startup version number of the third-party software development kit based on the target hook file and detect the startup version number; the startup operation execution module 330 is used to determine whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number.
[0105] The technical solution of the embodiment of the present invention is to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine through a hook file loading module. The startup version number of the third-party software development kit is determined based on the target hook file by the version number detection module, and the startup version number is detected, so that the automatic detection of the version number of the third-party software development kit during the startup process of the editor is realized. The advantage of such processing is that the version number of the third-party software development kit can be determined more conveniently and quickly. The startup operation execution module determines whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number, so as to realize the automatic detection of the third-party software toolkit, solve the problem that when the project is started in the engine, once the startup version number of the third-party software development kit does not match the required target version number, there are technical problems in the prior art such as flash back, error crash, stuck or crash, and the startup process of the engine editor is optimized to avoid affecting the technical effect of the project process.
[0106] Optionally, the version number detection module 320 is used to call the target detection class in the target hook file for detecting the third-party software development kit, determine the startup version number of the third-party software development kit, and compare the startup version number of the third-party software development kit with the target version number of the third-party software development kit in the third-party software development kit library server.
[0107] Optionally, the startup operation execution module 330 is used to call the target update class in the target hook file for updating the third-party software development kit to update the third-party software development kit if the startup version number is inconsistent with the target version number.
[0108] Optionally, the startup operation execution module 330 is used to continue to execute the operation of opening the editor of the target engine if the startup version number is consistent with the target version number.
[0109] Optionally, the hook file loading module 310 is used to load a pre-built target hook file for detecting a third-party software development kit when receiving an opening instruction for opening an editor of a target engine.
[0110] Optionally, during the startup of the editor of the target engine, the hook file loading module 310 also includes at least one of the following operations: loading the native code library of the target engine; loading the engine plug-in layer assembly of the target engine; loading the target engineering assembly of the target engine.
[0111] The hook file loading module 310 is used to load a pre-built target hook file for detecting a third-party software development kit when it is detected that the native code library of the target engine has been loaded; or, when it is detected that the engine plug-in layer assembly of the target engine has been loaded, load a pre-built target hook file for detecting a third-party software development kit; or, when it is detected that the target engineering assembly of the target engine has been loaded, load a pre-built target hook file for detecting a third-party software development kit.
[0112] The above-mentioned device can execute the method for starting the engine editor provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method for starting the engine editor.
[0113] It is worth noting that the various units and modules included in the startup device of the above-mentioned engine editor are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present invention.
[0114] Embodiment 4
[0115] Figure 4 It is a structural schematic diagram of an electronic device provided in Embodiment 4 of the present invention. Figure 4 A block diagram of an exemplary electronic device 12 suitable for implementing any of the embodiments of the present invention is shown. Figure 4 The electronic device 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention. The device 12 is typically an electronic device that is responsible for processing configuration information.
[0116] like Figure 4As shown, the electronic device 12 is in the form of a general purpose computing device. The components of the electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a memory 28, and a bus 18 connecting the various components (including the memory 28 and the processing unit 16).
[0117] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. For example, these architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
[0118] The electronic device 12 typically includes a variety of computer readable media. These media can be any available media that can be accessed by the electronic device 12, including volatile and non-volatile media, removable and non-removable media.
[0119] The memory 28 may include computer device readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The electronic device 12 may further include other removable / non-removable, volatile / non-volatile computer storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 4Not shown, usually referred to as a "hard drive"). Although not shown in the figure, a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (such as a read-only optical disk (Compact Disc-Read Only Memory, CD-ROM), a digital video disk (Digital Video Disc-Read Only Memory, DVD-ROM) or other optical media) can be provided. In these cases, each drive can be connected to the bus 18 via one or more data medium interfaces. The memory 28 can include at least one program product 40, which has a set of program modules 42, which are configured to perform the functions of various embodiments of the present invention. The program product 40 can be stored in, for example, the memory 28, and such program modules 42 include but are not limited to one or more application programs, other program modules and program data, each of which or some combination of these examples may include the implementation of a network environment. The program module 42 generally performs the functions and / or methods in the embodiments described in the present invention.
[0120] The electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboard, mouse, camera, etc., and display), may also communicate with one or more devices that enable a user to interact with the electronic device 12, and / or communicate with any device that enables the electronic device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication may be performed through an input / output (I / O) interface 22. In addition, the electronic device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN) and / or a public network, such as the Internet) through a network adapter 20. As shown, the network adapter 20 communicates with other modules of the electronic device 12 through a bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, disk arrays (Redundant Arrays of Independent Disks, RAID) devices, tape drives, and data backup storage devices.
[0121] The processor 16 executes various functional applications and data processing by running the program stored in the memory 28, for example, implementing the method for starting the engine editor provided in the above embodiment of the present invention, the method comprising:
[0122] During the startup process of the editor of the target engine, a pre-built target hook file for detecting a third-party software development kit is loaded; based on the target hook file, a startup version number of the third-party software development kit is determined, and the startup version number is detected; based on the detection result of the startup version number, it is determined whether to continue to execute the operation of opening the editor of the target engine.
[0123] Of course, those skilled in the art can understand that the processor can also implement the method for starting the engine editor provided by any embodiment of the present invention.
[0124] Embodiment 5
[0125] Embodiment 5 of the present invention further provides a computer-readable storage medium on which a computer program is stored, wherein when the program is executed by a processor, for example, the method for starting the engine editor provided in the above embodiment of the present invention includes:
[0126] During the startup process of the editor of the target engine, a pre-built target hook file for detecting a third-party software development kit is loaded; based on the target hook file, a startup version number of the third-party software development kit is determined, and the startup version number is detected; based on the detection result of the startup version number, it is determined whether to continue to execute the operation of opening the editor of the target engine.
[0127] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0128] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0129] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0130] Computer program code for performing the operation of embodiments of the present invention may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0131] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A method for starting an engine editor, characterized in that: include: During the startup of the target engine's editor, load the pre-built target hook file for detecting third-party software development kits; Determine the startup version number of the third-party software development kit based on the target hook file, and detect the startup version number; Determining whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number; Wherein, the method further comprises: A file storage location for storing a target hook file is created by default, and the target hook file is stored in the file storage location; When receiving an operation to modify the internal code of the target hook file, the modified content is automatically mapped to the target hook file to be updated under the file storage location in the target project, so as to update the target hook file to be updated; Wherein, determining the startup version number of the third-party software development kit based on the target hook file includes: According to the package name acquisition method included in the target hook file, the package name of the third-party software development kit is acquired; The package name of the third-party software development kit obtained is used as an actual parameter and passed to the formal parameter of the startup version number determination method included in the target hook file; After the parameter transfer is completed, the startup version number determination method is executed to determine the startup version number of the third-party software development toolkit.
2. The method according to claim 1, characterized in that Determining the startup version number of the third-party software development kit based on the target hook file and detecting the startup version number includes: The target detection class in the target hook file for detecting the third-party software development toolkit is called to determine the startup version number of the third-party software development toolkit, and the startup version number of the third-party software development toolkit is compared with the target version number of the third-party software development toolkit in the third-party software development toolkit library server.
3. The method according to claim 2, characterized in that The determining whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number includes: If the startup version number is inconsistent with the target version number, the target update class in the target hook file for updating the third-party software development kit is called to update the third-party software development kit.
4. The method according to claim 2, characterized in that: The determining whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number includes: If the startup version number is consistent with the target version number, the operation of opening the editor of the target engine is continued.
5. The method according to claim 1, characterized in that The loading of the pre-built target hook file for detecting third-party software development kits includes: When an opening instruction for opening an editor of a target engine is received, a pre-built target hook file for detecting a third-party software development kit is loaded.
6. The method according to claim 1, characterized in that The process of starting the editor of the target engine also includes at least one of the following operations: Loading the native code library of the target engine; Loading the engine plug-in layer assembly of the target engine; Load the target engineering assembly of the target engine.
7. The method according to claim 6, characterized in that The loading of the pre-built target hook file for detecting third-party software development kits includes: When it is detected that the native code library of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit is loaded; or, When it is detected that the engine plug-in layer assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit is loaded; or, When it is detected that the target engineering assembly of the target engine has been loaded, a pre-built target hook file for detecting a third-party software development kit is loaded.
8. A device for starting an engine editor, characterized in that: include: A hook file loading module, used to load a pre-built target hook file for detecting a third-party software development kit during the startup process of the editor of the target engine; A version number detection module, used to determine the startup version number of the third-party software development kit based on the target hook file, and detect the startup version number; A startup operation execution module, used to determine whether to continue to execute the operation of opening the editor of the target engine based on the detection result of the startup version number; Wherein, the device further comprises: A storage location creation module, used to preset and create a file storage location for storing a target hook file, and store the target hook file in the file storage location; The hook file update module is used for automatically mapping the modified content to the target hook file to be updated under the file storage location in the target project when receiving an operation to modify the internal code of the target hook file, so as to update the target hook file to be updated; Wherein, the version number detection module is also used for: According to the package name acquisition method included in the target hook file, the package name of the third-party software development kit is acquired; The package name of the third-party software development kit obtained is used as an actual parameter and passed to the formal parameter of the startup version number determination method included in the target hook file; After the parameter transfer is completed, the startup version number determination method is executed to determine the startup version number of the third-party software development toolkit.
9. An electronic device, characterized in that: The electronic device comprises: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the engine editor startup method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method for starting the engine editor as claimed in any one of claims 1 to 7 is implemented.
