References:
API GetLFGRoles - WoWWiki - Your guide to the World of Warcraft
GetLFGRoles - World of Warcraft Programming: A Guide and Reference for Creating WoW Addons
Sample code that works:
My code that doesn't work:
RoleType:
PrioritySelector:
SetRoles:
Output:
API GetLFGRoles - WoWWiki - Your guide to the World of Warcraft
GetLFGRoles - World of Warcraft Programming: A Guide and Reference for Creating WoW Addons
Sample code that works:
Code:
local isLeader, isTank, isHealer, isDPS = GetLFGRoles()
print(format("Leader: %s, Tank: %s, Healer: %s, DPS: %s", tostring(isLeader), tostring(isTank), tostring(isHealer), tostring(isDPS)))
Code:
/run print(GetLFGRoles())
My code that doesn't work:
Code:
private bool IsRole(RoleType type)
{
bool result = Lua.GetReturnVal<bool>("return GetLFGRoles()", 0);
Log("Roles: {0}, {1}, {2}", type, result, (uint)type);
return result;
}
RoleType:
Code:
public enum RoleType
{
Leader,
Tank,
Healer,
Damager
}
PrioritySelector:
Code:
return new PrioritySelector(
new Decorator(Delegator => !IsRole(RoleType.Damager) && !IsRole(RoleType.Healer) && !IsRole(RoleType.Tank),
new Sequence(
new ActionLogMessage(false, "Selecting roles from our current talents."),
new TreeSharp.Action(Delegator => SetRoles(true, false, false, true)),
new ActionLogMessage(false, "We have selected damager role.")
)
)
);
SetRoles:
Code:
private void SetRoles(bool leader, bool tank, bool healer, bool damage)
{
Lua.DoString(string.Format("SetLFGRoles({0},{1},{2},{3})", leader.ToString().ToLower(), tank.ToString().ToLower(), healer.ToString().ToLower(), damage.ToString().ToLower()));
}
Output:
Code:
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.