public override void Deactivate(AgentMemory agentMemory)
        {
            ExampleNodeData data = agentMemory.GetObject(ID) as ExampleNodeData;

            System.Diagnostics.Trace.WriteLine("Number of ticks in five seconds: " + data.NumberOfTicks);
            agentMemory.SetObject(ID, null);
        }
        public override TickResult Tick(AgentMemory agentMemory)
        {
            ExampleNodeData data = agentMemory.GetObject(ID) as ExampleNodeData;

            if (data == null)
            {
                return(TickResult.Error);
            }

            TickResult result = TickChild(hiddenWaitNode, agentMemory);

            if (result == TickResult.Running)
            {
                data.NumberOfTicks++;
                return(TickResult.Running);
            }
            else
            {
                return(TickResult.Success);
            }
        }
        public override void Activate(AgentMemory agentMemory)
        {
            ExampleNodeData data = new ExampleNodeData();

            agentMemory.SetObject(ID, data);
        }