/// <summary> /// Storing the hole state of the agent /// </summary> /// <param name="argAgentToStore">agent to store</param> public void StoreAgent(Agent argAgentToStore) { StoredInformation st = new StoredInformation(); //Information to store, includes the agent st.StoredInfo = argAgentToStore; if (StoredAgents.ContainsKey(argAgentToStore)) { StoredAgents[argAgentToStore].Clear(); StoredAgents[argAgentToStore].Add(st); } else { List <StoredInformation> lst = new List <StoredInformation>(); lst.Add(st); StoredAgents.Add(argAgentToStore, lst); } }
} //Dictionary with memories about other agents: <reference to the agent(id), info about agent>. #endregion public void StoreAction(Agent argAgentSender, ActionAbstract argAction) { StoredInformation st = new StoredInformation(); //New information to store st.StoredInfo = argAction.CharacteristicsOfSubject(); if (StoredAgents.ContainsKey(argAgentSender)) { if (!(StoredAgents[argAgentSender].Exists(obj => { return(obj.StoredInfo == argAction.CharacteristicsOfSubject()); }))) { StoredAgents[argAgentSender].Add(st); } } else { List <StoredInformation> lst = new List <StoredInformation>(); //New list to store new agent lst.Add(st); StoredAgents.Add(argAgentSender, lst); } }