public OverviewEntry(MemoryStruct.IOverviewEntry Raw) : base(Raw) { this.Raw = Raw; MainIcon = Raw?.SetSprite?.FirstOrDefault(Sprite => Sprite?.Name == "iconSprite"); MainIconIsRed = MainIcon?.Color?.IsRed(); var ContainsLeftIconWithNameMatchingRegexPattern = new Func <string, bool>(regexPattern => Raw?.SetSprite?.Any(Sprite => (Sprite?.Name).RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); var ContainsRightIconWithHintMatchingRegexPattern = new Func <string, bool>(regexPattern => Raw?.RightIcon?.Any(Sprite => (Sprite?.HintText).RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); IsAttackingMe = ContainsLeftIconWithNameMatchingRegexPattern("attacking.*me"); IsJammingMe = ContainsRightIconWithHintMatchingRegexPattern("jamming.*me"); }
public OverviewEntry(MemoryStruct.IOverviewEntry Raw) : base(Raw) { this.Raw = Raw; MainIcon = Raw?.SetSprite?.FirstOrDefault(Sprite => Sprite?.Name == "iconSprite"); MainIconIsRed = MainIcon?.Color?.IsRed(); var ContainsLeftIconWithNameMatchingRegexPattern = new Func<string, bool>(regexPattern => Raw?.SetSprite?.Any(Sprite => (Sprite?.Name).RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); var ContainsRightIconWithHintMatchingRegexPattern = new Func<string, bool>(regexPattern => Raw?.RightIcon?.Any(Sprite => (Sprite?.HintText).RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); IsAttackingMe = ContainsLeftIconWithNameMatchingRegexPattern("attacking.*me"); IsJammingMe = ContainsRightIconWithHintMatchingRegexPattern("jamming.*me"); }
public OverviewEntry(MemoryStruct.IOverviewEntry raw) : base(raw) { this.Raw = raw; MainIcon = raw?.SetSprite?.FirstOrDefault(sprite => sprite?.Name == "iconSprite"); MainIconIsRed = MainIcon?.Color?.IsRed(); var MainIconContainsIndicatorWithNameMatchingRegexPattern = new Func <string, bool>(regexPattern => raw?.MainIconSetIndicatorName?.Any(indicatorName => indicatorName.RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); IsAttackingMe = MainIconContainsIndicatorWithNameMatchingRegexPattern("attacking.*me"); IsHostile = MainIconContainsIndicatorWithNameMatchingRegexPattern("hostile"); MeTargeting = MainIconContainsIndicatorWithNameMatchingRegexPattern("targeting"); MeTargeted = MainIconContainsIndicatorWithNameMatchingRegexPattern("targetedByMe"); MeActiveTarget = MainIconContainsIndicatorWithNameMatchingRegexPattern("myActiveTarget"); EWarType = RightIcon?.Select(OverviewExtension.EWarTypeFromOverviewEntryRightIcon)?.WhereNotNullSelectValue()?.ToArrayIfNotEmpty(); }
public OverviewEntry(MemoryStruct.IOverviewEntry raw) : base(raw) { this.Raw = raw; MainIcon = raw?.SetSprite?.FirstOrDefault(sprite => sprite?.Name == "iconSprite"); MainIconIsRed = MainIcon?.Color?.IsRed(); var MainIconContainsIndicatorWithNameMatchingRegexPattern = new Func<string, bool>(regexPattern => raw?.MainIconSetIndicatorName?.Any(indicatorName => indicatorName.RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); IsAttackingMe = MainIconContainsIndicatorWithNameMatchingRegexPattern("attacking.*me"); IsHostile = MainIconContainsIndicatorWithNameMatchingRegexPattern("hostile"); MeTargeting = MainIconContainsIndicatorWithNameMatchingRegexPattern("targeting"); MeTargeted = MainIconContainsIndicatorWithNameMatchingRegexPattern("targetedByMe"); MeActiveTarget = MainIconContainsIndicatorWithNameMatchingRegexPattern("myActiveTarget"); EWarType = RightIcon?.Select(OverviewExtension.EWarTypeFromOverviewEntryRightIcon)?.WhereNotNullSelectValue()?.ToArrayIfNotEmpty(); }
public OverviewEntry(MemoryStruct.IOverviewEntry raw) : base(raw) { this.Raw = raw; MainIcon = raw?.SetSprite?.FirstOrDefault(sprite => sprite?.Name == "iconSprite"); MainIconIsRed = MainIcon?.Color?.IsRed(); var MainIconContainsIndicatorWithNameMatchingRegexPattern = new Func <string, bool>(regexPattern => raw?.MainIconSetIndicatorName?.Any(indicatorName => indicatorName.RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); var ContainsRightIconWithHintMatchingRegexPattern = new Func <string, bool>(regexPattern => raw?.RightIcon?.Any(sprite => (sprite?.HintText).RegexMatchSuccessIgnoreCase(regexPattern)) ?? false); IsAttackingMe = MainIconContainsIndicatorWithNameMatchingRegexPattern("attacking.*me"); IsHostile = MainIconContainsIndicatorWithNameMatchingRegexPattern("hostile"); MeTargeting = MainIconContainsIndicatorWithNameMatchingRegexPattern("targeting"); MeTargeted = MainIconContainsIndicatorWithNameMatchingRegexPattern("targetedByMe"); MeActiveTarget = MainIconContainsIndicatorWithNameMatchingRegexPattern("myActiveTarget"); IsJammingMe = ContainsRightIconWithHintMatchingRegexPattern("jamming.*me"); }
static public IOverviewEntry Parse(this MemoryStruct.IOverviewEntry overviewEntry) => null == overviewEntry ? null : new OverviewEntry(overviewEntry);