Exemple #1
0
    // 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;
 }