private void SwitchAllScroll(MonoFrame frame, bool enable) { var cpns = frame.GetComponentsInChildren <ScrollRect>(); foreach (var item in cpns) { item.enabled = enable; } }
private void ResetAllScroll(MonoFrame frame) { var cpns = frame.GetComponentsInChildren <ScrollRect>(); foreach (var item in cpns) { item.verticalNormalizedPosition = 1; } }
public void OnDismissed(MonoFrame frame) { frame.Listener = null; if (Current == frame) { frames.Pop(); } if (Current != null) { image.UpdateVertices(null, Vector4.zero); Current.Resume(true); } if (frames.Count == 0) { image.enabled = false; } }
public void Show(MonoFrame frame, bool animated, object data = null, bool dismissCurrent = true, bool pauseCurrent = true) { SwitchAllScroll(frame, false); ResetAllScroll(frame); if (frames.Contains(frame)) { Debug.LogError("Frame already shown"); return; } if (Current != null && Current.IsTopFrame) { return; } image.enabled = true; image.UpdateVertices(null, Vector4.zero); if (dismissCurrent && Current != null && Current.Dismissable) { var current = frames.Pop(); current.Listener = null; current.Dismiss(true); } else { var current = Current; if (current != null && pauseCurrent) { current.Pause(true); } } frames.Push(frame); frame.Listener = this; frame.Show(data, animated); }
internal static Shape Read(BinaryReaderEx br, DRBVersion version, Dictionary <int, string> strings, long shprStart) { int typeOffset = br.ReadInt32(); int shprOffset = br.ReadInt32(); string type = strings[typeOffset]; Shape result; br.StepIn(shprStart + shprOffset); { if (type == "Dialog") { result = new Dialog(br, version); } else if (type == "GouraudFrame") { result = new GouraudFrame(br, version); } else if (type == "GouraudRect") { result = new GouraudRect(br, version); } else if (type == "GouraudSprite") { result = new GouraudSprite(br, version); } else if (type == "Mask") { result = new Mask(br, version, strings); } else if (type == "MonoFrame") { result = new MonoFrame(br, version); } else if (type == "MonoRect") { result = new MonoRect(br, version); } else if (type == "Null") { result = new Null(br, version); } else if (type == "ScrollText") { result = new ScrollText(br, version, strings); } else if (type == "Sprite") { result = new Sprite(br, version); } else if (type == "Text") { result = new Text(br, version, strings); } else { throw new InvalidDataException($"Unknown shape type: {type}"); } } br.StepOut(); return(result); }
public void OnResumed(MonoFrame frane) { image.UpdateVertices(frane.solidZone, frane.solidZoneMargin); }
public void OnPaused(MonoFrame frame) { }
public void OnShown(MonoFrame frame) { SwitchAllScroll(frame, true); image.UpdateVertices(frame.solidZone, frame.solidZoneMargin); }