private static bool toIsFriendly(Relations rel) { if (rel.HasFlagFast(Relations.Enemy)) return false; return rel.HasFlagFast(Relations.Owner) || rel.HasFlagFast(Relations.Faction); }
public static Relations getRelationsTo(this IMyCubeBlock block, IMyCubeGrid target, Relations breakOn = Relations.None) { VRage.Exceptions.ThrowIf <ArgumentNullException>(block == null, "block"); VRage.Exceptions.ThrowIf <ArgumentNullException>(target == null, "target"); if (target.BigOwners.Count == 0 && target.SmallOwners.Count == 0) // grid has no owner { return(Relations.Enemy); } Relations relationsToGrid = Relations.None; foreach (long gridOwner in target.BigOwners) { relationsToGrid |= block.getRelationsTo(gridOwner); if (breakOn != Relations.None && relationsToGrid.HasFlagFast(breakOn)) { return(relationsToGrid); } } foreach (long gridOwner in target.SmallOwners) { relationsToGrid |= block.getRelationsTo(gridOwner); if (breakOn != Relations.None && relationsToGrid.HasFlagFast(breakOn)) { return(relationsToGrid); } } return(relationsToGrid); }
private static bool toIsFriendly(Relations rel) { if (rel.HasFlagFast(Relations.Enemy)) { return(false); } if (rel.HasFlagFast(Relations.Neutral)) { return(false); } if (rel == Relations.None) { return(false); } return(true); }
private static bool toIsHostile(Relations rel) { if (rel.HasFlagFast(Relations.Enemy)) return true; if (rel == Relations.None) return true; return false; }
public static Relations mostHostile(this Relations rel) { foreach (Relations flag in new Relations[] { Relations.Enemy, Relations.Neutral, Relations.Faction, Relations.Owner }) { if (rel.HasFlagFast(flag)) { return(flag); } } return(Relations.None); }
private static bool toIsHostile(Relations rel) { if (rel.HasFlagFast(Relations.Enemy)) { return(true); } if (rel == Relations.None) { return(true); } return(false); }