public bool RemoveChallengeListener(ChallengeCallback callback, object userData)
    {
        ChallengeListener item = new ChallengeListener();

        item.SetCallback(callback);
        item.SetUserData(userData);
        return(this.m_challengeListeners.Remove(item));
    }
    public bool AddChallengeListener(ChallengeCallback callback, object userData)
    {
        ChallengeListener item = new ChallengeListener();

        item.SetCallback(callback);
        item.SetUserData(userData);
        if (this.m_challengeListeners.Contains(item))
        {
            return(false);
        }
        this.m_challengeListeners.Add(item);
        return(true);
    }
 public bool RemoveChallengeListener(ChallengeCallback callback)
 {
     return(this.RemoveChallengeListener(callback, null));
 }
 public bool AddChallengeListener(ChallengeCallback callback)
 {
     return(this.AddChallengeListener(callback, null));
 }