Skip to content

Conversation

@Spartan322
Copy link
Collaborator

@Spartan322 Spartan322 commented Nov 4, 2021

This is necessary for my changes to the updater, as it relies on PostLoad.

Added HacknetPlugin.PostLoad

  • Operates after all plugins are loaded
  • Common use case is acting upon the plugin list

Added Load, PostLoad, and Unload events

  • Enables organization and separation of load related behavior
  • With Added automated Load attributes #127 load behavior can be automated without a plugin Load method
  • Load and PostLoad events run after their method counterparts
  • Unload events run before its method counterpart
  • PostLoad and Unload are patches to the related HacknetPlugin methods
  • Load is patched to postfix HacknetChainloader.LoadPlugin

Added Assembly indexer getter to AssemblyAssociatedList

  • Enables retrieving Assembly specific lists
  • Useful for Load events

Added EventManager.InvokeAssembly

  • Used for Load events

EventManager's invoke behavior put into a private static method

	Operates after all plugins are loaded
	Common use case is acting upon the plugin list
Added Load, PostLoad, and Unload events
	Enables organization and separation of load related behavior
	With #127 load behavior can be automated without a plugin Load method
	Load and PostLoad events run after their method counterparts
	Unload events run before its method counterpart
	PostLoad and Unload are patches to the related HacknetPlugin methods
	Load is patched to postfix HacknetChainloader.LoadPlugin
Added Assembly indexer getter to AssemblyAssociatedList
	Enables retrieving Assembly pure assembly lists
	Useful for Load events
Added EventManager.InvokeAssembly
	Used for Load events
EventManager's invoke behavior put into a central private static method
	Enables calling events, like for custom events
	Does not consider plugin ownership of the event
@Windows10CE Windows10CE merged commit 7fb9d55 into develop Nov 8, 2021
@Spartan322 Spartan322 deleted the feature/load-events+postload branch November 8, 2021 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants