コード例 #1
0
    private void _initializeNewsItem(NewsItem newsItem)
    {
        var item = Instantiate(_newsItem, _newsList.transform, false);

        item.transform.Find("Date").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(newsItem.Date).ToLongDateString() + " " + InfoStorage
            .UnixTimeStampToDateTime(newsItem.Date)
            .ToLongTimeString();
        item.transform.Find("Text").GetComponent <Text>().text = newsItem.Info;
        item.transform.Find("More").GetComponent <NewsExpansion>().InitializeExpansion();

        var imageContainer = item.transform.Find("ScrollSnap");
        var parentRt       = imageContainer.GetComponent <RectTransform>();

        var image = newsItem.Image;

        if (image == "")
        {
            var imageObj = Instantiate(_image, imageContainer, false);
            imageObj.GetComponent <RectTransform>().sizeDelta = new Vector2(parentRt.sizeDelta.x, parentRt.sizeDelta.y);

            imageObj.GetComponent <Image>().sprite = Temp;
        }
        else
        {
            var imageObj = Instantiate(_image, imageContainer, false);
            imageObj.GetComponent <RectTransform>().sizeDelta = new Vector2(parentRt.sizeDelta.x, parentRt.sizeDelta.y);

            StartCoroutine(imageObj.GetComponent <ImageDownloader>().DownloadImage(newsItem.Id, image));
        }
    }
コード例 #2
0
        /// <summary>
        /// Serialize modules statuses tree
        /// </summary>
        /// <param name="mLogger">
        /// The m Logger.
        /// </param>
        /// <param name="modules">
        /// The modules.
        /// </param>
        public void SaveConfiguration(ILog mLogger, InfoStorage modules)
        {
            string tempLocation = string.Format(@"{0}\{1}\{2}", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), CONFIG_DIR, TEMP_DIR);

            if (!Directory.Exists(tempLocation))
            {
                Directory.CreateDirectory(tempLocation);
            }

            XmlSerializer     serializer     = new XmlSerializer(typeof(TempModuleState));
            XmlWriterSettings writerSettings = new XmlWriterSettings
            {
                OmitXmlDeclaration = true
            };
            var tmpSave = new TempModuleState
            {
                ModuleStatus = new List <ModuleStatusInfo>()
            };

            foreach (var component in modules.ModulesInfo)
            {
                tmpSave.ModuleStatus.Add(new ModuleStatusInfo
                {
                    Name           = component.Name,
                    ProcessId      = component.ProcessId,
                    Status         = component.Status,
                    SendAutoFixing = component.SendAutoFixing
                });
            }

            using (XmlWriter xmlWriter = XmlWriter.Create(string.Format(@"{0}\{1}", tempLocation, MODULES_TEMP_FILE_NAME), writerSettings))
            {
                serializer.Serialize(xmlWriter, tmpSave);
            }
        }
コード例 #3
0
    private void _initializeEventNewScreenExtension(ProgrammeItem programmeItem)
    {
        var gameObjList = _getRelativeGameObject(InfoStorage.UnixTimeStampToDateTime(programmeItem.Start));

        if (gameObjList == null)
        {
            return;
        }

        var item      = Instantiate(_programmeItemNewScreen, gameObjList.transform, false);
        var extension = Instantiate(_progammeExtension, _extensionList.transform, false);

        item.transform.Find("Item/Information").GetComponent <OpenExtension>().ProgrammeExpansion =
            extension.GetComponent <ProgrammeExpansion>();

        item.transform.Find("Item/Square/Time/Start").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.Start).ToShortDateString();
        item.transform.Find("Item/Square/Time/End").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.End).ToShortTimeString();
        item.transform.Find("Item/Information/Title").GetComponent <Text>().text   = programmeItem.Title;
        item.transform.Find("Item/Information/Address").GetComponent <Text>().text = programmeItem.Address;

        extension.transform.Find("Expansion/Info/Text").GetComponent <Text>().text = programmeItem.Info;
        extension.transform.Find("Expansion/Time/Text").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.Start).ToLongDateString() + " " + InfoStorage
            .UnixTimeStampToDateTime(programmeItem.Start)
            .ToString(FormatDateTime) + "-" +
            InfoStorage.UnixTimeStampToDateTime(programmeItem.End).ToString(FormatDateTime);

        extension.transform.Find("Expansion/Location/Text").GetComponent <Text>().text = programmeItem.Address;
    }
コード例 #4
0
    private IEnumerator _downloadAndInitializeEventsCoroutine()
    {
        Debug.Log("Started update events on " + InfoStorage.Server + InfoStorage.EventsApi + "getAll?api");
        var www = new WWW(InfoStorage.Server + InfoStorage.EventsApi + "getAll?api");

        yield return(www);

        foreach (var list in _programme)
        {
            if (list.Count != 0)
            {
                list.Clear();
            }
        }

        foreach (var programmeList in _programmeLists)
        {
            if (programmeList.transform.childCount != 0)
            {
                _destroyTransformChildren(programmeList.transform);
            }
        }

        if (www.error == null)
        {
            var json = JSON.Parse(www.text);

            foreach (JSONNode jsonNode in json.AsArray)
            {
                var    start   = int.Parse(jsonNode["start"]);
                var    end     = int.Parse(jsonNode["end"]);
                string title   = jsonNode["title"];
                string info    = jsonNode["info"];
                string address = jsonNode["address"];

                info = InfoStorage.ProcessTags(info);

                var item = new ProgrammeItem(start, end, title, address, info);

                if (!InfoStorage.IsDateValid(item.Start))
                {
                    continue;
                }

                _addToProgramme(item);
            }

            foreach (var programmeList in _programme)
            {
                programmeList.Sort((x, y) => x.Start.CompareTo(y.Start));
            }
            _initializeEvents();
            _saveLocal();
        }
        else
        {
            _loadLocal();
        }
    }
コード例 #5
0
 /// <summary>
 /// Reads configuration files of modules and builds the tree (module info tree and module statuses tree)
 /// </summary>
 public void InitializeModulesTree()
 {
     mModulesInfo = mConfigurationHandler.LoadConfiguration(mLogger);
     if (mModulesInfo == null)
     {
         throw new Exception("Sentinel SNMP Agent failed to initialize modules configuration");
     }
 }
コード例 #6
0
    private void _addToProgramme(ProgrammeItem item)
    {
        var list = _getRelativeList(InfoStorage.UnixTimeStampToDateTime(item.Start));

        if (list != null)
        {
            list.Add(item);
        }
    }
コード例 #7
0
    private IEnumerator _downloadAndInitializeNewsCoroutine()
    {
        Debug.Log("Started update news...");
        var www = new WWW(InfoStorage.Server + InfoStorage.NewsApi + "getAll?api");

        yield return(www);

        if (_newsList.transform.childCount != 0)
        {
            _destroyTransformChildren(_newsList.transform);
        }

        if (_news.Count != 0)
        {
            _news.Clear();
        }

        if (www.error == null)
        {
            var json = JSON.Parse(www.text);

            foreach (JSONNode jsonNode in json.AsArray)
            {
                var    date      = int.Parse(jsonNode["date"]);
                string id        = jsonNode["id"];
                string info      = jsonNode["info"];
                string imageLink = jsonNode["image"];

                info = InfoStorage.ProcessTags(info);

                if (imageLink == null)
                {
                    imageLink = "";
                }

                var newsItem = new NewsItem(id, date, info, imageLink);

                _news.Add(newsItem);
            }

            _news.Sort((x, y) => y.Date.CompareTo(x.Date));

            _initializeNews();
            _saveLocal();
            _initializeListEnd();
        }
        else
        {
            _loadLocal();
        }
    }
コード例 #8
0
    private int _compareProgrammeItemByDate(ProgrammeItem pi, DateTime time)
    {
        if (InfoStorage.UnixTimeStampToDateTime(pi.Start).CompareTo(time) == -1 && InfoStorage.UnixTimeStampToDateTime(pi.End).CompareTo(time) == -1)
        {
            return(-1);
        }

        if (InfoStorage.UnixTimeStampToDateTime(pi.Start).CompareTo(time) == 1 && InfoStorage.UnixTimeStampToDateTime(pi.End).CompareTo(time) == 1)
        {
            return(1);
        }

        return(0);
    }
コード例 #9
0
    // Start is called before the first frame update
    void Start()
    {
        PV                        = GetComponent <PhotonView>();
        infoStorage               = GameObject.Find("InfoStorage").GetComponent <InfoStorage>();
        apocalypseNameText        = GameObject.Find("ApocalypseInfoPanel").transform.GetChild(0).gameObject.GetComponent <Text>();
        apocalypseDescriptionText = GameObject.Find("ApocalypseInfoPanel").transform.GetChild(1).gameObject.GetComponent <Text>();
        bunkerDescriptionText     = GameObject.Find("ApocalypseInfoPanel").transform.GetChild(3).gameObject.GetComponent <Text>();
        GameObject.Find("ApocalypseInfoPanel").transform.GetChild(2).gameObject.SetActive(true);
        GameObject.Find("ApocalypseInfoPanel").SetActive(false);
        if (PhotonNetwork.IsMasterClient)
        {
            InitializeApocalypseInfo();
            InitializeBunkerInfo();


            SetApocalyplseInfo(apocalypseIndex, population, destruction);
            SetBunkerInfo(bunkerDescriptionIndex, bunkerSpace, bunkerTime, bunkerEquipmentIndex1, bunkerEquipmentIndex2, bunkerStuffIndex1, bunkerStuffIndex2, bunkerStuffIndex3, bunkerResidentsIndex);
        }
    }
コード例 #10
0
    private void _initializeEventSpoilerExtension(ProgrammeItem programmeItem)
    {
        var gameObjList = _getRelativeGameObject(InfoStorage.UnixTimeStampToDateTime(programmeItem.Start));

        if (gameObjList == null)
        {
            return;
        }

        var item = Instantiate(_programmeItemSpoiler, gameObjList.transform, false);

        item.transform.Find("Item/Square/Time/Start").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.Start).ToShortTimeString();
        item.transform.Find("Item/Square/Time/End").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.End).ToShortTimeString();
        item.transform.Find("Item/Information/Title").GetComponent <Text>().text   = programmeItem.Title;
        item.transform.Find("Item/Information/Address").GetComponent <Text>().text = programmeItem.Address;

        if (!string.IsNullOrEmpty(programmeItem.Info))
        {
            item.transform.Find("Expansion/Info/Text").GetComponent <Text>().text = programmeItem.Info;
        }
        else
        {
            item.transform.Find("Expansion/Info").gameObject.SetActive(false);
        }

        item.transform.Find("Expansion/Time/Text").GetComponent <Text>().text =
            InfoStorage.UnixTimeStampToDateTime(programmeItem.Start).ToLongDateString() + " " + InfoStorage
            .UnixTimeStampToDateTime(programmeItem.Start).ToShortTimeString() + "-" +
            InfoStorage.UnixTimeStampToDateTime(programmeItem.End).ToShortTimeString();

        if (!string.IsNullOrEmpty(programmeItem.Address))
        {
            item.transform.Find("Expansion/Location/Text").GetComponent <Text>().text = programmeItem.Address;
        }
        else
        {
            item.transform.Find("Expansion/Location").gameObject.SetActive(false);
        }
    }
コード例 #11
0
    public void SendScore(int value)
    {
        for (var i = 0; i < transform.childCount; i++)
        {
            transform.GetChild(i).GetComponent <Image>().sprite = _inactiveStar;
        }

        for (var i = 0; i < value; i++)
        {
            transform.GetChild(i).GetComponent <Image>().sprite = _activeStar;
        }

        var score = new Score(value, InfoStorage.DateTimeToUnixTimeStamp(DateTime.Now.Date));

        var dtnow = DateTime.Now;

        PlayerPrefs.SetInt(dtnow.Year + "." + dtnow.Month + "." + dtnow.Day, value);
        AnimationAssistant.Hide(_cg);

        StartCoroutine(_sendScoreCoroutine(score));
    }
コード例 #12
0
 /// <summary>
 /// The finalize modules tree.
 /// </summary>
 public void FinilizeModulesTree()
 {
     mLogger.Info("Start tree Finit");
     mModulesInfo = null;
 }
コード例 #13
0
        /// <summary>
        /// The load configuration.
        /// </summary>
        /// <param name="mLogger">
        /// The m Logger.
        /// </param>
        /// <returns>
        /// The <see cref="InfoStorage"/>.
        /// </returns>
        public InfoStorage LoadConfiguration(ILog mLogger)
        {
            mLogger.Info("Starting loading components configuration");
            LocationCurrent = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string pathToConfigFolder = string.Format(@"{0}\{1}\", LocationCurrent, CONFIG_DIR);
            string fullPathToTemp     = string.Format(@"{0}\{1}\{2}\{3}", LocationCurrent, CONFIG_DIR, TEMP_DIR, MODULES_TEMP_FILE_NAME);

            InfoStorage result = null;

            if (Directory.Exists(pathToConfigFolder))
            {
                try
                {
                    TempModuleState temp = null;
                    if (File.Exists(fullPathToTemp))
                    {
                        mLogger.InfoFormat("Temp file {0} exists. Loading it.", MODULES_TEMP_FILE_NAME);
                        try
                        {
                            temp = InfoStorage.FromFile(new TempModuleState(), fullPathToTemp);
                        }
                        catch (Exception exception)
                        {
                            mLogger.ErrorFormat("Temp file {0} is corrupted!", MODULES_TEMP_FILE_NAME);
                            mLogger.Error("Exception: " + exception);
                        }
                    }
                    else
                    {
                        mLogger.Info("There is no temp file. Starting from the scratch");
                    }

                    string[] moduleConfigFiles = Directory.GetFiles(pathToConfigFolder, CONFIG_FILE_EXTENSION);
                    if (moduleConfigFiles.Length > 0)
                    {
                        result = new InfoStorage
                        {
                            ModulesInfo = new List <ModuleInfo>()
                        };

                        foreach (string moduleConfigFile in moduleConfigFiles)
                        {
                            var configFile = new FileInfo(moduleConfigFile);
                            mLogger.DebugFormat("Found config file: {0}", configFile.FullName);
                            try
                            {
                                ModuleInfo module = InfoStorage.FromFile(new ModuleInfo(), configFile.FullName);
                                if (module != null)
                                {
                                    if (temp != null)
                                    {
                                        var tmpModule = temp.ModuleStatus.Find(t => t.Name.Equals(module.Name));
                                        if (tmpModule != null)
                                        {
                                            if (tmpModule.ProcessId != 0 && tmpModule.Status != ModuleStatus.Disconnected.ToString())
                                            {
                                                pingManager.CreateNewPinger(tmpModule.Name, tmpModule.ProcessId, false);
                                            }

                                            module.ProcessId      = tmpModule.ProcessId;
                                            module.Status         = tmpModule.Status;
                                            module.SendAutoFixing = tmpModule.SendAutoFixing;
                                        }
                                        else
                                        {
                                            mLogger.WarnFormat("Temp data for module {0} was not found", module.Name);
                                        }
                                    }

                                    result.ModulesInfo.Add(module);
                                }
                                else
                                {
                                    mLogger.ErrorFormat("File {0} is corrupted!", moduleConfigFile);
                                }
                            }
                            catch (Exception exception)
                            {
                                mLogger.Error("Exception: " + exception);
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    mLogger.Error("Exception: " + exception);
                }
            }
            else
            {
                mLogger.ErrorFormat("Modules configuration folder was not found. Path {0} does not exist!", pathToConfigFolder);
            }

            return(result);
        }