protected override IEnumerable <Toil> MakeNewToils()
        {
            this.FailOnDespawnedOrNull(TargetIndex.A);
            this.FailOn(() => this.$this.OtherFiance.Drafted || !this.$this.pawn.Position.AdjacentTo8WayOrInside(this.$this.OtherFiance));
            Toil marry = new Toil();

            marry.initAction = delegate
            {
                this.$this.ticksLeftToMarry = 2500;
            };
            marry.tickAction = delegate
            {
                this.$this.ticksLeftToMarry--;
                if (this.$this.ticksLeftToMarry <= 0)
                {
                    this.$this.ticksLeftToMarry = 0;
                    this.$this.ReadyForNextToil();
                }
            };
            marry.defaultCompleteMode = ToilCompleteMode.Never;
            marry.FailOn(() => !this.$this.pawn.relations.DirectRelationExists(PawnRelationDefOf.Fiance, this.$this.OtherFiance));
            yield return(marry);

            yield return(new Toil
            {
                defaultCompleteMode = ToilCompleteMode.Instant,
                initAction = delegate
                {
                    if (this.$this.pawn.thingIDNumber < this.$this.OtherFiance.thingIDNumber)
                    {
                        MarriageCeremonyUtility.Married(this.$this.pawn, this.$this.OtherFiance);
                    }
                }
            });
        }
        protected override IEnumerable <Toil> MakeNewToils()
        {
            this.FailOnDespawnedOrNull(TargetIndex.A);
            this.FailOn(() => OtherFiance.Drafted || !pawn.Position.AdjacentTo8WayOrInside(OtherFiance));
            Toil toil = new Toil();

            toil.initAction = delegate
            {
                ticksLeftToMarry = 2500;
            };
            toil.tickAction = delegate
            {
                ticksLeftToMarry--;
                if (ticksLeftToMarry <= 0)
                {
                    ticksLeftToMarry = 0;
                    ReadyForNextToil();
                }
            };
            toil.defaultCompleteMode = ToilCompleteMode.Never;
            toil.FailOn(() => !pawn.relations.DirectRelationExists(PawnRelationDefOf.Fiance, OtherFiance));
            yield return(toil);

            Toil toil2 = new Toil();

            toil2.defaultCompleteMode = ToilCompleteMode.Instant;
            toil2.initAction          = delegate
            {
                if (pawn.thingIDNumber < OtherFiance.thingIDNumber)
                {
                    MarriageCeremonyUtility.Married(pawn, OtherFiance);
                }
            };
            yield return(toil2);
        }
            public bool MoveNext()
            {
                uint num = (uint)this.$PC;

                this.$PC = -1;
                switch (num)
                {
                case 0u:
                    this.FailOnDespawnedOrNull(TargetIndex.A);
                    this.FailOn(() => base.OtherFiance.Drafted || !this.pawn.Position.AdjacentTo8WayOrInside(base.OtherFiance));
                    marry            = new Toil();
                    marry.initAction = delegate()
                    {
                        this.ticksLeftToMarry = 2500;
                    };
                    marry.tickAction = delegate()
                    {
                        this.ticksLeftToMarry--;
                        if (this.ticksLeftToMarry <= 0)
                        {
                            this.ticksLeftToMarry = 0;
                            base.ReadyForNextToil();
                        }
                    };
                    marry.defaultCompleteMode = ToilCompleteMode.Never;
                    marry.FailOn(() => !this.pawn.relations.DirectRelationExists(PawnRelationDefOf.Fiance, base.OtherFiance));
                    this.$current = marry;
                    if (!this.$disposing)
                    {
                        this.$PC = 1;
                    }
                    return(true);

                case 1u:
                {
                    Toil finalize = new Toil();
                    finalize.defaultCompleteMode = ToilCompleteMode.Instant;
                    finalize.initAction          = delegate()
                    {
                        if (this.pawn.thingIDNumber < base.OtherFiance.thingIDNumber)
                        {
                            MarriageCeremonyUtility.Married(this.pawn, base.OtherFiance);
                        }
                    };
                    this.$current = finalize;
                    if (!this.$disposing)
                    {
                        this.$PC = 2;
                    }
                    return(true);
                }

                case 2u:
                    this.$PC = -1;
                    break;
                }
                return(false);
            }