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)); } }
/// <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); } }
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; }
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(); } }
/// <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"); } }
private void _addToProgramme(ProgrammeItem item) { var list = _getRelativeList(InfoStorage.UnixTimeStampToDateTime(item.Start)); if (list != null) { list.Add(item); } }
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(); } }
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); }
// 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); } }
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); } }
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)); }
/// <summary> /// The finalize modules tree. /// </summary> public void FinilizeModulesTree() { mLogger.Info("Start tree Finit"); mModulesInfo = null; }
/// <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); }