protected override void OnUpdate() { var sexTypes = GetComponentDataFromEntity <SexData>(true); var adultData = GetComponentDataFromEntity <Adult>(true); Entities .WithReadOnly(adultData) .WithReadOnly(sexTypes) .ForEach(( ref LookingForMate lookingForMate, in Translation position, in AnimalTypeData animalType, in SexData sexType, in DynamicBuffer <BucketAnimalData> sensedAnimals) => { int closestMateIndex = -1; float closestMateDistance = 0f; for (int i = 0; i < sensedAnimals.Length; i++) { var sensedAnimalInfo = sensedAnimals[i]; AnimalTypeData targetAnimalType = sensedAnimalInfo.AnimalTypeData; SexData targetSexType = sexTypes[sensedAnimalInfo.Entity]; bool targetAdult = adultData.Exists(sensedAnimalInfo.Entity); float3 targetPosition = sensedAnimalInfo.Position; float targetDistance = math.distance(targetPosition, position.Value); if (animalType.AnimalTypeId != targetAnimalType.AnimalTypeId) { continue; // Not the same type of animal } if (closestMateIndex != -1 && targetDistance >= closestMateDistance) { continue; // Not the closest } if (sexType.Sex == targetSexType.Sex) { continue; // Not the opposite sex } if (!targetAdult) { continue; // Not an adult } closestMateIndex = i; closestMateDistance = targetDistance; } // Set result if (closestMateIndex != -1) { lookingForMate.HasFound = true; lookingForMate.Entity = sensedAnimals[closestMateIndex].Entity; lookingForMate.Position = sensedAnimals[closestMateIndex].Position; } else { lookingForMate.HasFound = false; } }).ScheduleParallel();
public void ShowDay(DateTime day) { sd = mwm.sd; DataList dataList = new DataList(); for (int i = 0; i < mwm.data.list.Count; i++) { DateTime tmp = DateTime.Parse(mwm.data.list[i].Date); if (tmp.Year == day.Year && tmp.DayOfYear == day.DayOfYear) { dataList.list.Add(mwm.data.list[i]); } if (tmp.Year > day.Year || tmp.DayOfYear > day.DayOfYear) { break; } } dataList.list.Reverse(); if (dataList.list.Count < 3) { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 600); } else if (dataList.list.Count < 20) { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 600 + (dataList.list.Count - 2) * 300); } else { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 600 + 18 * 300); } for (int i = 0; i < 20; i++) { if (i < dataList.list.Count) { SexData sex = dataList.list[dataList.list.Count - 1 - i]; Content.transform.GetChild(0).GetChild(i).GetChild(1).GetComponent <Text>().text = sd.names[0] + ": " + sex.leftPartner.ToString(); Content.transform.GetChild(0).GetChild(i).GetChild(2).GetComponent <Text>().text = sd.names[1] + ": " + sex.rightPartner.ToString(); Content.transform.GetChild(0).GetChild(i).GetChild(5).GetComponent <Text>().text = sex.Date; if (sex.time > 0) { Content.transform.GetChild(0).GetChild(i).GetChild(6).GetComponent <Text>().text = (Mathf.Floor(sex.time / 6f) / 10f).ToString(".0") + " min"; } else { Content.transform.GetChild(0).GetChild(i).GetChild(6).gameObject.SetActive(false); Content.transform.GetChild(0).GetChild(i).GetChild(4).gameObject.SetActive(false); } Content.transform.GetChild(0).GetChild(i).gameObject.SetActive(true); } else { Content.transform.GetChild(0).GetChild(i).gameObject.SetActive(false); } } }
public void OKBtn() { SexData sex = new SexData(); sex.leftPartner = int.Parse(pages[1].transform.GetChild(4).GetComponent <Text>().text); sex.rightPartner = int.Parse(pages[1].transform.GetChild(5).GetComponent <Text>().text); sex.initiator = pages[1].transform.GetChild(11).GetComponent <Toggle>().isOn; bool[] tmp = { pages[1].transform.GetChild(14).GetComponent <Toggle>().isOn, pages[1].transform.GetChild(15).GetComponent <Toggle>().isOn, pages[1].transform.GetChild(16).GetComponent <Toggle>().isOn, pages[1].transform.GetChild(17).GetComponent <Toggle>().isOn, }; sex.types = tmp; if (sex.leftPartner > 0 || sex.rightPartner > 0) { sex.Date = DateTime.Now.ToString(); sex.time = timeOf; data.list.Add(sex); string json = JsonUtility.ToJson(data); File.WriteAllText(Application.persistentDataPath + dataFilename, json); pages[1].transform.GetChild(4).GetComponent <Text>().text = "0"; pages[1].transform.GetChild(5).GetComponent <Text>().text = "0"; pages[1].SetActive(false); if (pages[3].active) { pages[3].SetActive(false); pages[0].SetActive(true); } } counters[0].text = (int.Parse(counters[0].text) + sex.leftPartner).ToString(); counters[1].text = (int.Parse(counters[1].text) + sex.rightPartner).ToString(); if ((sd.countIndex == 0 && (int.Parse(counters[0].text) > 68 || int.Parse(counters[1].text) > 68)) || (sd.countIndex == 1 && DateTime.Parse(sex.Date) > countFrom + new TimeSpan(30, 0, 0, 0))) { countFrom = DateTime.Now; sd.countFrom = countFrom.ToString(); string json = JsonUtility.ToJson(sd); File.WriteAllText(Application.persistentDataPath + statsFileName, json); counters[0].text = "0"; counters[1].text = "0"; } Liquid(); }
public static TokenData CreateUnknownSexToken(string token, string gameCategory, string femaleFolder, string maleFolder) { return(new TokenData { Token = token, GetFolder = (fileString, startIndex) => { var substring = fileString.Substring(startIndex); // only check for sex token starting from index var index = SexData.Find(substring).First().Item2; var sexChar = substring[index + 1]; var sex = BitConverter.GetBytes(sexChar)[0]; var useCommon = Config.Default.UseCommonFolder || string.IsNullOrWhiteSpace(femaleFolder) || string.IsNullOrWhiteSpace(maleFolder); return useCommon ? Path.Combine(Config.Default.CommonFolderPath, gameCategory, sex == 0 ? CardConstants.MaleCategory : CardConstants.FemaleCategory) : sex == 0 ? maleFolder : femaleFolder; } }); }
public void NotifyAboutGet() { Interlocked.Increment(ref _getCount); if (_getCount == _desiredGetCount) { Task.Run(() => { var sw = new Stopwatch(); sw.Start(); Console.WriteLine($"{DateTime.Now.ToLongTimeString()} Started preparation for POST"); //_swMemory = new System.Timers.Timer(1000); //_swMemory.Elapsed += (sender, args) => { TotalMemoryHelper.Show(); }; //_swMemory.Start(); StatusData.PrepareForUpdates(); CityData.PrepareForUpdates(); CountryData.PrepareForUpdates(); SNameData.PrepareForUpdates(); FNameData.PrepareForUpdates(); SexData.PrepareForUpdates(); PremiumData.PrepareForUpdates(); CodeData.PrepareForUpdates(); DomainData.PrepareForUpdates(); BirthYearData.PrepareForUpdates(); InterestsData.PrepareForUpdates(); JoinedYearData.PrepareForUpdates(); TotalMemoryHelper.Show(); GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; GC.Collect(); GC.WaitForFullGCApproach(); TotalMemoryHelper.Show(); Console.WriteLine($"{DateTime.Now.ToLongTimeString()} Finished preparation for POST in {sw.ElapsedMilliseconds} ms"); }); } }
private void Statistics(bool full) { Console.WriteLine($"Current TimeStamp: {Holder.Instance.CurrentTimeStamp}"); Console.WriteLine($"Sex {SexData.GetStatistics(full)}"); Console.WriteLine($"Status {StatusData.GetStatistics(full)}"); Console.WriteLine($"Premium {PremiumData.GetStatistics(full)}"); Console.WriteLine($"City {CityData.GetStatistics(full)}"); Console.WriteLine($"Country {CountryData.GetStatistics(full)}"); Console.WriteLine(value: $"Code {CodeData.GetStatistics(full)}"); Console.WriteLine($"Domain {DomainData.GetStatistics(full)}"); Console.WriteLine($"FName {FNameData.GetStatistics(full)}"); Console.WriteLine($"SName {SNameData.GetStatistics(full)}"); Console.WriteLine($"Interests {InterestsData.GetStatistics(full)}"); Console.WriteLine($"BirthYear {BirthYearData.GetStatistics(full)}"); Console.WriteLine($"JoinedYear {JoinedYearData.GetStatistics(full)}"); }
public void TimeSpaceSelector(int t) { pages[2].transform.GetChild(0).GetChild(0).GetComponent <Text>().text = sd.names[0]; pages[2].transform.GetChild(0).GetChild(1).GetComponent <Text>().text = sd.names[1]; selector.rectTransform.localPosition = new Vector3(t * 258, selector.rectTransform.localPosition.y, 0); DataList dataList = new DataList(); if (t < 0) { for (int i = 0; DateTime.Now.Ticks - DateTime.Parse(data.list[data.list.Count - 1 - i].Date).Ticks < 6048000000040L; i++) { dataList.list.Add(data.list[data.list.Count - 1 - i]); if (i + 1 == data.list.Count) { break; } } dataList.list.Reverse(); } else if (t < 1) { for (int i = 0; DateTime.Now.Ticks - DateTime.Parse(data.list[data.list.Count - 1 - i].Date).Ticks < 25920000000030L; i++) { dataList.list.Add(data.list[data.list.Count - 1 - i]); if (i + 1 == data.list.Count) { break; } } dataList.list.Reverse(); } else { dataList = data; } int left = 0; int right = 0; for (int i = 0; i < dataList.list.Count; i++) { left += dataList.list[i].leftPartner; right += dataList.list[i].rightPartner; } pages[2].transform.GetChild(0).GetChild(2).GetComponent <Text>().text = left.ToString(); pages[2].transform.GetChild(0).GetChild(3).GetComponent <Text>().text = right.ToString(); if (dataList.list.Count < 5) { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 1100); } else if (dataList.list.Count < 20) { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 1200 + (dataList.list.Count - 4) * 300); } else { Content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 1200 + 16 * 300); } for (int i = 0; i < 20; i++) { if (i < dataList.list.Count) { SexData sex = dataList.list[dataList.list.Count - 1 - i]; Content.transform.GetChild(0).GetChild(i).GetChild(1).GetComponent <Text>().text = sd.names[0] + ": " + sex.leftPartner.ToString(); Content.transform.GetChild(0).GetChild(i).GetChild(2).GetComponent <Text>().text = sd.names[1] + ": " + sex.rightPartner.ToString(); Content.transform.GetChild(0).GetChild(i).GetChild(5).GetComponent <Text>().text = sex.Date; if (sex.time > 0) { Content.transform.GetChild(0).GetChild(i).GetChild(6).GetComponent <Text>().text = (Mathf.Floor(sex.time / 6f) / 10f).ToString(".0") + " min"; } else { Content.transform.GetChild(0).GetChild(i).GetChild(6).gameObject.SetActive(false); Content.transform.GetChild(0).GetChild(i).GetChild(4).gameObject.SetActive(false); } Content.transform.GetChild(0).GetChild(i).gameObject.SetActive(true); } else { Content.transform.GetChild(0).GetChild(i).gameObject.SetActive(false); } } }
public void CreateMainIndexes(bool afterPost, Stopwatch sw) { if (afterPost) { FNameData.PrepareForSort(); SNameData.PrepareForSort(); SexData.PrepareForSort(); StatusData.PrepareForSort(); CityData.PrepareForSort(); CountryData.PrepareForSort(); CodeData.PrepareForSort(); DomainData.PrepareForSort(); BirthYearData.PrepareForSort(); InterestsData.PrepareForSort(); JoinedYearData.PrepareForSort(); PremiumData.PrepareForSort(); GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; GC.Collect(); GC.WaitForFullGCApproach(); Console.WriteLine($"Preparation for sort done in [{sw.ElapsedMilliseconds}] ms"); Task.Run(() => { LikesBuffer.FillLikes(); LikesBuffer = null; Console.WriteLine($"Likes filling done in [{sw.ElapsedMilliseconds}] ms"); }); } var preparationForGroup1 = Task.Run(() => { EmailsStorage.SortAndPropagate(); FNameData.Sort(); SNameData.Sort(); SexData.Sort(); }); var preparationForGroup2 = Task.Run(() => { StatusData.Sort(); CityData.Sort(); CountryData.Sort(); CodeData.Sort(); DomainData.Sort(); }); var preparationForGroup3 = Task.Run(() => { BirthYearData.Sort(); InterestsData.Sort(); JoinedYearData.Sort(); PremiumData.Sort(); }); Task.WaitAll(preparationForGroup1, preparationForGroup2, preparationForGroup3); Console.WriteLine($"Ids sorting done in [{sw.ElapsedMilliseconds}] ms"); Holder.Instance.Group.CleanCacheAndCreateNewCache(); Console.WriteLine($"Cache recreating done in [{sw.ElapsedMilliseconds}] ms"); Statistics(false); }