public void OnRaid(RaidType raid, Location location, int turn) { if (m_Actor.IsSleeping) { return; } string raidDesc; switch (raid) { case RaidType.ARMY_SUPLLIES: raidDesc = "a chopper hovering"; break; case RaidType.BIKERS: raidDesc = "motorcycles coming"; break; case RaidType.BLACKOPS: raidDesc = "a chopper hovering"; break; case RaidType.GANGSTA: raidDesc = "cars coming"; break; case RaidType.NATGUARD: raidDesc = "the army coming"; break; case RaidType.SURVIVORS: raidDesc = "honking coming"; break; default: throw new ArgumentOutOfRangeException(String.Format("unhandled raidtype {0}", raid.ToString())); } m_LastRaidHeard = new Percept(raidDesc, turn, location); }
public int LastRaidTime(RaidType raid, District district) { if (district == null) { throw new ArgumentNullException("district"); } return(m_Event_Raids[(int)raid, district.WorldPosition.X, district.WorldPosition.Y]); }
public bool HasRaidHappened(RaidType raid, District district) { if (district == null) { throw new ArgumentNullException("district"); } return(m_Event_Raids[(int)raid, district.WorldPosition.X, district.WorldPosition.Y] > -1); }
public void SetLastRaidTime(RaidType raid, District district, int turnCounter) { if (district == null) { throw new ArgumentNullException("district"); } lock (m_Event_Raids) // thread safe. { m_Event_Raids[(int)raid, district.WorldPosition.X, district.WorldPosition.Y] = turnCounter; } }
public RaidParameters(int index, ulong seed, int stars, int randRoll, int flags, RaidType type, int location, int x, int y) { Seed = seed; Flags = flags; Type = type; IsActive = type > 0; IsCrystal = index == 16; IsRare = Type == RaidType.Rare || Type == RaidType.RareWish; IsEvent = IsActive && (Flags & 2) == 2; IsWishingPiece = Type == RaidType.CommonWish || Type == RaidType.RareWish; WattsHarvested = (Flags & 1) == 1; Stars = stars; RandRoll = randRoll; Index = index; Location = LocationNames[location]; X = x; Y = y; }
string RaidDateTimeToString(DateTime dt, RaidType rt) => timeService.ConvertToLocalString(dt, rt == RaidType.Normal ? TimeService.TimeFormat : TimeService.DateTimeFormat);
public static string[] Calc(RaidType raidType, int diskIOPS, int diskCount, int diskSize, int readWrite) { string raidSize = string.Empty; string raidIOPS = string.Empty; try { if (diskCount < dictDisksMinQuantity[raidType]) { raidSize = "Необходимое количество" + Environment.NewLine + "дисков более " + dictDisksMinQuantity[raidType]; raidIOPS = "Введите корректное" + Environment.NewLine + "количество дисков"; } else { double raidSizeValue = 0; switch (raidType) { case RaidType.Raid0: raidSizeValue = diskSize * diskCount; break; case RaidType.Raid1: raidSizeValue = diskSize; break; case RaidType.Raid5: raidSizeValue = diskSize * (diskCount - 1); break; case RaidType.Raid6: raidSizeValue = diskSize * (diskCount - 2); break; case RaidType.Raid10: raidSizeValue = diskSize * ((double)diskCount / 2.0d); break; case RaidType.Raid50: raidSizeValue = diskSize * (diskCount - 2); break; case RaidType.Raid60: raidSizeValue = diskSize * (diskCount - 4); break; case RaidType.Raid61: raidSizeValue = diskSize * (double)(diskCount - 2) / 2.0d; break; default: break; } double minlIOPS = diskCount * (double)diskIOPS / dictRaidPenalty[raidType]; double maxIOPS = diskCount * (double)diskIOPS; double onePercentPenalty = (maxIOPS - minlIOPS) / 100.0d; double raidIOPSValue = minlIOPS + onePercentPenalty * readWrite; if (raidType == RaidType.Raid50 || raidType == RaidType.Raid60) { raidIOPSValue *= 2; } raidSize = raidSizeValue.ToString("N0", CultureInfo.CurrentCulture); raidIOPS = raidIOPSValue.ToString("N0", CultureInfo.CurrentCulture); } } catch (Exception e) { MessageBox.Show(e.Message + Environment.NewLine + e.StackTrace, "", MessageBoxButton.OK, MessageBoxImage.Error); } return(new string[] { raidSize, raidIOPS }); }