public bool CheckFlags(NetSegmentExt.Flags flags, NetSegmentEnd.Flags tailFlags, NetSegmentEnd.Flags headFlags, NetNode.Flags tailNodeFlags, NetNode.Flags headNodeFlags, NetNodeExt.Flags tailNodeExtFlags, NetNodeExt.Flags headNodeExtFlags, bool turnAround) { if (!turnAround) { return(Forward.CheckFlags(flags) && CheckEndFlags( tailFlags: tailFlags, headFlags: headFlags, tailNodeFlags: tailNodeFlags, headNodeFlags: headNodeFlags, tailNodeExtFlags: tailNodeExtFlags, headNodeExtFlags: headNodeExtFlags)); } else { Helpers.Swap(ref tailFlags, ref headFlags); Helpers.Swap(ref tailNodeFlags, ref headNodeFlags); var ret = Backward.CheckFlags(flags) && CheckEndFlags( tailFlags: tailFlags, headFlags: headFlags, tailNodeFlags: tailNodeFlags, headNodeFlags: headNodeFlags, tailNodeExtFlags: tailNodeExtFlags, headNodeExtFlags: headNodeExtFlags); return(ret); } }
public static NetSegmentEnd.Flags GetUsedFlagsSegmentEnd(ushort segmentID, ushort nodeID) { NetSegmentEnd.Flags ret = segmentID.ToSegment().Info.GetMetaData()?.UsedCustomFlags.SegmentEnd ?? 0; // Considering that nodes are segment ends we don't need to take their flags into account. // ret |= nodeID.ToNode().Info.GetMetaData()?.UsedCustomFlags.SegmentEnd ?? 0; return(ret); }
public static void Add(UIPanel parent, ushort segmentID, ushort nodeID, NetSegmentEnd.Flags flag) { var toggle = parent.AddUIComponent <SegmentEndFlagToggle>(); toggle.flag_ = flag; toggle.segmentID_ = segmentID; toggle.nodeID_ = nodeID; ref var segmentEnd = ref man_.GetSegmentEnd(segmentID, nodeID);
public bool CheckEndFlags( NetSegmentEnd.Flags tailFlags, NetSegmentEnd.Flags headFlags, NetNode.Flags tailNodeFlags, NetNode.Flags headNodeFlags) { return (Tail.CheckFlags(tailFlags) & Head.CheckFlags(headFlags) & VanillaTailtNode.CheckFlags(tailNodeFlags) & VanillaHeadNode.CheckFlags(headNodeFlags)); }
public bool CheckFlags( NetNodeExt.Flags nodeFlags, NetSegmentEnd.Flags segmentEndFlags, NetSegmentExt.Flags segmentFlags, NetSegment.Flags vanillaSegmentFlags) => NodeFlags.CheckFlags(nodeFlags) && SegmentEndFlags.CheckFlags(segmentEndFlags) && SegmentFlags.CheckFlags(segmentFlags) && VanillaSegmentFlags.CheckFlags(vanillaSegmentFlags);
public bool CheckFlags(NetSegmentEnd.Flags flags) => flags.CheckFlags(Required, Forbidden);
public static NetSegmentEnd.Flags GetUsedFlagsSegmentEnd(ushort segmentID, ushort nodeID) { NetSegmentEnd.Flags ret = segmentID.ToSegment().Info.GetMetaData()?.UsedCustomFlags.SegmentEnd ?? 0; ret |= nodeID.ToNode().Info.GetMetaData()?.UsedCustomFlags.SegmentEnd ?? 0; return(ret); }
public static bool CheckFlags(this NetSegmentEnd.Flags value, NetSegmentEnd.Flags required, NetSegmentEnd.Flags forbidden) => (value & (required | forbidden)) == required;