public void OnClickClaim() { List <Resource> resourceClaims = new List <Resource>(); bool isEmpty = true; for (int i = 0; i < dataCondition.Count && i < dailyRewardElements.Count; i++) { if (dataCondition[i].opened && !dataCondition[i].recieved) { resourceClaims.Add(dailyRewardElements[i].Resource); dataCondition[i].recieved = true; dailyRewardElements[i].SetElementState(dataCondition[i]); isEmpty = false; } else if (!dataCondition[i].opened) { break; } } if (isEmpty) { return; } // if daily complete, it will reset if (dataPlayer.Complete()) { // SetElementState for all element for (int i = 0; i < dataCondition.Count && i < dailyRewardElements.Count; i++) { dailyRewardElements[i].SetElementState(dataCondition[i]); } } dataMoney.AddManyMoney(resourceClaims); dataPlayer.Save(); }