public void BeginChore() { Chore nextChore = GetNextChore(); Chore chore = base.smi.sm.currentChore.Set(nextChore, base.smi); if (chore != null && chore.IsPreemptable && (UnityEngine.Object)chore.driver != (UnityEngine.Object)null) { chore.Fail("Preemption!"); } base.smi.sm.nextChore.Set(null, base.smi); Chore chore2 = chore; chore2.onExit = (Action <Chore>)Delegate.Combine(chore2.onExit, new Action <Chore>(OnChoreExit)); chore.Begin(base.master.context); Trigger(-1988963660, chore); }