public void UpdateEmotion(EmotionDTO oldEmotion, EmotionDTO newEmotion) { _rpcAsset.RemoveEmotion(oldEmotion); _rpcAsset.AddActiveEmotion(newEmotion); Emotions.DataSource = _rpcAsset.GetAllActiveEmotions().ToList(); Emotions.Refresh(); }
private IEnumerator UpdateEmotionalState(float updateTime) { while (true) { var SIPlayerAgent = agent1RPC.GetBeliefValue("ToM(Player, SI(SELF))"); var SIAgentPlayer = agent1RPC.GetBeliefValue("SI(Player)"); if (!agent1RPC.GetAllActiveEmotions().Any()) { this.AgentInternalStateText.text = "Mood: " + agent1RPC.Mood + ", Emotions: [], SI(A,P): " + SIAgentPlayer + " SI(P,A): " + SIPlayerAgent; } else { var aux = "Mood: " + agent1RPC.Mood + ", Emotions: ["; StringBuilder builder = new StringBuilder(); var query = agent1RPC.GetAllActiveEmotions().OrderByDescending(e => e.Intensity); foreach (var emt in query) { builder.AppendFormat("{0}: {1:N2}, ", emt.Type, emt.Intensity); } aux += builder.Remove(builder.Length - 2, 2); this.AgentInternalStateText.text = aux + "], SI(A,P): " + SIAgentPlayer + " SI(P,A): " + SIPlayerAgent; } agent1RPC.Update(); yield return(new WaitForSeconds(updateTime)); } }
private void showEmotions() { string emotions = ""; foreach (var emotion in _rpc.GetAllActiveEmotions()) { emotions += " " + emotion.Type.ToString(); } Console.WriteLine(_agentName + "---" + "Emotions: " + emotions); }
public void UpdateFields(RolePlayCharacterAsset rpc) { StringBuilder builder = new StringBuilder(); bool notFirst = false; var query = rpc.GetAllActiveEmotions().GroupBy(e => e.Type).Select(g => g.OrderByDescending(e => e.Intensity).First()).OrderByDescending(e => e.Intensity); foreach (var emt in query) { if (notFirst) { builder.AppendLine(); } builder.AppendFormat("{0}: {1:N2}", emt.Type, emt.Intensity); notFirst = true; } m_emotionFieldOne.text = builder.ToString(); m_moodFieldOne.text = string.Format("Mood: {0:N2}", rpc.Mood); }
public EmotionalStateVM(RolePlayCharacterAsset asset) { _rpcAsset = asset; Emotions = new BindingListView <EmotionDTO>(_rpcAsset.GetAllActiveEmotions().ToList()); }