Exemplo n.º 1
0
        public void FormatPos(BaseOrder order = null)
        {
            m_order_list.Sort();
            Vector3   temp_pos;
            BaseOrder temp_order;

            for (int idx = 0; idx < m_order_list.Count; idx++)
            {
                temp_pos             = CaculPos(idx);
                temp_order           = m_order_list[idx];
                temp_order.PosInList = idx;
                if (order == temp_order || temp_order.holderPos == temp_pos || Vector3.Distance(temp_pos, temp_order.transform.localPosition) <= 1)
                {
                    continue;
                }
                temp_order.holderPos = temp_pos;
                MoveOrder(temp_order, temp_pos);
            }
            var rect = transform as RectTransform;

            if (rect.sizeDelta.y != contentHeight)
            {
                rect.sizeDelta = new Vector2(rect.sizeDelta.x, contentHeight);
            }
        }
Exemplo n.º 2
0
 public void PreInsert(BaseOrder obj_base_order)
 {
     obj_base_order.gameObject.transform.SetParent(transform);
     if (m_order_list.Contains(obj_base_order))
     {
         return;
     }
     m_order_list.Add(obj_base_order);
 }
Exemplo n.º 3
0
 void Update()
 {
     if (status == nowStatus.READY)
     {
         order = GetOrder();
         if (order != null)
         {
             status = nowStatus.EXCUTING;
             ExcuteOrder(order);
         }
     }
 }
Exemplo n.º 4
0
        private void ExcuteOrder(BaseOrder order)
        {
            var nowRotation = transform.rotation.eulerAngles;

            form.UpdateLog(str1 + order.order.ToString());
            if (order.order == OrderType.MOVE_FORWARD)
            {
                var o_pos = -transform.forward + transform.position;
                var t     = transform.DOMove(o_pos, 1);
                BindIdAndCallBack(t);
            }
            else if (order.order == OrderType.TRUN_LEFT)
            {
                nowRotation.y -= 90;
                var t = transform.DORotate(nowRotation, 1);
                BindIdAndCallBack(t);
            }
            else if (order.order == OrderType.TURN_RIGHT)
            {
                nowRotation.y += 90;
                var t = transform.DORotate(nowRotation, 1);
                BindIdAndCallBack(t);
            }
            else if (order.order == OrderType.LOOP_TAIL)
            {
                var loopOrder = (LoopOrder)order;
                if (loopOrder.PosInList < loopOrder.Another.PosInList)   //循环尾部要在循环顶部之前
                {
                    endExcute();
                    form.UpdateLog(str3);
                    //报错【循环尾部要在循环顶部之前】
                }
                else
                {
                    if (loopOrder.Excute())
                    {
                        nowLine = loopOrder.Another.PosInList;
                    }
                    this.Delay(0.2f, onOrderComplete);
                }
            }
            else if (order.order == OrderType.LOOP_MAIN)
            {
                this.Delay(0.2f, onOrderComplete);
            }
        }
Exemplo n.º 5
0
 public void NormalMode()
 {
     stat    = OrderHolderStatus.NORMAL;
     SpOrder = null;
     //some notice
 }
Exemplo n.º 6
0
 public void SpMode(BaseOrder order)
 {
     stat    = OrderHolderStatus.SP;
     SpOrder = order;
     //some notice
 }
Exemplo n.º 7
0
 private void MoveOrder(BaseOrder order, Vector3 pos)
 {
     order.OnTweenMovePos(pos);
 }