What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

mistahmikey

New Member
Joined
Jun 29, 2015
Messages
161
RaptureATKUnitManager.GetWindowByName:

Is there any easy way to determine what "name" string to use? If not, would it be possible for the devs to provide a function to enumerate them from the game?

RaptureATKUnitManager.Update:

Could you please explain what this function does and when it makes sense to use it? In particular, does it synchronize the caller with the current state of the underlying windowing system?

RaptureATKUnitManager.Controls/GetRawControls:

What is the difference between "Controls" and "RawControls"? When would I want to use one over the other?

<RemoteWindow>.IsOpen versus <AtkAddonControl>.IsValid:

What does IsValid true/false actually mean and under what circumstances does it's value change? Does IsOpen check IsValid, or should I be doing that before calling IsOpen?
 
1)
Code:
foreach (var foundwindow in RaptureAtkUnitManager.GetRawControls)
 {
Log("{0}",foundwindow);
 }


GetRawControls does not use caching and just retrieves the list of active windows, this should be used when operating in a thread outside the main bot thread.
Update updates the caching list and is called via the pulsator, the rebornconsole is kinda naughty and just pulses everything via Pulsator.Pulse(PulseFlags.All); since its operating in a different thread. This is something that you should never do in an actual plugin.

All the RemoteWindow classes are implemented a bit strangely, they all inherit atkaddoncontrol which also inherits remoteobject which provides the IsVaid (which checks to make sure the objects pointer is not zero). Most of the remote window functions are declared as static to make them easier to access and are implemented along these lines

Code:
        public static bool IsOpen
        {
            get
            {
                var window = RaptureAtkUnitManager.GetWindowByName("Request");
                if (window != null)
                {
                    return true;
                }
                return false;
            }
        }

You can assume if window isopen is true then it is also valid but not the other way around.
 
Back
Top