Exemple #1
0
 /// <summary>
 /// 交还图片显示控件
 /// </summary>
 /// <param name="image"></param>
 void PushImageContainer(EmueraImage image)
 {
     image.Clear();
     image.gameObject.SetActive(false);
     image.gameObject.name = "unused";
     image.transform.SetParent(cache_images);
     cache_image_containers_.Push(image);
 }
Exemple #2
0
    void UpdateLine(Vector2 local, float display_height, int index, int delta)
    {
        var zero = begin_index;

        while (zero <= index && index < end_index)
        {
            var l = console_lines_[index % max_log_count];
            if (l.position_y > local.y + display_height ||
                l.position_y + l.height < local.y)
            {
                break;
            }

            for (int li = 0; li < l.units.Count; ++li)
            {
                var unit = l.units[li];
                if (!unit.empty)
                {
                    var lc = PullLine();
                    lc.line_desc = l;
                    lc.UnitIdx   = li;
                    lc.Width     = unit.width;
                    lc.UpdateContent();
                    lc.SetPosition(unit.posx + local.x, local.y - lc.logic_y);
                    display_lines_.Add(lc);
                }
                if (unit.image_indices != null && unit.image_indices.Count > 0)
                {
                    var         hash = l.LineNo * 1000 + li;
                    EmueraImage ic   = null;
                    if (!display_images_.TryGetValue(hash, out ic))
                    {
                        ic = PullImageContainer();
                        display_images_.Add(l.LineNo * 1000 + li, ic);
                    }
                    else
                    {
                        ic.Clear();
                    }
                    ic.line_desc = l;
                    ic.UnitIdx   = li;
                    ic.Width     = unit.width;
                    ic.UpdateContent();
                    ic.SetPosition(unit.posx + local.x, local.y - ic.logic_y);
                }
            }
            index += delta;
        }
    }