public UIImplements(IPrefabLoader prefabLoader, ISounder sounder, IFadeCreator fadeCreator, ILoadingCreator loadingCreator, IToastCreator toastCreator) { PrefabLoader = prefabLoader; Sounder = sounder; FadeCreator = fadeCreator; LoadingCreator = loadingCreator; ToastCreator = toastCreator; }
private static void PlayClickSound(ISounder sounder, UISound se) { if (!string.IsNullOrEmpty(se.m_PlayName)) { sounder.PlayClickSE(se.m_PlayName); } else { sounder.PlayDefaultClickSE(); } }
public ISounder[] GetAllSounders() { ISounder[] sounders = new ISounder[m_Sounders.Count]; LinkedListNode <ISounder> node = m_Sounders.First; int index = 0; while (node != null) { sounders[index] = node.Value; ++index; node = node.Next; } return(sounders); }
private static bool OnClick(ISounder sounder, TouchEvent touch) { UISound se = new UISound(); bool ret = touch.Listener.Part.OnClick(touch, se); // if (ret) touch.Listener.Part.TargetLayer?.OnClick(touch, se); if (!ret || sounder == null) { return(ret); } PlayClickSound(sounder, se); return(true); }
public void PlayAudio(object audioAsset, AudioInfo info) { if (info == null) { throw new ArgumentNullException("invalid audio info"); } ISounder sounder = null; LinkedListNode <ISounder> node = m_Sounders.First; int sameCount = 0; while (node != null) { if (MaxSameAudioCount > 0 && node.Value.AudioAsset == audioAsset) { ++sameCount; if (sounder != null && node.Value.Time > sounder.Time) { sounder = node.Value; } } if (!node.Value.Loop && node.Value.IsStopped) { sounder = node.Value; break; } node = node.Next; } if (sounder == null) { sounder = m_Creater.CreateSounder(SounderRoot); m_Sounders.AddLast(sounder); } sounder.Reset(audioAsset, info); sounder.Play(); }
public void Implement(IPrefabLoader prefabLoader, ISounder sounder, IFadeCreator fadeCreator) { m_instance.m_implements = new UIImplements(prefabLoader, sounder, fadeCreator); }
public static void SetImplement(IPrefabLoader prefabLoader, ISounder sounder, IFadeCreator fadeCreator, ILoadingCreator loadingCreator, IToastCreator toastCreator) { Instance.m_Implements = new UIImplements(prefabLoader, sounder, fadeCreator, loadingCreator, toastCreator); }
public UIImplements(IPrefabLoader prefabLoader, ISounder sounder, IFadeCreator fadeCreator) { m_prefabLoader = prefabLoader; m_sounder = sounder; m_fadeCreator = fadeCreator; }
public void CallTouchEvents(int untouchableIndex, bool isScreenTouchable, ISounder sounder) { while (m_TouchEvents.Count > 0) { TouchEvent touch = m_TouchEvents.Dequeue(); if (!CheckTouchable(untouchableIndex, isScreenTouchable, touch)) { continue; } bool ret = false; // Trueが帰ってきたらTargetLayerにも伝播 // 一旦無し switch (touch.Type) { case EnumTouchType.Click: ret = OnClick(sounder, touch); break; case EnumTouchType.Down: ret = touch.Listener.Part.OnTouchDown(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnTouchDown(touch); break; case EnumTouchType.Up: ret = touch.Listener.Part.OnTouchUp(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnTouchUp(touch); break; case EnumTouchType.Drag: ret = touch.Listener.Part.OnDrag(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnDrag(touch); break; case EnumTouchType.BeginDrag: ret = touch.Listener.Part.OnBeginDrag(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnBeginDrag(touch); break; case EnumTouchType.EndDrag: ret = touch.Listener.Part.OnEndDrag(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnEndDrag(touch); break; case EnumTouchType.Drop: ret = touch.Listener.Part.OnDrop(touch); // if (ret) touch.Listener.Part.TargetLayer?.OnDrop(touch); break; case EnumTouchType.None: break; default: break; } if (!ret) { continue; } m_TouchEvents.Clear(); break; } }
public SounderPresenter(ISounder view, LVL lvl) { CurLVL = lvl; _view = view; view.SounderPaint += SounderPanel_Paint; }