示例#1
0
 /// <summary>
 /// Play the slide effect.
 /// </summary>
 public override IEnumerator Play()
 {
     control = GetComponent<GUIControl>();
     if (control == null) yield break;
     control.visible = false;
     Rect rect = control.scaledRect.GetPixelRect();
     float startTime = DialogueTime.time;
     float endTime = startTime + duration;
     while (DialogueTime.time < endTime) {
         float elapsed = DialogueTime.time - startTime;
         float progress = Mathf.Clamp(elapsed / duration, 0, 1);
         switch (direction) {
         case SlideDirection.FromBottom:
             control.Offset = new Vector2(0, (1 - progress) * (Screen.height - rect.y));
             break;
         case SlideDirection.FromTop:
             control.Offset = new Vector2(0, -(1 - progress) * (rect.y + rect.height));
             break;
         case SlideDirection.FromLeft:
             control.Offset = new Vector2(-(1 - progress) * (rect.x + rect.width), 0);
             break;
         case SlideDirection.FromRight:
             control.Offset = new Vector2((1 - progress) * (Screen.width - rect.x), 0);
             break;
         }
         control.visible = true;
         control.Refresh();
         yield return null;
     }
     control.Offset = Vector2.zero;
     control.visible = true;
     control.Refresh();
 }
 private void UpdateLayoutChild(GUIControl child, Vector2 childWindowSize)
 {
     child.Refresh(childWindowSize);
     child.dRect = clipChildren ? Vector2.zero : new Vector2(rect.x, rect.y);
     child.UpdateLayout();
     //---Was (replaced by dRect above): if (!clipChildren) child.rect = new Rect(child.rect.x + rect.x, child.rect.y + rect.y, child.rect.width, child.rect.height);
 }
示例#3
0
 private void UpdateLayoutChild(GUIControl child, Vector2 childWindowSize)
 {
     child.Refresh(childWindowSize);
     child.UpdateLayout();
     if (!clipChildren)
     {
         child.rect = new Rect(child.rect.x + rect.x, child.rect.y + rect.y, child.rect.width, child.rect.height);
     }
 }
示例#4
0
        /// <summary>
        /// Play the slide effect.
        /// </summary>
        public override IEnumerator Play()
        {
            control = GetComponent <GUIControl>();
            if (control == null)
            {
                yield break;
            }
            control.visible = false;
            Rect  rect      = control.scaledRect.GetPixelRect();
            float startTime = DialogueTime.time;
            float endTime   = startTime + duration;

            while (DialogueTime.time < endTime)
            {
                float elapsed  = DialogueTime.time - startTime;
                float progress = Mathf.Clamp(elapsed / duration, 0, 1);
                switch (direction)
                {
                case SlideDirection.FromBottom:
                    control.Offset = new Vector2(0, (1 - progress) * (Screen.height - rect.y));
                    break;

                case SlideDirection.FromTop:
                    control.Offset = new Vector2(0, -(1 - progress) * (rect.y + rect.height));
                    break;

                case SlideDirection.FromLeft:
                    control.Offset = new Vector2(-(1 - progress) * (rect.x + rect.width), 0);
                    break;

                case SlideDirection.FromRight:
                    control.Offset = new Vector2((1 - progress) * (Screen.width - rect.x), 0);
                    break;
                }
                control.visible = true;
                control.Refresh();
                yield return(null);
            }
            control.Offset  = Vector2.zero;
            control.visible = true;
            control.Refresh();
        }
示例#5
0
 private void UpdateLayoutChild(GUIControl child, Vector2 childWindowSize)
 {
     child.Refresh(childWindowSize);
     child.dRect = clipChildren ? Vector2.zero : new Vector2(rect.x, rect.y);
     child.UpdateLayout();
     //---Was (replaced by dRect above): if (!clipChildren) child.rect = new Rect(child.rect.x + rect.x, child.rect.y + rect.y, child.rect.width, child.rect.height);
 }