IEnumerator ThinkAndAct() { _isThinking = true; foreach (AbstractAIBrain utilityAiBrain in UtilityAiBrains) { CalculateOptions(utilityAiBrain); yield return(null); AIOption aiOption = ChooseOption(utilityAiBrain); if (aiOption == null) { continue; } if (SelectedOptions.ContainsKey(utilityAiBrain)) { SelectedOptions[utilityAiBrain] = aiOption; } else { SelectedOptions.Add(utilityAiBrain, aiOption); } aiOption.ExecuteActions(this); yield return(null); } _isThinking = false; }
private void ThinkAndAct() { AIOption option = ChooseOption(); if (option == null) { return; } option.ExecuteActions(this); }