Abide AddOn Programming Tutorial

This if for tutorials and information for the community to use for great works.
Keep them organized now!..
Post Reply
User avatar
Click16
Posts: 1941
Joined: Mon Dec 31, 2007 4:36 am
Location: United States

Abide AddOn Programming Tutorial

Post by Click16 »

Hello Everyone and Welcome to my Abide AddOn Programming Tutorial.

In this tutorial, I will explain the classes, functions, and members of all of the components used in the Abide AddOn API library.

First off, the Abide AddOn API library and Abide Application can change, and your AddOn will have to be edited to accept the new changes or it won't be loaded. (Abide AddOn API.dll mismatch, or Abide Assembly version mismatch will cause AddOns to not correctly load.)

Remember that all of the AddOns that I've written, as well as all of the application's and API's source code are available for you to download and edit to your liking. https://abide.codeplex.com/SourceControl/latest

Please use this video tutorial to learn how to set up and debug Abide AddOn Projects.
https://www.youtube.com/watch?v=LPdlpEf3_XA

Some of the extra features in the Abide AddOn API aren't finished, and there are some features which are obsolete.

Namespaces
Abide_AddOn_API
Abide_AddOn_API.Classes
Abide_AddOn_API.Halo_2_Beta_Map
Abide_AddOn_API.Halo_2_Map
Abide_AddOn_API.IO
Abide_AddOn_API.Meta
YeloDebug

Classes and Structures
Namespace: Abide_AddOn_API

Class: Abide_AddOn_API.API
Description: Used to gather information from the main program, such as the opened map, selected IndexEntry, or even the currently connected debug Xbox.

Members
Abide_AddOn_API.DebugXbox DebugXbox
Description: Contains information about the connected Xbox or Xbox 360 console.
Issues: Xbox 360 isn't currently supported, and its place is held by an object

Abide_AddOn_API.IndexEntry SelectedIndexEntry
Description: Also known as a Tag, this member gets the currently selected IndexEntry in the TreeView. If a TreeNode isn't selected, this member returns null.
Issues: None.

Abide_AddOn_API.Meta.HaloPlugin SelectedPlugin
Description: Returns a HaloPlugin of the type selected based on the SelectedIndexEntry member. If SelectedIndexEntry is null, or the plugin isn't found, this returns null.
Issues: None.

Abide_AddOn_API.Halo_2_Map.Halo2Map H2Map
Description: Contains information about the opened Halo 2 Map file. If a Halo 2 map isn't opened, this will return null.
Issues: None.

Abide_AddOn_API.Halo_2_Beta_Map.Halo2BetaMap H2BMap
Description: Contains information about the opened Halo 2 Beta Map file. If a Halo 2 Beta map isn't opened, this will return null.
Issues: None.

Methods
Abide_AddOn_API.Meta.HaloPlugin GetPlugin (IndexEntry RequestedTag)
Abide_AddOn_API.Meta.HaloPlugin GetPlugin (string TagClass)
Description: Returns a HaloPlugin using the currently opened Halo Map type, and the Index Entry's Class Name.
Issues: None.

System.void ChangeTag (IndexEntry SelectedTag)
Description: Gets called when the selected tag is changed. This function shouldn't be called by the AddOn.
Issues: None.

System.void ChangeXbox (DebugXbox NewXbox)
Description: Gets called when the debug Xbox is changed. This function shouldn't be called by the AddOn.
Issues: None.

Structure: Abide_AddOn_API.DebugXbox
Description: Container for YeloDebug.Xbox and object Xbox360

Members
YeloDebug.Xbox Xbox
Description: Original Xbox YeloDebug Communications Class.
Issues: None.

System.object Xbox360
Description: Not Implemented Placeholder for Xbox 360 Communications Class.
Issues: Feature not implemented.

Interface: Abide_AddOn_API.IAddOn
Description: Not to be implemented alone, this interface implements basic Abide AddOn functionality.

Members
Abide_AddOn_API.IAddOnHost Host
Description: The host, or owner of the IAddOn. All of the AddOn data is passed to and from the AddOn through IAddOnHost.
Issues: None.

Abide_AddOn_API.API Api
Description: The Application Programming Interface, in which all data concerning the opened Halo Map can be accessed.
Issues: None

Abide_AddOn_API.MapVersion HaloMapVersion
Description: The Halo Map version the AddOn is targeted toward.
Issues: None.

Methods
System.void Initialize ()
Description: Initializes the AddOn for communication with the IAddOnHost.
Issues: None

System.void OnTagChanged(TagChangedEventArgs Args)
Description: Called when the IAddOnHost's Selected Tag is changed.
Issues: None.

System.void OnXboxChanged(XboxChangedEventArgs Args)
Description: Called when the IAddOnHost's Xbox or Xbox360 is changed.
Issues: Xbox 360 class is not implemented.
Image
Post Reply