Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }