ZeroBrane studio
#24
(03-01-2014, 11:15 PM)xoft Wrote: Actually it's been done this way ever since we updated the hooks to support multiple registrations with arbitrary handler functions. It allows us to enclose the full functionality of a part of the plugin into one file, without the need to call any special function.

Consider the WorldEdit plugin, for example. It now uses a cPlayerState Lua class that tracks (almost) all of the state for a single player, including the selection. So it's only natural that it registers the hooks that it needs for keeping track of the selection; the hooks are registered in code outside of any functions, so that it executes as soon as MCS loads the plugin.
In this case there isn't really a problem anyway, the order of initialization is decided in a single file and is not dependent on other files.

(03-01-2014, 11:15 PM)xoft Wrote: The Info.lua file is another example - it lists the commands, permissions, documentation and also the handlers; as such it must be a global structure (so that it can be read by external tools such as InfoDump.lua), yet it has to reference functions that are defined in other files.
You could consider wrapping it in a function instead of storing it in a variable. Then it is only evaluated when the function is called eliminating the problem of order of initialization.
Reply
Thanks given by:


Messages In This Thread
ZeroBrane studio - by xoft - 02-22-2014, 11:10 PM
RE: ZeroBrane studio - by FakeTruth - 02-23-2014, 12:14 AM
RE: ZeroBrane studio - by xoft - 02-23-2014, 12:30 AM
RE: ZeroBrane studio - by paulclinger - 02-24-2014, 04:01 PM
RE: ZeroBrane studio - by xoft - 02-24-2014, 05:19 PM
RE: ZeroBrane studio - by paulclinger - 02-25-2014, 09:02 AM
RE: ZeroBrane studio - by FakeTruth - 02-25-2014, 04:39 PM
RE: ZeroBrane studio - by paulclinger - 02-26-2014, 05:54 AM
RE: ZeroBrane studio - by FakeTruth - 02-24-2014, 10:54 PM
RE: ZeroBrane studio - by xoft - 02-25-2014, 08:36 AM
RE: ZeroBrane studio - by xoft - 02-25-2014, 09:25 AM
RE: ZeroBrane studio - by paulclinger - 02-25-2014, 01:56 PM
RE: ZeroBrane studio - by FakeTruth - 02-27-2014, 04:40 AM
RE: ZeroBrane studio - by paulclinger - 02-28-2014, 08:55 AM
RE: ZeroBrane studio - by xoft - 02-28-2014, 01:08 AM
RE: ZeroBrane studio - by xoft - 02-28-2014, 06:27 AM
RE: ZeroBrane studio - by xoft - 03-01-2014, 01:29 AM
RE: ZeroBrane studio - by paulclinger - 03-01-2014, 03:58 AM
RE: ZeroBrane studio - by xoft - 03-01-2014, 11:53 AM
RE: ZeroBrane studio - by paulclinger - 03-01-2014, 04:43 PM
RE: ZeroBrane studio - by xoft - 03-01-2014, 09:45 PM
RE: ZeroBrane studio - by FakeTruth - 03-01-2014, 11:00 PM
RE: ZeroBrane studio - by xoft - 03-01-2014, 11:15 PM
RE: ZeroBrane studio - by FakeTruth - 03-02-2014, 12:17 AM
RE: ZeroBrane studio - by paulclinger - 03-02-2014, 04:24 AM
RE: ZeroBrane studio - by paulclinger - 03-03-2014, 10:43 AM
RE: ZeroBrane studio - by xoft - 03-04-2014, 06:44 PM
RE: ZeroBrane studio - by paulclinger - 03-05-2014, 03:07 AM
RE: ZeroBrane studio - by xoft - 03-05-2014, 03:37 AM
RE: ZeroBrane studio - by xoft - 03-17-2014, 06:17 AM
RE: ZeroBrane studio - by paulclinger - 03-17-2014, 01:09 PM
RE: ZeroBrane studio - by xoft - 03-17-2014, 07:20 PM
RE: ZeroBrane studio - by xoft - 03-20-2014, 07:47 AM
RE: ZeroBrane studio - by xoft - 04-01-2014, 02:14 AM
RE: ZeroBrane studio - by bearbin - 04-01-2014, 05:04 AM
RE: ZeroBrane studio - by NiLSPACE - 04-12-2015, 03:33 AM
RE: ZeroBrane studio - by xoft - 04-12-2015, 03:48 AM
RE: ZeroBrane studio - by NiLSPACE - 04-12-2015, 03:51 AM
RE: ZeroBrane studio - by xoft - 07-25-2015, 04:09 PM



Users browsing this thread: 7 Guest(s)