public void SolveNextPresetData() { if (this.card == null) { Debug.Log("Cannot solve the card, because the card is null. Is StartSolvingPresetDataCard called first?"); return; } this.presetIndex++; //if(this.presetIndex >= card.CardData.cardBase.baseBuildingBlockChain.p) if (this.presetIndex >= presetData.Count) { // TODO: preset is done! SolveCard(); return; } DataObject currentDataObject = presetData[this.presetIndex]; if (currentDataObject.objectRef != null) { //data is already set, continue SolveNextPresetData(); return; } playerDataProviderActive = GetPlayerDataProvider(currentDataObject.objectType); // No additional info is required (event itself will tell what is requires, (todo: perhaps later send more info if more specific conditions are required) List <DataHolder> dh = new List <DataHolder>(); dh.Add(new DataHolder("card", this.card)); playerDataProviderActive.request.Raise(dh, this); }
private void ResetCard() { this.card = null; this.presetIndex = -1; //will be set to 0 in SolveNext(); presetData = new List <DataObject>(); playerDataProviderActive = null; }