本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}