public void StartDryerCycle() { if (state == DryerState.DoorClosed) { state = DryerState.Running; StartCoroutine(DryerCycle()); } }
protected override void Start() { areaPrefab = (GameObject)Resources.Load("DryerArea"); HasGravity = true; base.Start(); contents = new List <Garment>(); state = DryerState.DoorClosed; dryerSetting = DryerSetting.High; lintTrapClean = true; }
public void ToggleDoor() { if (state == DryerState.DoorClosed || state == DryerState.Done) { state = DryerState.DoorOpen; DoorOpens(); } else if (state == DryerState.DoorOpen) { state = DryerState.DoorClosed; DoorCloses(); } }
private IEnumerator DryerCycle() { float cycleTime = 0.0f; if (dryerSetting == DryerSetting.High) { cycleTime = 10.0f; } else if (dryerSetting == DryerSetting.Low) { cycleTime = 20.0f; } if (!lintTrapClean) { cycleTime += 10.0f; } AudioManager.instance.PlaySound(SoundName.MachineStart); List <Garment> garmentsToBeAdded = new List <Garment>(); foreach (Garment garment in contents) { //Unfold garments if they are folded if (garment is GarmentSock && garment.Folded) { GarmentSock other = ((GarmentSock)garment).SeparatePair(); other.currentFoldingStep = 0; garmentsToBeAdded.Add(other); } garment.currentFoldingStep = 0; } //Put separated socks in machine foreach (Garment garment in garmentsToBeAdded) { contents.Add(garment); } if (autoCompleteFlag) { AudioManager.instance.PlaySoundLoop(SoundName.RunningDryer, 6.0f); yield return(new WaitForLaundromatSeconds(6.0f)); autoCompleteFlag = false; } else { AudioManager.instance.PlaySoundLoop(SoundName.RunningDryer, cycleTime); yield return(new WaitForLaundromatSeconds(cycleTime)); } foreach (Garment garment in contents) { if ((garment.fabric.dryingRestrictions == DryingRestrictions.LowOnly && dryerSetting == DryerSetting.High) || (garment.fabric.dryingRestrictions == DryingRestrictions.HighOnly && dryerSetting == DryerSetting.Low) || garment.fabric.dryingRestrictions == DryingRestrictions.HangDryOnly) { garment.Torn = true; } garment.Dry = true; } if (contents.Count > 0) { lintTrapClean = false; } state = DryerState.Done; }