private void CpwContext_OnTradeExecuted(CoverPositionWindowViewModel context)
        {
            context.View.Close();


            if (context.IsCancel)
            {
                return;
            }

            var position = context.CoverPosition;

            if (null == position)
            {
                position = new CoverPosition();
            }

            position.Amount          = context.LotSize;
            position.Coveraccount_id = context.SelectedCoveringAccount;
            position.OrderType       = context.SelectedOrderType;
            position.OpenPrice       = context.OpenPrice;
            //position.Opentime = DateTime.Now; //do not set
            position.OpenedBy  = username;
            position.Commodity = context.SelectedCommodity;
            //position.Internalid = Guid.NewGuid(); //will be regenerated at server end..
            position.Remoteid = context.Orderid;

            DealerService.GetInstance().saveUpdateCloseCoverPosition(position, "createUpdateCoverPosition");
        }
Esempio n. 2
0
        public void saveUpdateCloseCoverPosition(CoverPosition position, string command)
        {
            GenericRequestResponseDictionary request = new GenericRequestResponseDictionary();

            request["position"] = JsonConvert.SerializeObject(position);
            request["command"]  = command;

            sendCommand(request, "office");
        }
Esempio n. 3
0
    private void OnTriggerEnter(Collider other)
    {
        CoverPosition coverPos = other.GetComponent <CoverPosition>();

        if (coverPos != null)
        {
            if (!m_coverPositionScripts.Contains(coverPos))
            {
                m_coverPositionScripts.Add(coverPos);
            }
        }
    }
Esempio n. 4
0
    private void OnTriggerExit(Collider other)
    {
        CoverPosition coverPos = other.GetComponent <CoverPosition>();

        if (coverPos != null)
        {
            m_coverPositionScripts.Remove(coverPos);
        }
        else
        {
            //Debug.Log(other.name);
        }
    }
        private void ExecuteCloseSelectedCoverPositionCommand()
        {
            if (null == OpenCoverTradesCollectionView.CurrentItem)
            {
                return;
            }

            CoverPosition position = OpenCoverTradesCollectionView.CurrentItem as CoverPosition;

            position.ClosedBy = username;

            DealerService.GetInstance().saveUpdateCloseCoverPosition(position, "closeCoverPosition");
        }
Esempio n. 6
0
    static void CreateCoverPositionWizardMenu()
    {
        GameObject gm = new GameObject();

        gm.name = "CoverPosition";
        gm.AddComponent <BoxCollider>();
        CoverPosition co = gm.AddComponent <CoverPosition>();

        co.m_LayerMask = 1 << 8;
        if (Selection.activeTransform)
        {
            gm.transform.SetParent(Selection.activeTransform);
        }
        gm.transform.localPosition = Vector3.zero;
        gm.transform.localRotation = Quaternion.identity;
    }
Esempio n. 7
0
        public bool CanFindBestCoverPosition(ref CoverPosition coverPositionScript)
        {
            if (m_coverFinder == null || m_coverFinder.m_coverPositionScripts.Count < 1 || m_nearestOpponentVisibleCharacter.characterGameObject == null)
            {
                coverPositionScript = null;
                return(false);
            }
            bool    canFindCover              = false;
            Vector3 opponentPosition          = m_nearestOpponentVisibleCharacter.characterGameObject.transform.position;
            float   shortestSqrDistToCoverPos = float.MaxValue;

            foreach (CoverPosition item in m_coverFinder.m_coverPositionScripts)
            {
                if (item.m_isOccupied)
                {
                    continue;
                }

                Vector3 dirToOpponent = opponentPosition - item.transform.position;
                Debug.DrawRay(item.transform.position, dirToOpponent, Color.white, 10f);
                RaycastHit hitInfo;
                if (Physics.Raycast(item.transform.position + Vector3.up * 0.5f, dirToOpponent, out hitInfo, 3f, m_EnvironmentLayerForCover, QueryTriggerInteraction.Ignore))
                {
                    if (hitInfo.collider.gameObject.isStatic)
                    {
                        float sqrDist = Vector3.SqrMagnitude(transform.position - item.transform.position);
                        float sqrDistFromPointToOpponent = dirToOpponent.sqrMagnitude;

                        if (sqrDist < shortestSqrDistToCoverPos && sqrDistFromPointToOpponent <= m_AIField.ViewRange * m_AIField.ViewRange)
                        {
                            shortestSqrDistToCoverPos = sqrDist;
                            coverPositionScript       = item;
                            canFindCover = true;
                        }
                    }
                }
            }

            if (canFindCover == false)
            {
                coverPositionScript = null;
            }

            return(canFindCover);
        }
Esempio n. 8
0
        private Dictionary <string, CoverPosition> CalculateCoverFloatingStatus(List <CoverPosition> receivedPositions)
        {
            Dictionary <string, CoverPosition> ret = new Dictionary <string, CoverPosition>();

            string key = string.Empty;

            foreach (var p in receivedPositions)
            {
                key = p.Commodity;
                if (!ret.ContainsKey(key))
                {
                    ret[key] = new CoverPosition()
                    {
                        Commodity = p.Commodity
                    };
                }
            }

            foreach (var p in receivedPositions)
            {
                key = p.Commodity;

                if (p.OrderType.Equals(TradePosition.ORDER_TYPE_BUY))
                {
                    ret[key].SumBuyAmt   += p.Amount;
                    ret[key].SumPlBuy    += p.CurrentPL;
                    ret[key].SumBuyPrice += p.OpenPrice;
                    ret[key].BuysIn++;
                }
                else
                {
                    ret[key].SumSellAmt   += p.Amount;
                    ret[key].SumPlSell    += p.CurrentPL;
                    ret[key].SumSellPrice += p.OpenPrice;
                    ret[key].SellsIn++;
                }
            }

            return(ret);
        }