Tree("Root") { Decorator (LoopInFrame) { Composite (Sequence) { ManualTick.AlignDirection() RunTree("FollowLeftWall") } } } Tree("FollowLeftWall") { Composite (Selector) { Composite (Sequence) { ManualTick.FpsCounter() ManualTick.Fail() } Composite (Sequence) { ManualTick.CheckDirectionFree(0,-1) // left ManualTick.CheckDirectionFree(1,0) // front ManualTick.CheckDirectionOccupied(1,-1) // front/left ManualTick.MoveDirection() ManualTick.DebugLog("1") } Composite (Sequence) { ManualTick.CheckDirectionFree(0,-1) // left ManualTick.CheckDirectionOccupied(-1,-1) // back/left ManualTick.TurnLeft() ManualTick.DebugLog("2") } Composite (Sequence) { ManualTick.CheckDirectionOccupied(0,-1) // left ManualTick.CheckDirectionFree(1,0) // front ManualTick.MoveDirection() ManualTick.DebugLog("3") } Composite (Sequence) { ManualTick.CheckDirectionOccupied(0,-1) // left ManualTick.CheckDirectionOccupied(1,0) // front ManualTick.TurnRight() ManualTick.DebugLog("4") } Composite (Sequence) { ManualTick.CheckDirectionOccupied(1,0) // front ManualTick.CheckDirectionFree(0,-1) // left ManualTick.TurnRight() ManualTick.DebugLog("5") } } }