CustomTutorials-2.0

This library makes easy the creation of custom tutorials for your addons. It provides the following API:

  • .RegisterTutorials(id, data)
  • .TriggerTutorial(id, index, force)
  • .ResetTutorials(id)
  • .GetTutorials(id)

Accessing

The easiest way to access CustomTutorials methods is to embed them into your addon object:

local Tutorials = LibStub("CustomTutorials-2.0")
Tutorials:Embed(MyObject)

But you may also set CustomTutorials as a local variable and call the methods directly.

Tutorials.RegisterTutorials("MyTutorial", {
  -- data goes here
})

Registering

First of all, you must register the new tutorials for you addon:

MyAddon:RegisterTutorials({
  savedvariable = "MyAddon_TutorialsSavedVariable",
  title = "MyAddons",
  {  -- This is tutorial #1
    text = "Hello",
    image = "SomeImage",
  },
  {  -- Tutorial #2
    text = "Bye",
  }
})

Currently, these are the arguments supported for the registering table (General) and for each tutorial (all of them are optional):

General Arguments
savedvariable If set, CustomTutorials will memorize which tutorials the user has already seen between sessions and manage which to show for you
title If set, it is used as the default title when not provided for the tutorial itself
Tutorial Arguments
title
text
textX, textY
image
imageX, imageY
shine The frame to anchor the flashing "look at me!" glow
shineTop, shineBottom, shineLeft, shineRight
height CustomTutorials should be able to manage the window height most cases for you, but you can set it yourself.
anchor Which frame to anchor the tutorial window (defaults to UIParent)
point Which point to anchor the tutorial with (defaults to Center)
relPoint Which point to anchor the tutorial to (if not provided, will use point instead)
x, y

Triggering

Finally, you need to tell CustomTutorials when you want the tutorials to be shown. If you provided the savedvariable argument, you won't have to worry about which ones the user has already seen neither to save that information. CustomTutorials will handle that for you:

-- Shows up to tutorial #3 if the user has not seen it already
MyAddon:TriggerTutorial(3)
-- Shows tutorial #3. Yeah, you forced it.
MyAddon:TriggerTutorial(3, true)

Example

This example registers 3 tutorials; shows tutorial #1 when the user loads the addon for the first time; shows tutorials #2 and #3 when MyAddon_OnSomeEvent is called for the first time; and allows the user to see the tutorials again when MyAddon_OnHelpRequest is called.

MyAddon:RegisterTutorials( {
  savedvariable = "MyAddon_TutorialsState",
  {
    text = "Welcome to MyAddon",
    shine = MyAddon,
  },
  {
    text = "This is helpfull",
  },
  {
    text = "I hope you enjoyed this tutorial example.",
    image = 'ByeImage',
  },
})

function MyAddon_OnInitialize()
  -- Show welcome
  MyAddon:TriggerTutorial(1)
end

function MyAddon_OnSomeEvent()
  -- Show #2 and unlock #3
  MyAddon:TriggerTutorial(3)
end

function MyAddon_OnHelpRequest()
  -- Show tutorials again when the user asks
  MyAddon:TriggerTutorial(1, true)
end

Download

File Name Status Version Downloads Date
5 R 4.0.3a 1,736 30/01/2011
1 R 4.0.3 175 19/11/2010
1 R 3.3.0 192 04/03/2010
CustomTutorials-2.0 7.3.0 Updating 7.3.0 Updating Updating
CustomTutorials-2.0 7.3.2 Updating 7.3.2 Updating Updating
CustomTutorials-2.0 7.3.5 Updating 7.3.5 Updating Updating
CustomTutorials-2.0 8.0.1 Updating 8.0.1 Updating Updating
CustomTutorials-2.0 8.1.0 Updating 8.1.0 Updating Updating
CustomTutorials-2.0 8.1.5 Updating 8.1.5 Updating Updating
CustomTutorials-2.0 8.2.0 Updating 8.2.0 Updating Updating
CustomTutorials-2.0 8.2.5 Updating 8.2.5 Updating Updating
CustomTutorials-2.0
CustomTutorials-2.0

Dear youtuber!
Have you a channel youtube and want to bring your Video to quality visitors?
Do you want your video to appear on our website?
Do you want to become partner with us?
Just 3 steps to become our partner:
Step 1: Make video review for mods, addons, plugins, ... which you like
Step 2: Upload this video to youtube and our link to your video description
Step 3: Send the youtube video link via message to http://fb.com/9lifehack or leave a comment in the post. We will add your video in the our post, it will help you have more view.
JOIN to get more youtube view with us!!!!

Related Posts

Smarty Productivity Happiness

9LifeHack.com - make things smart