public void GetAllFusion(Action <bool> callback = null, int retry = 3) { Fusion.GetAll(false, (List <Fusion> fusions, NPNFError error) => { if (error == null) { for (int i = 0; i < fusions.Count; i++) { if (fusions[i].Name.Equals(GENERATE_RELEASE_PRODUCT)) { commitToReleaseProduct = fusions[i].Prices[0].Currencies[0].Count; } else if (fusions[i].Name.Equals(HIRE_NEW_ENGINEER_FUSION)) { goldToEngineer = fusions[i].Prices[0].Currencies[0].Count; } } if (callback != null) { callback(true); } } else { retry--; if (retry > 0) { GetAllFusion(callback, retry); } else { if (callback != null) { callback(false); } } } }); }