コード例 #1
0
    void Start()
    {
        ItemList.Add(EmptyItemSlot1);
        ItemList.Add(EmptyItemSlot2);
        ItemList.Add(EmptyItemSlot3);
        ItemList.Add(EmptyItemSlot4);
        ItemList.Add(EmptyItemSlot5);
        ItemList.Add(EmptyItemSlot6);
        ItemList.Add(EmptyItemSlot7);
        ItemList.Add(EmptyItemSlot8);
        GoldLabel.text = " " + _parentUnit.Gold;

        foreach (GameObject item in ItemList)
        {
            if (item.name == _inventoryDictionary[1])
            {
                PositionList.Add(item.transform.position);
                slot = item.GetComponent <Item>();
                ItemLogicList.Add(slot);
                slot.EmptySlot = true;
            }
            else
            {
                PositionList.Add(item.transform.position);
                slot = item.GetComponent <Item>();
                ItemLogicList.Add(slot);
                slot.EmptySlot = false;
            }
        }
    }
コード例 #2
0
ファイル: Portfolio.cs プロジェクト: lynxliu/Backtesting
        void LoadData(object obj)
        {
            if (obj == null)
            {
                return;
            }

            var p = obj as IPortfolio;

            if (p == null)
            {
                return;
            }

            PositionList.Clear();
            p.PositionList.ForEach(v =>
            {
                PositionList.Add(v.Clone() as IPosition);
            });
            p.AccountList.ForEach(v =>
            {
                AccountList.Add(v.Clone() as Account);
            });
            Name = p.Name;
            Memo = p.Memo;

            LastMarketDataTime = p.LastMarketDataTime;
            CurrentCurrency    = p.CurrentCurrency;
        }
コード例 #3
0
        /// <summary>
        /// To Get All Positions
        /// </summary>
        /// <returns></returns>
        public PositionList GetAllPositions()
        {
            OracleConnection cnn = new OracleConnection(AppConfiguration.ConnectionString);
            OracleCommand    cmd;

            string proc = "USP_MST_GET_ALLPOSITIONS";

            cmd             = new OracleCommand(proc, cnn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("Sp_recordset", Oracle.DataAccess.Client.OracleDbType.RefCursor).Direction = ParameterDirection.Output;

            cmd.Connection.Open();
            OracleDataReader dr           = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            PositionBO       objPosition  = null;
            PositionList     PositionList = new PositionList();

            while (dr.Read())
            {
                objPosition                   = new PositionBO();
                objPosition.PositionID        = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("POSITIONID")));
                objPosition.PositionName      = dr.GetString(dr.GetOrdinal("POSITION"));
                objPosition.PositionIsDeleted = dr.GetString(dr.GetOrdinal("ISDELETED"));

                PositionList.Add(objPosition);
            }

            dr.Close();

            return(PositionList);
        }
コード例 #4
0
        public void Refresh()
        {
            if (TargetObject == null)
            {
                return;
            }
            var o = TargetObject as IPortfolio;

            if (o == null)
            {
                return;
            }

            PositionList.Clear();
            AccountList.Clear();

            o.PositionList.ForEach(v =>
            {
                PositionList.Add(v);
            });

            o.AccountList.ForEach(v =>
            {
                AccountList.Add(v);
            });
        }
コード例 #5
0
 public new void Clear()
 {
     List.Clear();
     PositionList.Clear();
     PositionList.Add(StockPane);
     Layout();
 }
コード例 #6
0
        /// <summary>
        /// MExchangeテーブルの設定内容で初期化する
        /// </summary>
        public void InitializeExchange()
        {
            // 初期化
            // 資産情報
            CollateralList = InitializeDictionary(CollateralList);

            // 注文情報
            ParentOrderList = InitializeDictionary(ParentOrderList);
            ChildOrderList  = InitializeDictionary(ChildOrderList);

            // 建玉情報
            PositionList = InitializeDictionary(PositionList);

            // 取引所状態情報
            StateList = InitializeDictionary(StateList);

            // テクニカル管理
            TechnicalList = InitializeDictionary(TechnicalList);

            // クライアント
            Client = InitializeDictionary(Client);

            // パラメータ読み込み
            using (var db = new MExchangeDbContext(DbContextOptions))
            {
                // データを取得
                var mExchange = db.MExchange;

                foreach (var item in mExchange)
                {
                    if (item.Enabled == Enabled)
                    {
                        // 資産情報
                        CollateralList.Add(item.Id, new Collateral(new RawCollateral()));

                        // 注文情報
                        ParentOrderList.Add(item.Id, new List <Order>());
                        ChildOrderList.Add(item.Id, new List <Order>());

                        // 建玉情報
                        PositionList.Add(item.Id, new List <Position>());

                        // 取引所状態情報
                        StateList.Add(item.Id, new RawBoardState());

                        // テクニカル管理生成
                        Dictionary <int, PubnubManager> pubnub = null;
                        if (PubnubList.ContainsKey(item.Id))
                        {
                            pubnub = PubnubList[item.Id];
                        }
                        TechnicalList.Add(item.Id, new TechnicalManager(item.Id, pubnub, TimeScaleList, DbContextOptions, TechnicalList));

                        // 通信用クライアント生成
                        Client.Add(item.Id, new BitflyerClient(item.Id, DbContextOptions));
                    }
                }
            }
        }
コード例 #7
0
 public void Add(Position p)
 {
     PositionList.Add(p);
     PositionList.Sort(delegate(Position p1, Position p2)
     {
         return(p1.Lenght().CompareTo(p2.Lenght()));
     });
     SaveToFile();
 }
コード例 #8
0
 public bool AddPosition(Position position)
 {
     if (PositionList.Count == 0 || PositionList.Last().GetNeighbourType(position) != Position.NeighbourType.None)
     {
         PositionList.Add(position);
         return(true);
     }
     return(false);
 }
コード例 #9
0
        public void AddPosition()
        {
            var c = new Position()
            {
                Name = "New Position"
            };

            PositionList.Add(c);
            CurrentPosition = c;
        }
コード例 #10
0
        public void SavePositions(List <Position> posList, string name)
        {
            PositionList list = new PositionList(name);

            list.Add(posList);
            //XmlSerializeHelper.
            string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Data\\ErrorPoints\\" + name + ".xml";

            XmlSerializeHelper.Save(list, filePath);
        }
コード例 #11
0
 // Methods
 internal PaneCollection(ChartControl owner)
 {
     Owner     = owner;
     StockPane = new Pane("STOCK", Owner, Chart.visualSettings.BackgroundImageResourceName)
     {
         PercentHeight   = 100f,
         TitleBoxVisible = false
     };
     PositionList.Add(StockPane);
     XAxisPane = new XAxisPane(Owner);
 }
コード例 #12
0
 private void SetDoor(int positionX, int positionY, int width, int height) //在地圖上畫出門
 {
     if (width < height)
     {
         PositionList.Add(new Vector2Int(positionX, Random.Range(positionY + 1, positionY + height)));
     }
     else
     {
         PositionList.Add(new Vector2Int(Random.Range(positionX + 1, positionX + width), positionY));
     }
 }
コード例 #13
0
        public void ClosePortfolio(string text)
        {
            PositionList positionList = new PositionList();

            foreach (Position position in this.portfolio.Positions)
            {
                positionList.Add(position);
            }
            foreach (Position position2 in positionList)
            {
                this.ClosePosition(position2.Instrument, text);
            }
        }
コード例 #14
0
 public void ConstructExplorationArea()
 {
     for (var xAxisCounter = 0; xAxisCounter <= XAxisMaxValue; xAxisCounter++)
     {
         for (var yAxisCounter = 0; yAxisCounter <= YAxisMaxValue; yAxisCounter++)
         {
             var temporaryPosition = new Position {
                 XAxis = xAxisCounter, YAxis = yAxisCounter
             };
             PositionList.Add(temporaryPosition);
         }
     }
 }
コード例 #15
0
    private void SetRoom(int positionX, int positionY, int width, int height) //在地圖上畫出房間
    {
        for (int i = positionX; i < positionX + width; i++)
        {
            for (int j = positionY; j < positionY + height; j++)
            {
                PositionList.Add(new Vector2Int(i, j));

                if (i == Position.x || i == Position.x + Width - 1 || j == Position.y || j == Position.y + Height - 1)
                {
                    WallList.Add(new Vector2Int(i, j));
                }
            }
        }
    }
コード例 #16
0
    protected override void SetSpace()
    {
        for (int i = Position.x; i < Position.x + Width; i++)
        {
            for (int j = Position.y; j < Position.y + Height; j++)
            {
                PositionList.Add(new Vector2Int(i, j));

                if (i == Position.x || i == Position.x + Width - 1 || j == Position.y || j == Position.y + Height - 1)
                {
                    WallList.Add(new Vector2Int(i, j));
                }
            }
        }

        Vector2Int        treasurePosition = new Vector2Int();
        List <Vector2Int> tempList         = new List <Vector2Int>(PositionList);

        for (int i = 0; i < _treasureAmount; i++)
        {
            treasurePosition = tempList[Random.Range(0, tempList.Count)];
            tempList.Remove(treasurePosition);
            if (!WallList.Contains(treasurePosition))
            {
                TreasureDic.Add(treasurePosition, new Treasure(RoomData.GetRandomTreasureID()));
            }
            else
            {
                i--;
            }
        }

        Vector2Int moneyPosition = new Vector2Int();

        for (int i = 0; i < _moneyAmount; i++)
        {
            moneyPosition = tempList[Random.Range(0, tempList.Count)];
            tempList.Remove(moneyPosition);
            if (!WallList.Contains(moneyPosition))
            {
                MoneyDic.Add(moneyPosition, Random.Range(DungeonData.MinMoney, DungeonData.MaxMoney + 1));
            }
            else
            {
                i--;
            }
        }
    }
コード例 #17
0
    private void DFS(Vector2Int walker)
    {
        Vector2Int        direction = new Vector2Int();
        Vector2Int        newWalker = new Vector2Int();
        List <Vector2Int> tempList  = new List <Vector2Int>();

        while (_spaceQueue.Count > 0)
        {
            tempList = new List <Vector2Int>(_directions);
            while (tempList.Count > 0)
            {
                direction = tempList[Random.Range(0, tempList.Count)];
                newWalker = walker + direction * 2;
                if (newWalker.x >= Position.x && newWalker.x < Position.x + Width && newWalker.y >= Position.y && newWalker.y < Position.y + Height &&
                    !PositionList.Contains(newWalker))
                {
                    PositionList.Add(walker + direction);
                    PositionList.Add(walker + direction * 2);
                    _spaceQueue.Enqueue(walker + direction * 2);

                    if (walker.x == Position.x || walker.x == Position.x + Width - 1 || walker.y == Position.y || walker.y == Position.y + Height - 1)
                    {
                        WallList.Add(walker);
                    }

                    break;
                }
                else
                {
                    tempList.Remove(direction);
                }
            }

            if (tempList.Count > 0)
            {
                DFS(newWalker);
            }
            else //如果所有的方向都沒有路
            {
                if (TreasureDic.Count < _treasureAmount)
                {
                    TreasureDic.Add(walker, new Treasure(RoomData.GetRandomTreasureID()));
                }

                DFS(_spaceQueue.Dequeue());
            }
        }
    }
コード例 #18
0
    protected override void SetSpace()
    {
        for (int i = Position.x; i < Position.x + Width; i++)
        {
            for (int j = Position.y; j < Position.y + Height; j++)
            {
                PositionList.Add(new Vector2Int(i, j));

                if (i == Position.x || i == Position.x + Width - 1 || j == Position.y || j == Position.y + Height - 1)
                {
                    WallList.Add(new Vector2Int(i, j));
                }
            }
        }
        TreasureDic.Add(new Vector2Int(Position.x + Width / 2, Position.y + Height / 2), new Treasure(RoomData.GetRandomTreasureID()));
    }
コード例 #19
0
    void Start()
    {
        GoldLabel.text = "" + _parentUnit.Gold;
        ItemList.Add(EmptyItemSlot1);
        ItemList.Add(EmptyItemSlot2);
        ItemList.Add(EmptyItemSlot3);
        ItemList.Add(EmptyItemSlot4);

        foreach (GameObject item in ItemList)
        {
            PositionList.Add(item.transform.position);
            slot = item.GetComponent <Item>();
            ItemLogicList.Add(slot);
            slot.EmptySlot = true;
        }
    }
コード例 #20
0
ファイル: Portfolio.cs プロジェクト: lynxliu/Backtesting
        void ProcessOrder(IOrder order)
        {
            try
            {
                if (order == null)
                {
                    return;
                }
                var inst = GetInstrumentList().FirstOrDefault(v => v.Ticker == order.Ticker);
                if (inst == null)
                {
                    return;
                }

                var p = PositionList.FirstOrDefault(v => v.InstrumentTicker == order.Ticker);
                if (p == null)
                {
                    var pos = new Position();
                    pos.InstrumentName   = inst.Name;
                    pos.InstrumentTicker = inst.Ticker;
                    pos.CurrentPrice     = order.Price;
                    pos.ProcessOrder(order);
                    pos.CreateTime = order.OrderTime;
                    pos.DataTime   = order.OrderTime;
                    if (ProcessMoney(order.CashFlow))
                    {
                        PositionList.Add(pos);
                    }
                }
                else
                {
                    if (ProcessMoney(order.CashFlow))
                    {
                        p.ProcessOrder(order);
                    }
                }
            }
            catch (Exception ex)
            {
                LogSupport.Error(ex);
            }
        }
コード例 #21
0
        public void Refresh()
        {
            if (TargetObject == null)
            {
                return;
            }
            if (TargetObject.CurrentPortfolio == null)
            {
                return;
            }

            PositionList.Clear();
            TargetObject.CurrentPortfolio.PositionList.ForEach(v => PositionList.Add(v));

            DataList.Clear();
            TargetObject.MADataList.ForEach(v => DataList.Add(v));

            if (!string.IsNullOrEmpty(TargetObject.CurrentTicker))
            {
                CurrentPosition = PositionList.FirstOrDefault(v => v.InstrumentTicker == TargetObject.CurrentTicker);
            }
        }
コード例 #22
0
    protected override void SetSpace()
    {
        PositionList.Add(Position);
        _spaceQueue.Enqueue(Position);
        DFS(Position);

        List <Vector2Int> tempList      = new List <Vector2Int>(PositionList);
        Vector2Int        moneyPosition = new Vector2Int();

        for (int i = 0; i < _moneyAmount; i++)
        {
            moneyPosition = tempList[Random.Range(0, tempList.Count)];
            tempList.Remove(moneyPosition);
            if (!WallList.Contains(moneyPosition))
            {
                MoneyDic.Add(moneyPosition, Random.Range(DungeonData.MinMoney, DungeonData.MaxMoney + 1));
            }
            else
            {
                i--;
            }
        }
    }
コード例 #23
0
        private void AddPositionClosing(object sender, DialogClosingEventArgs args)
        {
            bool result = false;

            if (Equals(args.Parameter, false))
            {
                return;
            }
            if (args.Parameter is TextBox)
            {
                args.Session.UpdateContent(new PleaseWaitView());
                TextBox txtName     = (TextBox)args.Parameter;
                string  name        = txtName.Text.Trim();
                var     newPosition = new CouncilPosition()
                {
                    Position = name
                };
                if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name))
                {
                    args.Cancel();
                    args.Session.UpdateContent(new OkMessageDialog()
                    {
                        DataContext = "Null entry"
                    });
                    return;
                }
                var duplicate = _context.CouncilPositions.FirstOrDefault(c => c.Position == name);
                if (duplicate != null)
                {
                    args.Cancel();
                    args.Session.UpdateContent(new OkMessageDialog()
                    {
                        DataContext = "Duplicate Name"
                    });
                    return;
                }
                Task.Run(() =>
                {
                    Thread.Sleep(1000);

                    try
                    {
                        _context.Entry(newPosition).State = EntityState.Added;

                        _context.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);

                        result = false;
                    }
                }).ContinueWith((t, _) =>
                {
                    if (!result)
                    {
                        args.Cancel();
                        args.Session.UpdateContent(new OkMessageDialog()
                        {
                            DataContext = "Failed to add"
                        });
                    }
                    else
                    {
                        PositionList.Add(newPosition);
                    }
                }, null, TaskScheduler.FromCurrentSynchronizationContext());
            }
        }
コード例 #24
0
ファイル: TeamUnit.cs プロジェクト: Quarterback16/RosterLib
 public void AddPosition(string posCode)
 {
     PositionList.Add(posCode);
 }
コード例 #25
0
 public void PreparePosition(string AssetCode, string AccountNo)
 {
     PositionList.Add(new PositionItem());
 }
コード例 #26
0
 public void DrawUpdate(Rectangle touchBox, GameContent gameContent, SpriteBatch spriteBatch)
 {
     Position = new Vector2(touchBox.X, touchBox.Y);
     PositionList.Add(Position);
 }