Exemplo n.º 1
0
        public void UpdateUnphasedFlag()
        {
            PhaseShiftFlags unphasedFlag = !Flags.HasAnyFlag(PhaseShiftFlags.Inverse) ? PhaseShiftFlags.Unphased : PhaseShiftFlags.InverseUnphased;

            Flags &= ~(!Flags.HasFlag(PhaseShiftFlags.Inverse) ? PhaseShiftFlags.InverseUnphased : PhaseShiftFlags.Unphased);
            if (NonCosmeticReferences != 0 && DefaultReferences == 0)
            {
                Flags &= ~unphasedFlag;
            }
            else
            {
                Flags |= unphasedFlag;
            }
        }
Exemplo n.º 2
0
        public static void InitDbPhaseShift(PhaseShift phaseShift, PhaseUseFlagsValues phaseUseFlags, uint phaseId, uint phaseGroupId)
        {
            phaseShift.ClearPhases();
            phaseShift.IsDbPhaseShift = true;

            PhaseShiftFlags flags = PhaseShiftFlags.None;

            if (phaseUseFlags.HasAnyFlag(PhaseUseFlagsValues.AlwaysVisible))
            {
                flags = flags | PhaseShiftFlags.AlwaysVisible | PhaseShiftFlags.Unphased;
            }
            if (phaseUseFlags.HasAnyFlag(PhaseUseFlagsValues.Inverse))
            {
                flags |= PhaseShiftFlags.Inverse;
            }

            if (phaseId != 0)
            {
                phaseShift.AddPhase(phaseId, GetPhaseFlags(phaseId), null);
            }
            else
            {
                var phasesInGroup = Global.DB2Mgr.GetPhasesForGroup(phaseGroupId);
                foreach (uint phaseInGroup in phasesInGroup)
                {
                    phaseShift.AddPhase(phaseInGroup, GetPhaseFlags(phaseInGroup), null);
                }
            }

            if (phaseShift.Phases.Empty() || phaseShift.HasPhase(169))
            {
                if (flags.HasFlag(PhaseShiftFlags.Inverse))
                {
                    flags |= PhaseShiftFlags.InverseUnphased;
                }
                else
                {
                    flags |= PhaseShiftFlags.Unphased;
                }
            }

            phaseShift.Flags = flags;
        }