Esempio n. 1
0
        public void RecordTimeStamp()
        {
            TimeStampData timeStampData = new TimeStampData();

            timeStampData.players  = CloneConfigs(config.players);
            timeStampData.boxes    = CloneConfigs(config.boxes);
            timeStampData.walls    = CloneConfigs(config.walls);
            timeStampData.exits    = CloneConfigs(config.exits);
            timeStampData.gates    = CloneConfigs(config.gates);
            timeStampData.switches = CloneConfigs(config.switches);

            // Clean up textures for leaks
            Destroy(timeStampData.snapshotTexture);
            Destroy(timeStampData.snapshotSprite);

            timeStampData.snapshotTexture = GenerateSnapShotTexture();
            timeStampData.snapshotSprite  = GenerateSnapShotSprite(timeStampData.snapshotTexture);

            if (config.timeStampData.Count >= 10)
            {
                TimeStampData tsd = Bit.Utils.Slice(config.timeStampData, 0);

                Destroy(tsd.snapshotTexture);
                Destroy(tsd.snapshotSprite);

                config.timeStampData.RemoveAt(0);
            }

            config.timeStampData.Add(timeStampData);
        }
Esempio n. 2
0
        public void Open()
        {
            scrollViewOpen = !scrollViewOpen;
            scrollView.SetActive(scrollViewOpen);

            foreach (GameObject g in scrollViewContent)
            {
                Destroy(g);
            }

            scrollViewContent.Clear();

            // choose 3 or less from stamp data
            int           timeStampCount = config.timeStampData.Count;
            RectTransform contentRect    = contentDisplay.gameObject.GetComponent <RectTransform>();
            Vector2       sizeD          = contentRect.sizeDelta;

            sizeD.x = 560.0f * timeStampCount;
            contentRect.sizeDelta = sizeD;

            for (int i = 0; i < timeStampCount; ++i)
            {
                GameObject g = Instantiate(prefabImage);
                g.transform.SetParent(contentDisplay);

                TimeStampData timeStampData = config.timeStampData[i];

                RectTransform rectTransform = g.GetComponent <RectTransform>();

                Vector2 anchoredPos = rectTransform.anchoredPosition;
                anchoredPos.x = (500.0f * i) + (50.0f * (i + 1));
                anchoredPos.y = 0;
                rectTransform.anchoredPosition = anchoredPos;

                Image image = g.GetComponent <Image>();
                image.sprite = timeStampData.snapshotSprite;

                Button button = g.GetComponent <Button>();
                button.onClick.AddListener(() => ClickTimeStamp(timeStampData));

                scrollViewContent.Add(g);
            }
        }
Esempio n. 3
0
        private void ClickTimeStamp(TimeStampData pTimeStampData)
        {
            scrollViewOpen = !scrollViewOpen;
            scrollView.SetActive(scrollViewOpen);

            foreach (GameObject g in scrollViewContent)
            {
                Image image = g.GetComponent <Image>();
                image.sprite = null;

                Button button = g.GetComponent <Button>();
                button.onClick.RemoveAllListeners();

                Destroy(g);
            }

            scrollViewContent.Clear();

            OnTimeStampClicked?.Invoke(pTimeStampData);
        }