示例#1
0
        static async Task Main(string[] args)
        {
            // Send Order Information To Queue
            await OrderSender.SendOrderInformationToQueueAsync(serviceBusConnection, queueName);

            // Receive Order Information To Queue
            await OrderReceiver.ReceiveOrderInformationFromQueueAsync(serviceBusConnection, queueName);
        }
示例#2
0
    void OnTriggerExit(Collider coll)
    {
        if (coll.tag == "FriendlyUnit")
        {
            OrderReceiver order = coll.GetComponent <OrderReceiver>();

            if (order.IsActive == true)
            {
                order.ToggleSelected();
                _manager.activeList.Remove(coll.transform);
            }
        }
    }
        public override void Run()
        {
            Trace.TraceInformation("DefaultWorker is running");

            try
            {
                var receiver = new OrderReceiver();
                receiver.Run(cancellationTokenSource.Token);
            }
            finally
            {
                this.runCompleteEvent.Set();
            }
        }
示例#4
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            _hitInfo = new RaycastHit();
            _hit     = Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out _hitInfo);
            if (_hit)
            {
                _startDragPoint = _hitInfo.point;


                if (_hitInfo.collider.tag == "FriendlyUnit")
                {
                    OrderReceiver order = _hitInfo.collider.GetComponent <OrderReceiver>();
                    order.ToggleSelected();

                    if (order.IsActive == true)
                    {
                        activeList.Add(_hitInfo.transform);
                    }
                    else
                    {
                        activeList.Remove(_hitInfo.transform);
                    }
                }                //Friendly Unit check

                if (_hitInfo.collider.tag == "Ground")
                {
                    _movingOrder = true;
                } //Ground Click Check
            }     //Hit Check
        }         //MouseButtonDown Check

        if (Input.GetMouseButton(0))
        {
            _timer += Time.deltaTime;

            if (_timer >= 0.2f)             //small delay before the selection cube actually appears
            {
                _movingOrder = false;
                if (selectionCube.gameObject.activeInHierarchy == false)
                {
                    selectionCube.gameObject.SetActive(true);
                }

                _hitInfo = new RaycastHit();
                _hit     = Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out _hitInfo);

                Vector3 midPoint = (_startDragPoint + _hitInfo.point) / 2;

                selectionCube.position   = new Vector3(midPoint.x, 0.2f, midPoint.z);
                selectionCube.localScale = new Vector3(_hitInfo.point.x - _startDragPoint.x, 0, _hitInfo.point.z - _startDragPoint.z);
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            selectionCube.gameObject.SetActive(false);
            _timer = 0;
            if (_movingOrder)
            {
                int formationDimension = (int)Mathf.Sqrt(activeList.Count + 2);
                foreach (Transform unit in activeList)
                {
                    int   rowNum = activeList.IndexOf(unit) / formationDimension;
                    int   colNum = activeList.IndexOf(unit) % formationDimension;
                    float offset = 1.5f;
                    unit.GetComponent <OrderReceiver>().MoveToPosition(new Vector3(_hitInfo.point.x + offset * rowNum, unit.position.y, _hitInfo.point.z + offset * colNum));
                }
                _movingOrder = false;
            }
        }
    }    //update
示例#5
0
 public void RemoveOrderListener(OrderReceiver listener)
 {
     orderListeners.Remove(listener);
 }
示例#6
0
 public void AddOrderListener(OrderReceiver listener)
 {
     orderListeners.Add(listener);
 }