| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
After discussions with product management, it was considered best that
this example be removed until it can be improved. There are some bugs
an irregularities that should be cleaned up, and the theme should be
made less violent.
Reviewed-by: Volker Hilsheimer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the need for a "root state" in the machine; or rather,
the machine _is_ the root state.
User code can now pass in a QStateMachine directly to the QState
constructor, instead of machine->rootState().
This also means we could get rid of the "proxying" from the machine
to the root state for things like properties (initialState et al),
finished() signal and auto-reparenting of states (the ChildAdded
event hack).
A fun little side-effect of this change is that it's now possible
to embed state machines within state machines. We can't think of
a good use case yet where you would rather embed a stand-alone
state machine (with its own event processing etc.) rather than
having just a regular nested state, but it's neat and it works.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
| |
|
|
|
|
| |
The define no longer exists.
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
| |
|
|
|
|
| |
It's not done yet, so let's re-add it when it is.
|
|
|
|
|
| |
We decided to remove the const of the eventTest() since some transitions
have dynamic conditions and need to update when eventTest() is called.
|
|
|
|
|
| |
Also fixed: Added some docs and moved the tanks a little so they don't start
partly outside the scene rect.
|
|
|
|
|
| |
Passed parent as 'tank', thus getting a null parent in the GoToLocation state,
which breaks the machine when you transition into the state.
|
|
|
|
| |
This was a leftover from when the setDirection() semantics were broken.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The error state is not a big enough part of the example to justify naming it
after it.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Using *.dll was just a placeholder here. The code is mostly copied from
the Plug&Paint example, and goes through all the plugins to find the compatible
ones with some hacks to find out the application directory on windows and mac.
|
|
|
|
| |
assert in the state machine which needs to be debugged.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Accessing the event can be useful. E.g., onEntry() can do some
common event processing regardless of which transition caused the
state to be entered; onTransition() can be used in combination
with eventTest(), where eventTest() would first check that the
input matches some criteria, and then the actual processing of that
input would be done in onTransition.
|
| |
|
|
|
|
| |
overrides the virtual function.
|
|
|
|
| |
response.
|
|
|
|
| |
loop. Also make sure we set the direction to an angle within 360 degrees.
|
|
|
|
| |
immediately for reverse actions, thus immediately stopping them.
|
| |
|
|
|
|
| |
based on the meta-object system.
|
|
|
|
|
|
| |
and then fire. One of them has an error, which causes it to enter its error
state. The errorstate example has been changed to handle this by disabling
the tank. The rest of the tanks will keep working.
|
| |
|
| |
|
|
|
|
| |
Result of API review.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Decided in API review. The intention of QHistoryState not being
constructible was so that people wouldn't subclass it and reimplement
onEntry()/onExit(), thinking that those functions would actually get
called (which they won't). However, we recently added the entered()
signal to QAbstractState, so people are going to connect to it and
ask why they never get the signal for a QHistoryState. We might as
well make QHistoryState constructible and just document that it
doesn't make sense to subclass it.
|
|
|
|
| |
It's useful and it's simple for us to expose, so let's.
|
|
|
|
|
| |
if there is a transition from one of them (even if the target state of the
transition is inside the region.)
|
|
|
|
|
|
| |
Added cannon firing. There are some problems left: For some reason the parallel
state group does not work properly, so only one tank moves even if you add more.
There also seems to be something wrong with historyState->setDefaultState().
|
| |
|
|
|
|
| |
work at all.
|
|
|
|
|
| |
one such plugin will have a run time error, so the game server needs to use
errorState for handling errors.
|
|
|
|
|
|
|
|
|
|
|
|
| |
It just didn't give us that much.
Typically you just reimplement onEntry/onExit/onTransition
when you want to do something.
We go back to the signals-and-slots approach: states have
entered() and exited() signals that you can connect to.
It's still possible to have an action-based API, but then
you build it on top of the core API, which is OK.
Replacing 4 public classes (and one layer in the hierarchy)
with 2 signals feels good.
|
| |
|
|
|