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); }
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(); } ); }
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; }
/// <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; }
/// <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); }
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(); }
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); }
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; } }
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); }
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(); } ); }
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); }
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); }
// 判断命令位置放置正确 public bool IsItemInTheBar(UICmdItem item) { bool ret = false; return(ret); }
public void Add(UICmdItem item) { ArgumentChecker.CheckNotNull(item); _list.Add(item); }
public void OnUICmdItemTouchDown(UICmdItem item, PointerEventData eventData) { isFirstTouchMove = true; }