Ejemplo n.º 1
0
    public void AddItem(UICmdItem.CmdType type)
    {
        int       idx     = listItem.Count;
        UICmdItem cmdItem = (UICmdItem)GameObject.Instantiate(uiCmdItemPrefab);

        cmdItem.transform.parent = objScrollViewContent.transform;
        //this.transform;
        cmdItem.transform.localScale    = new Vector3(1, 1, 1);
        cmdItem.transform.localPosition = new Vector3(0, 0, 0);
        cmdItem.index         = idx;
        cmdItem.cmdType       = type;
        cmdItem.callBackTouch = OnUITouchEvent;
        cmdItem.UpdateItem();

        //更新scrollview 内容的长度
        RectTransform rctranItem = cmdItem.GetComponent <RectTransform>();
        RectTransform rctran     = objScrollViewContent.GetComponent <RectTransform>();
        Vector2       size       = rctran.sizeDelta;

        widthItem = rctranItem.rect.width;
        Debug.Log("widthItem=" + widthItem);
        size.x           = widthItem * (idx + 1);
        rctran.sizeDelta = size;

        listItem.Add(cmdItem);
    }
Ejemplo n.º 2
0
    public void OnUICmdItemTouchUp(UICmdItem item, PointerEventData eventData)
    {
        Vector2   posScreen = eventData.position;
        Transform parent    = uiCmdBarRun.GetItemParent(item);

        if (parent != null)
        {
            //命令移动到run bar上面
            item.transform.parent = parent;
            RectTransform rt = item.GetComponent <RectTransform>();
            rt.anchoredPosition = Vector2.zero;
            return;
        }
        Debug.Log("posScreen =" + posScreen + " item.posTouchDown=" + item.posTouchDown);
        float         action_time = 1f;
        RectTransform rctran      = item.GetComponent <RectTransform>();
        Vector2       pt          = item.localPosNormal;

        item.transform.parent = this.transform;
        rctran.DOLocalMove(pt, action_time).SetEase(Ease.InOutSine).OnComplete(
            () =>
        {
            Debug.Log("rctran.localPosition=" + rctran.localPosition);
            //  item.ShowTextCount(true);
            OnDragAnimateFinish();
            // LayOutItem();
        }
            );
    }
Ejemplo n.º 3
0
    public void OnUICmdItemTouchMove(UICmdItem item, PointerEventData eventData)
    {
        Vector2 posScreen = eventData.position;

        //position 当gameObject为canvas元素时为屏幕坐标而非世界坐标
        item.gameObject.transform.position = posScreen;
        item.transform.parent = AppSceneBase.main.canvasMain.transform;
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Awake is called when the script instance is being loaded.
    /// </summary>
    void Awake()
    {
        listItemFt = new List <object>();
        GameObject obj = PrefabCache.main.Load(AppRes.PREFAB_CmdItem);

        uiCmdItemPrefab = obj.GetComponent <UICmdItem>();
        count           = 0;
    }
Ejemplo n.º 5
0
    /// <summary>
    /// Awake is called when the script instance is being loaded.
    /// </summary>
    void Awake()
    {
        listItem = new List <UICmdItem>();
        listCmd  = new List <UICmdItem.CmdType>();
        GameObject obj = PrefabCache.main.Load(AppRes.PREFAB_CmdItem);

        uiCmdItemPrefab = obj.GetComponent <UICmdItem>();
        scrollRect      = objScrollView.GetComponent <ScrollRect>();
        // AddItem(UICmdItem.CmdType.RIGHT);
        // AddItem(UICmdItem.CmdType.UP);
        // AddItem(UICmdItem.CmdType.RIGHT);//RIGHT
        // AddItem(UICmdItem.CmdType.DOWN);
        // AddItem(UICmdItem.CmdType.LEFT);
    }
Ejemplo n.º 6
0
    public void AddItem(UICmdItem.CmdType type)
    {
        count                   = maxCount;
        uiCmdItemBg             = CreateItem(type);
        uiCmdItemBg.enableTouch = false;
        for (int i = 0; i < maxCount; i++)
        {
            listItemFt.Add(CreateItem(type));
        }

        SetTextToTopMost();

        UpdateCount();
    }
Ejemplo n.º 7
0
    UICmdItem CreateItem(UICmdItem.CmdType type)
    {
        UICmdItem cmdItem = (UICmdItem)GameObject.Instantiate(uiCmdItemPrefab);

        cmdItem.transform.parent        = this.transform;
        cmdItem.transform.localScale    = new Vector3(1, 1, 1);
        cmdItem.transform.localPosition = new Vector3(0, 0, 0);
        cmdItem.index         = 0;
        cmdItem.cmdType       = type;
        cmdItem.callBackTouch = OnUITouchEvent;
        cmdItem.UpdateItem();
        cmdItem.localPosNormal = cmdItem.transform.localPosition;


        return(cmdItem);
    }
Ejemplo n.º 8
0
    public void OnUITouchEvent(UICmdItem item, PointerEventData eventData, int status)
    {
        switch (status)
        {
        case UITouchEvent.STATUS_TOUCH_DOWN:

            break;

        case UITouchEvent.STATUS_TOUCH_MOVE:
            OnUICmdItemTouchMove(item, eventData);
            break;

        case UITouchEvent.STATUS_TOUCH_UP:
            OnUICmdItemTouchUp(item, eventData);
            break;
        }
    }
Ejemplo n.º 9
0
    CarMotion.Move GetCmdDirection(int idx)
    {
        CarMotion.Move ret = CarMotion.Move.NONE;
        if (idx < uiCmdBarRun.listItem.Count)
        {
            UICmdItem item = uiCmdBarRun.listItem[idx] as UICmdItem;
            switch (item.cmdType)
            {
            case UICmdItem.CmdType.START:
                ret = CarMotion.Move.RIGHT;
                break;

            case UICmdItem.CmdType.LEFT:
                ret = CarMotion.Move.LEFT;
                break;

            case UICmdItem.CmdType.RIGHT:
                ret = CarMotion.Move.RIGHT;
                break;

            case UICmdItem.CmdType.UP:
                ret = CarMotion.Move.UP;
                break;

            case UICmdItem.CmdType.DOWN:
                ret = CarMotion.Move.DOWN;
                break;

            case UICmdItem.CmdType.NONE:
                ret = CarMotion.Move.NONE;
                carMotion.runStatus = CarMotion.RunStatus.NO_CMD;
                if (iCarDelegate != null)
                {
                    iCarDelegate.CarUpdateStatus(this, carMotion.runStatus);
                }
                break;

            default:

                break;
            }
        }

        return(ret);
    }
Ejemplo n.º 10
0
    public void OnUICmdItemTouchUp(UICmdItem item, PointerEventData eventData)
    {
        Vector2 posScreen = eventData.position;
        //恢复位置动画
        // iTween.MoveTo(item.gameObject, iTween.Hash("position", item.posTouchDown, "time", 1f, "easeType", iTween.EaseType.easeInQuint));
        float         action_time = 1f;
        RectTransform rctran      = item.GetComponent <RectTransform>();
        Vector2       pt          = item.posTouchDown;

        //
        rctran.DOMove(pt, action_time).SetEase(Ease.InOutSine).OnComplete(
            () =>
        {
            item.transform.parent = objScrollViewContent.transform;
            LayOutItem();
        }
            );
    }
Ejemplo n.º 11
0
    public Transform GetItemParent(UICmdItem item)
    {
        Transform t = null;

        foreach (UICmdItem item_bar in listItem)
        {
            Vector2       posNow     = item.gameObject.transform.position;
            RectTransform rctran_bar = item_bar.GetComponent <RectTransform>();
            Vector2       posBar     = item_bar.gameObject.transform.position;
            float         w_screen   = Common.CanvasToScreenWidth(AppSceneBase.main.sizeCanvas, rctran_bar.rect.width);
            float         h_screen   = Common.CanvasToScreenWidth(AppSceneBase.main.sizeCanvas, rctran_bar.rect.height);
            Rect          rc         = new Rect(posBar.x - w_screen / 2, posBar.y - h_screen / 2, w_screen, h_screen);
            if (rc.Contains(posNow))
            {
                t = item_bar.transform;
                item_bar.cmdType = item.cmdType;
                break;
            }
        }
        return(t);
    }
Ejemplo n.º 12
0
    public void OnUICmdItemTouchMove(UICmdItem item, PointerEventData eventData)
    {
        Vector2 posScreen = eventData.position;

        //position 当gameObject为canvas元素时为屏幕坐标而非世界坐标
        item.gameObject.transform.position = posScreen;

        if (isFirstTouchMove)
        {
            if (item.transform.parent == this.transform)
            {
                OnDragStart();
            }

            isFirstTouchMove = false;
        }


        item.transform.parent = AppSceneBase.main.canvasMain.transform;
        // item.ShowTextCount(false);
    }
Ejemplo n.º 13
0
    // 判断命令位置放置正确
    public bool IsItemInTheBar(UICmdItem item)
    {
        bool ret = false;

        return(ret);
    }
Ejemplo n.º 14
0
 public void Add(UICmdItem item)
 {
     ArgumentChecker.CheckNotNull(item);
     _list.Add(item);
 }
Ejemplo n.º 15
0
 public void OnUICmdItemTouchDown(UICmdItem item, PointerEventData eventData)
 {
     isFirstTouchMove = true;
 }