当前位置: 首页>>代码示例>>C#>>正文


C# Util.GetDocument方法代码示例

本文整理汇总了C#中System.Util.GetDocument方法的典型用法代码示例。如果您正苦于以下问题:C# Util.GetDocument方法的具体用法?C# Util.GetDocument怎么用?C# Util.GetDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Util的用法示例。


在下文中一共展示了Util.GetDocument方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SyncServerMessage

        public int SyncServerMessage(Util.DBHelper db)
        {
            var shutdownDoc = db.GetDocument("Server", "Shutdown");
            if (shutdownDoc == null)
            {
                shutdownDoc = db.CreateDocument("Server", "Shutdown",
                    new BsonDocument()
                    {
                        { "Flag", false },
                        { "Message", "" }
                    });
            }
            else
            {
                var flag = shutdownDoc["Flag"].AsBoolean;
                var msg = shutdownDoc["Message"].AsString;

                this.ShutdownFlag = flag;
                this.ShutdownMessage = msg;


                // 메세지가 있고 이전 메세지와 다르면 이벤트 발생
                if (msg.Length > 0 && m_prevShutMsg != msg && this.WhenShutdownMessageChanged != null)
                    this.WhenShutdownMessageChanged(msg, flag);


                m_prevShutMsg = msg;
            }


            return 0;
        }
开发者ID:NeuroWhAI,项目名称:ClickWar,代码行数:32,代码来源:GameMap.cs

示例2: SyncTile

        public int SyncTile(Util.DBHelper db)
        {
            // 타일의 배열이 존재하는 문서를 얻어옴.
            var tileArrayDoc = db.GetDocument("Tiles", "Tiles");

            // 문서가 존재하지 않으면 만든 뒤 새 타일정보로 채우고
            // 존재한다면 DB의 타일정보를 받아와 적용시킨다.
            if (tileArrayDoc == null)
            {
                // 타일 배열을 만들고 타일의 정보를 등록.
                var tileArr = new BsonArray(m_tileMap.Length);
                foreach (var tile in m_tileMap)
                {
                    tileArr.Add(tile.ToBsonDocument());
                }

                // 타일목록 문서를 생성.
                tileArrayDoc = db.CreateDocument("Tiles", "Tiles",
                    new BsonDocument
                    {
                        { "List", tileArr }
                    });
            }
            else
            {
                // 문서에서 타일배열을 얻어옴.
                var tileArray = tileArrayDoc["List"].AsBsonArray;
                
                // DB타일의 정보를 인덱스에 해당하는 타일에 설정.
                for (int index = 0;
                    index < tileArray.Count && index < m_tileMap.Length;
                    ++index)
                {
                    SyncTileAt(db, tileArray, index);
                }
            }


            return 0;
        }
开发者ID:NeuroWhAI,项目名称:ClickWar,代码行数:40,代码来源:GameMap.cs

示例3: SyncTileRect

        public int SyncTileRect(Util.DBHelper db, Point startIdx, Point endIdx)
        {
            // 타일의 배열이 존재하는 문서를 얻어옴.
            var tileArrayDoc = db.GetDocument("Tiles", "Tiles");
            
            // 문서가 존재한다면 DB의 타일정보를 받아와 적용시킨다.
            if (tileArrayDoc != null)
            {
                // 문서에서 타일배열을 얻어옴.
                var tileArray = tileArrayDoc["List"].AsBsonArray;

                // DB타일의 정보를 인덱스에 해당하는 타일에 설정.
                for (int w = startIdx.X;
                    w <= endIdx.X && w < this.Width; ++w)
                {
                    for (int h = startIdx.Y;
                        h <= endIdx.Y && h < this.Height; ++h)
                    {
                        SyncTileAt(db, tileArray, Util.Utility.TwoDToOneD(w, h, m_tileMap));
                    }
                }
            }


            return 0;
        }
开发者ID:NeuroWhAI,项目名称:ClickWar,代码行数:26,代码来源:GameMap.cs

示例4: SyncMapSize

        public int SyncMapSize(Util.DBHelper db)
        {
            // 맵 크기 정보를 얻어옴.
            var mapSizeDoc = db.GetDocument("MapInfo", "MapSize");
            if (mapSizeDoc == null)
            {
                mapSizeDoc = db.CreateDocument("MapInfo", "MapSize",
                    new BsonDocument
                    {
                        { "Width", 64 },
                        { "Height", 64 }
                    });
            }

            int width = mapSizeDoc["Width"].AsInt32;
            int height = mapSizeDoc["Height"].AsInt32;

            // 타일맵이 없거나 DB의 맵 크기와 다르면 새로 생성한다.
            if (m_tileMap == null
                ||
                width != this.Width || height != this.Height)
            {
                m_tileMap = new GameTile[width, height];

                for (int w = 0; w < width; ++w)
                {
                    for (int h = 0; h < height; ++h)
                    {
                        m_tileMap[w, h] = new GameTile();
                        m_tileMap[w, h].Index = w * height + h;
                        m_tileMap[w, h].IsLastVersion = true;
                    }
                }
            }


            return 0;
        }
开发者ID:NeuroWhAI,项目名称:ClickWar,代码行数:38,代码来源:GameMap.cs


注:本文中的System.Util.GetDocument方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。