예제 #1
0
파일: CGUI.cs 프로젝트: silantzis/quest
 public void ClearDrag()
 {
     m_DragSlot = null;
     m_DragContainer = null;
     m_Dragging = false;
 }
예제 #2
0
파일: CGUI.cs 프로젝트: silantzis/quest
    void Update()
    {
        Vector2 mousePos = new Vector2(Input.mousePosition.x,
                                 	   Screen.height - Input.mousePosition.y);

        GUIItemContainer targetContainer = null;

        foreach (GUIItemContainer container in m_Containers)
        {
            if (container.enabled && container.rect.Contains(mousePos))
            {
                targetContainer = container;
                break;
            }
        }

        if (targetContainer != m_HoverContainer)
        {
            if (m_HoverContainer == null)
            {
                //EVENT Hovered into a new container (targetContainer)
            }
            else
            {
                //EVENT Hovered out of container (m_HoverContainer)
                if (m_HoverSlot != null)
                {
                    m_HoverContainer.OnHoverOut(m_HoverSlot);
                }

                if (targetContainer != null)
                {
                    //EVENT Hovered into a new container (targetContainer)
                }

            }
        }

        m_HoverContainer = targetContainer;

        m_MouseDown = false;
        if (m_HoverContainer)
        {
            if (Input.GetMouseButtonDown(0))
            {
                //bring this container to the front
                m_Containers.Remove(m_HoverContainer);
                m_Containers.Insert(0, m_HoverContainer);

                m_HoverContainer.OnMouseDown(m_HoverSlot);
                m_MouseDown = true;
            }
            else if (Input.GetMouseButton(0))
            {
                m_MouseDown = true;
            }
            else if (Input.GetMouseButtonUp(0))
            {
                m_HoverContainer.OnReleaseMouse(m_HoverSlot);
            }
            else if (Input.GetMouseButtonDown(1))
            {
                m_HoverContainer.OnUse(m_HoverSlot);
            }

            m_HoverContainer.UpdateFromController(mousePos);
        }
        else
        {
            if (Input.GetMouseButtonUp(0))
            {
                if (m_Dragging)
                    m_DragContainer.OnReleaseMouse(null);
            }
        }
    }
예제 #3
0
파일: CGUI.cs 프로젝트: silantzis/quest
 public void RegisterContainer(GUIItemContainer container)
 {
     m_Containers.Add(container);
 }
예제 #4
0
파일: CGUI.cs 프로젝트: silantzis/quest
 public void UnregisterContainer(GUIItemContainer container)
 {
     m_Containers.Remove(container);
 }
예제 #5
0
파일: CGUI.cs 프로젝트: silantzis/quest
 public void Drag(GUIItemSlot slot, GUIItemContainer container)
 {
     m_DragSlot = slot;
     m_DragContainer = container;
     m_Dragging = true;
 }