예제 #1
0
 public virtual void PostOpen()
 {
     if (soundAppear != null)
     {
         soundAppear.PlayOneShotOnCamera();
     }
     if (soundAmbient != null)
     {
         sustainerAmbient = soundAmbient.TrySpawnSustainer(SoundInfo.OnCamera(MaintenanceType.PerFrame));
     }
 }
예제 #2
0
 protected virtual void FinalizeDesignationFailed()
 {
     if (soundFailed != null)
     {
         soundFailed.PlayOneShotOnCamera();
     }
     if (Find.DesignatorManager.Dragger.FailureReason != null)
     {
         Messages.Message(Find.DesignatorManager.Dragger.FailureReason, MessageTypeDefOf.RejectInput, historical: false);
     }
 }
예제 #3
0
        private static void PlaySound()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (SoundDef item in DefDatabase <SoundDef> .AllDefs.Where((SoundDef s) => !s.sustain))
            {
                SoundDef localSd = item;
                list.Add(new DebugMenuOption(localSd.defName, DebugMenuOptionMode.Action, delegate
                {
                    if (localSd.subSounds.Any((SubSoundDef sub) => sub.onCamera))
                    {
                        localSd.PlayOneShotOnCamera();
                    }
                    else
                    {
                        localSd.PlayOneShot(SoundInfo.InMap(new TargetInfo(Find.CameraDriver.MapPosition, Find.CurrentMap)));
                    }
                }));
            }
            Find.WindowStack.Add(new Dialog_DebugOptionListLister(list));
        }
예제 #4
0
파일: DiaOption.cs 프로젝트: potsh/RimWorld
 protected void Activate()
 {
     if (clickSound != null && !resolveTree)
     {
         clickSound.PlayOneShotOnCamera();
     }
     if (resolveTree)
     {
         OwningDialog.Close();
     }
     if (action != null)
     {
         action();
     }
     if (linkLateBind != null)
     {
         OwningDialog.GotoNode(linkLateBind());
     }
     else if (link != null)
     {
         OwningDialog.GotoNode(link);
     }
 }