public void AddKeywordAndResponse(string methodPurpose, List <string> lstKeywords, UnityEvent response) { if (myKeywordsAndResponses.Any(kar => kar.Keywords == lstKeywords)) { return; } var NewKeywordsAndResponses = new MyBetterKeywordAndResponse[myKeywordsAndResponses.Length + 1]; for (int i = 0; i < myKeywordsAndResponses.Length; i++) { NewKeywordsAndResponses[i] = myKeywordsAndResponses[i]; } NewKeywordsAndResponses[myKeywordsAndResponses.Length] = new MyBetterKeywordAndResponse() { MethodPurpose = methodPurpose, Keywords = lstKeywords, Response = response }; myKeywordsAndResponses = NewKeywordsAndResponses; //responses.Clear(); //responses = new Dictionary<string, UnityEvent>(); foreach (string keyword in lstKeywords) { responses.Add(keyword, response); } Restart(); }
public void RemoveKeyword(List <string> lstKeywords) { if (myKeywordsAndResponses.Any(kar => kar.Keywords == lstKeywords)) { return; } var NewKeywordsAndResponses = new MyBetterKeywordAndResponse[myKeywordsAndResponses.Length - 1]; for (int i = 0, j = 0; i < myKeywordsAndResponses.Length; i++) { if (myKeywordsAndResponses[i].Keywords != lstKeywords) { NewKeywordsAndResponses[j++] = myKeywordsAndResponses[i]; } } myKeywordsAndResponses = NewKeywordsAndResponses; Restart(); }