/// <summary> /// Gets the success rate string. /// </summary> /// <returns> /// The counter success rate text. /// </returns> /// <param name='counters'> /// Counters. /// </param> /// <param name='success'> /// Success. /// </param> /// <param name='tries'> /// Tries. /// </param> string GetCounterSuccessRateText(Dictionary<ActionCounters, int> counters, ActionCounters success, ActionCounters tries) { //Will return "(success)/(base) ( {(success)/(base) %} )" unelss zero then will do "0/0" return ((counters[tries] > 0) ? string.Format("{0}/{1} ( {2:P} )", counters[success], counters[tries], counters[success] / (float)counters[tries]) : "0/0"); }
/// <summary> /// Initializes a new instance of the <see cref="Crafting_Parser.CraftingParser.Action"/> class. /// </summary> /// <param name='name'> /// Name. /// </param> /// <param name='signerature'> /// Signerature. /// </param> /// <param name='tries'> /// Tries. /// </param> /// <param name='func'> /// Func. /// </param> public Action(string name, string signerature, ActionCounters uses, ActionFunction func) { actionName = name; usesCounter = uses; logSignerature = signerature; actionFunction = func; }
/// <summary> /// Initializes a new instance of the <see cref="Crafting_Parser.CraftingParser.FailableAction"/> class. /// </summary> /// <param name='name'> /// Name. /// </param> /// <param name='signerature'> /// Signerature. /// </param> /// <param name='tries'> /// Try Counter. /// </param> /// <param name='successes'> /// Success Counter. /// </param> /// <param name='func'> /// Func. /// </param> public FailableAction(string name, string signerature, ActionCounters uses, ActionCounters successes, ActionFunction func) : base(name, signerature, uses, func) { successCounter = successes; }