// Update is called once per frame void Update() { condensedReports.Clear(); var status = DFConnection.Instance.PopStatusUpdate(); if (status != null) { foreach (var report in status.reports) { if (usedIDs.Contains(report.id)) { continue; } if (report.continuation && condensedReports.Count > 0) { condensedReports[condensedReports.Count - 1].text += (" " + report.text); } else { condensedReports.Add(report); } usedIDs.Add(report.id); } } //don't bother displaying a silly amount of reports. for (int i = Mathf.Max(condensedReports.Count - 30, 0); i < condensedReports.Count; i++) { var report = condensedReports[i]; switch ((AnnouncementType)report.type) { case AnnouncementType.REGULAR_CONVERSATION: case AnnouncementType.CONFLICT_CONVERSATION: var bubble = Instantiate(speechBubble, GameMap.DFtoUnityCoord(report.pos), Quaternion.identity, transform); bubble.GetComponentInChildren <Text>().text = report.text; break; default: OnscreenConsole.ShowMessage(report.text, 30, new Color32((byte)report.color.red, (byte)report.color.green, (byte)report.color.blue, 255)); break; } } }
// Use this for initialization void Awake() { _instance = this; }