public bool IsStepReachable()
 {
     if (reachConditionName == "")
     {
         return(true);
     }
     else if (ClassReflector.HasProperty(quest, reachConditionName))
     {
         return(ClassReflector.GetBoolProperty(quest, reachConditionName));
     }
     else if (ClassReflector.HasMethod(quest, reachConditionName))
     {
         return(ClassReflector.DynamicInvokeBool(quest, reachConditionName, this));
     }
     else
     {
         throw new System.Exception("The given reachConditionName (" + reachConditionName + ") isn't an existing property or method in the associated quest.");
     }
 }