public override bool Perform() { var axe = m_ToolDispenser.RetrieveWoodenAxe(); if (axe != null) { m_Inventory.equippedTool = axe; m_HasAxe = true; return(true); } else { // we got there but there was no tool available! Someone got there first. Cannot perform action return(false); } }