/// <summary> /// Methods occurs when player's health reaches/is zero. /// </summary> void OnPlayerHealthZero() { DevLog.Log("Health", "The player health is zero... Changing color... syncing"); // Change the color of the player to reflect their "dead" state GetComponentInChildren <MeshRenderer>().material.color = Color.red; // By setting the "isAlive" bool to false, we trigger // the SyncVar hook in the CharacterState thePlayer.status = CharacterStatus.RESCUE; }
private void OnProcessTimedEvent(object sender, EventArgs e) { try { ProcessProcket(); ProcessLog(); } catch (Exception ex) { DevLog.Write(string.Format("[OnProcessTimedEvent] Exception:{0}", ex.ToString()), LOG_LEVEL.ERROR); } }
public void ResponseRegistServer(SFNETPacket packetData) { try { var request = JsonEnDecode.Decode <JsonPacketResponseReqistServer>(packetData.GetData()); DevLog.Write(string.Format("result:{0}, ServerName:{1}, SessionID: {2}", request.Result.ToString(), request.ServerName, packetData.SessionID()), LOG_LEVEL.INFO); } catch { } }
public void Process(SFNETPacket packet) { var packetID = packet.PacketID(); if (PacketHandlerMap.ContainsKey(packetID)) { PacketHandlerMap[packetID](packet); } else { DevLog.Write(string.Format("[PacketProcess] Invalid PacketID:{0}", packetID), LOG_LEVEL.ERROR); } }
/// <summary> /// 로비ID를 기준으로 패킷을 각각의 패킷처리 객체에 할당한다. 멀티스레드로 패킷을 처리하도록 해준다. /// </summary> void DistributeProcket() { while (IsPacketDistributeThreadRunning) { try { var packet = ServerNet.GetPacket(); if (packet == null) { System.Threading.Thread.Sleep(1); continue; } var sessionID = packet.SessionID(); var packetProcessIndex = 0; if (packet.GetPacketType() == CgsfNET64Lib.SFPACKET_TYPE.DATA) { var user = MainPacketProcess.GetConnectUser(sessionID); if (user != null) { packetProcessIndex = GetPacketProcessIndex(user.LobbyID); } } else { if (packet.GetPacketType() == CgsfNET64Lib.SFPACKET_TYPE.CONNECT) { packet.SetData(sessionID, (ushort)PACKET_ID.SYSTEM_CLIENT_CONNECT, null); } else if (packet.GetPacketType() == CgsfNET64Lib.SFPACKET_TYPE.DISCONNECT) { packet.SetData(sessionID, (ushort)PACKET_ID.SYSTEM_CLIENT_DISCONNECTD, null); } } if (packetProcessIndex == 0) { MainPacketProcess.ProcessPacket(packet); } else { WorkPacketProcessList[packetProcessIndex - 1].InsertPacket(packet); } } catch (Exception ex) { DevLog.Write(ex.ToString(), LOG_LEVEL.ERROR); } } }
private void btn_apply_Click(object sender, EventArgs e) { do { int fixedVal = 0; EditPropertyType editType = (EditPropertyType)Enum.Parse(typeof(EditPropertyType), cmxBufferType.Text, true); try { fixedVal = Int32.Parse(txtFixed.Text); } catch (Exception ex) { DevLog.d(TAG, ex.ToString()); MessageBox.Show("Value format is incorrect!", "Parse error", MessageBoxButtons.OK, MessageBoxIcon.Error); } String columnEdited = null; DataGridView gridView = null; switch (editType) { // For sensor case EditPropertyType.SensorMaxSendingRate: columnEdited = "SendingRate"; gridView = mGridSensor; break; case EditPropertyType.SensorMaxProcessingRate: columnEdited = "ProcessingRate"; gridView = mGridSensor; break; // For channel case EditPropertyType.ChannelMaxSendingRate: columnEdited = "SendingRate"; gridView = mGridChannel; break; default: break; } if (columnEdited == null || gridView == null) { break; } changeValue(fixedVal, columnEdited, gridView); } while (false); }
/// <summary> /// The function used to convert from PN to KWSN /// </summary> /// <param name="topology">input PN file</param> /// public KWSNGenerationHelper(string name, EditorTabItem tabItem) : base(name, tabItem) { mPNDoc = new XmlDocument(); try { mPNDoc.Load(tabItem.FileName); mLoaded = true; } catch { DevLog.e(TAG, String.Format("Error when load PN file ({0})", name)); MessageBox.Show("Error when reading PN file!"); } }
private void ProcessProcket() { var packet = ServerNet.GetPacket(); if (packet == null) { return; } switch (packet.GetPacketType()) { case CgsfNET64Lib.SFPACKET_TYPE.CONNECT: if (packet.IsServerConnect()) { var response = new JsonPacketRequestReqistServer() { ServerName = "GateWayServer" }; ServerNet.Send <JsonPacketRequestReqistServer>(packet.SessionID(), PACKET_ID.REQUEST_REGIST_SERVER, response); DevLog.Write(string.Format("[OnConnect Server] SessionID:{0}, ConnectID:{1}", packet.SessionID(), packet.ServerIdentifier()), LOG_LEVEL.INFO); } else { SessionList.Add(packet.SessionID()); ConnectCountToGUI(SessionList.Count()); DevLog.Write(string.Format("[OnConnect Client] SessionID:{0}", packet.SessionID()), LOG_LEVEL.INFO); } break; case CgsfNET64Lib.SFPACKET_TYPE.DISCONNECT: if (packet.IsServerConnect()) { DevLog.Write(string.Format("[OnDisConnect Server] SessionID:{0}", packet.SessionID()), LOG_LEVEL.INFO); } else { SessionList.Remove(packet.SessionID()); HandelrMgr.ClientDisConnect(packet.SessionID()); ConnectCountToGUI(SessionList.Count()); DevLog.Write(string.Format("[OnDisConnect Client] SessionID:{0}", packet.SessionID()), LOG_LEVEL.INFO); } break; case CgsfNET64Lib.SFPACKET_TYPE.DATA: HandelrMgr.Process(packet); break; } }
private void Form1_Load(object sender, EventArgs e) { workProcessTimer.Tick += new EventHandler(OnProcessTimedEvent); workProcessTimer.Interval = new TimeSpan(0, 0, 0, 0, 1); workProcessTimer.Start(); var netConfig = new ChatServerLib.ServerNetworkConfig() { IP = "127.0.0.1", Port = textBoxPort.Text.ToUInt16(), EngineDllName = "CGSFNet.dll", MaxAcceptCount = textBoxMaxUserCount.Text.ToInt32(), ThreadCount = textBoxPacketThreadCount.Text.ToInt32(), MaxBufferSize = textBoxMaxBufferSize.Text.ToInt32(), MaxPacketSize = textBoxMaxPacketSize.Text.ToInt32(), }; var appConfig = new ChatServerLib.ServerAppConfig() { MaxTotalUserCount = textBoxMaxUserCount.Text.ToInt32(), MaxLobbyCount = textBoxLobbyCount.Text.ToInt32(), MaxLobbyUserCount = textBoxMaxUserPerLobby.Text.ToInt32(), ProcessThreadCount = textBoxPacketThreadCount.Text.ToInt32(), DBThreadCount = textBoxDBThreadCount.Text.ToInt32(), }; var result = ServerLib.InitAndStartNetwork(netConfig, appConfig); if (result.Item1 == false) { DevLog.Write(string.Format("[Init] 네트워크 라이브러리 초기화 및 시작 실패. {0}", result.Item2.ToString()), LOG_LEVEL.ERROR); return; } DevLog.Write(string.Format("[Start] 네트워크 시작"), LOG_LEVEL.INFO); var errorCode = ServerLib.CreateSystem(appConfig); if (errorCode != CSCommonLib.ERROR_CODE.NONE) { DevLog.Write(string.Format("[Init] CreateSystem 실패. {0}", errorCode), LOG_LEVEL.ERROR); return; } DevLog.Write(string.Format("[Start] CreateSystem 완료"), LOG_LEVEL.INFO); }
public void SystemClientConnect(SFNETPacket packet) { var result = UserManagerRef.AddUser(packet.SessionID()); InnerMessageQueue.CurrentUserCount(UserManagerRef.GetConnectCount()); if (result == CSCommonLib.ERROR_CODE.NONE) { DevLog.Write(string.Format("Client Connect. SessionID: {0}", packet.SessionID()), LOG_LEVEL.INFO); } else { DevLog.Write(string.Format("Client Connect. SessionID: {0}, Error:{1}", packet.SessionID(), result.ToString()), LOG_LEVEL.ERROR); } }
public static async Task <List <DBBasic> > GetUserAsyncVer2(int level) { try { var collection = Common.GetDBCollection <DBBasic>("Basic"); var documents = await collection.Find(x => x.Level >= level).ToListAsync(); return(documents); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(new List <DBBasic>()); } }
public static async Task <List <GameUser1> > GetGameUser1(string name) { try { var collection = Common.GetDBCollection <GameUser1>("GameUser1"); var documents = await collection.Find(x => x.Name == name).ToListAsync(); return(documents); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(new List <GameUser1>()); } }
public static async Task <bool> DeleteGameUser2(string name) { try { var collection = Common.GetDBCollection <GameUser2>("GameUser2"); var result = await collection.DeleteOneAsync(x => x._id == name); return(result.DeletedCount > 0 ? true : false); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(false); } }
public void TakeDamage(float amount) { if (!isServer) { return; } currentHealth -= amount; if (currentHealth <= 0.0f) { currentHealth = 0.0f; RpcOnPlayerDead(); DevLog.Log("Health", "Player id <" + GetComponent <NetworkIdentity>().netId + "> is dead..."); } }
private void button1_Click(object sender, EventArgs e) { IsStartServerNetwork = true; var result = ServerNet.Start(Config.ProtocolID); if (result) { DevLog.Write(string.Format("[Start] 네트워크 시작"), LOG_LEVEL.INFO); } else { DevLog.Write(string.Format("[Start] 네트워크 시작 실패"), LOG_LEVEL.ERROR); } }
static IMongoClient GetDBClient(string connectString) { try { //connectString //mongodb://testID:[email protected]:27017/?maxPoolSize=200&safe=true //mongodb://192.168.0.1:27017 MongoClient cli = new MongoClient(connectString); return(cli); } catch (Exception ex) { DevLog.Write(ex.Message); return(null); } }
public static async Task <List <BsonDocument> > GetGameUser2(string name) { try { var collection = Common.GetDBCollection <BsonDocument>("GameUser2"); var filter = new BsonDocument("_id", name); var documents = await collection.Find(filter).ToListAsync(); return(documents); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(new List <BsonDocument>()); } }
private void MainForm_Load(object sender, EventArgs e) { workProcessTimer.Tick += new EventHandler(OnProcessTimedEvent); workProcessTimer.Interval = new TimeSpan(0, 0, 0, 0, 1); workProcessTimer.Start(); Config = new CgsfNET64Lib.NetworkConfig() { IP = Properties.Settings.Default.IP, Port = Properties.Settings.Default.Port, EngineDllName = Properties.Settings.Default.EngineDllName, MaxAcceptCount = Properties.Settings.Default.MaxAcceptCount, ThreadCount = Properties.Settings.Default.ThreadCount, ProtocolOption = 0, ProtocolID = 0, MaxBufferSize = Properties.Settings.Default.MaxBufferSize, MaxPacketSize = Properties.Settings.Default.MaxPacketSize, }; var result = ServerNet.Init(Config, null, null); if (result != CgsfNET64Lib.NET_ERROR_CODE_N.SUCCESS) { DevLog.Write(string.Format("[Init] 네트워크 라이브러리 초기화 실패. {0}, {1}", result.ToString(), result), LOG_LEVEL.ERROR); return; } IsStartServerNetwork = true; if (ServerNet.Start(Config.ProtocolID)) { DevLog.Write(string.Format("[Start] 네트워크 시작"), LOG_LEVEL.INFO); } else { IsStartServerNetwork = false; DevLog.Write(string.Format("[Start] 네트워크 시작 실패"), LOG_LEVEL.ERROR); return; } HandelrMgr.Create(ServerNet, Config.MaxAcceptCount); textBoxServerConfig.AppendText(string.Format("IP:{0}, Port:{1}, EngineDllName:{2} {3}", Config.IP, Config.Port, Config.EngineDllName, Environment.NewLine)); textBoxServerConfig.AppendText(string.Format("ThreadCount:{0}, MaxBufferSize:{1}, MaxPacketSize:{2} {3}", Config.ThreadCount, Config.MaxBufferSize, Config.MaxPacketSize, Environment.NewLine)); }
public async Task <ActionResult> Post(DevLog devlog) { try { devlog.FechaCreacion = DateTime.Now; context.DevLog.Add(devlog); context.SaveChanges(); return(CreatedAtAction(nameof(Get), new { id = devlog.IdDevLog }, devlog)); } catch (Exception ex) { return(BadRequest(ex)); } }
// 게임서버에 연결하기 private void button1_Click(object sender, EventArgs e) { if (IsStartServerNetwork == false) { DevLog.Write(string.Format("[Connect GameServer] 네트워크가 시작하지 않았습니다"), LOG_LEVEL.ERROR); return; } var setupResult = ServerNet.SetupServerReconnectSys(); if (setupResult == false) { DevLog.Write(string.Format("[Connect GameServer] SetupServerReconnectSys 실패"), LOG_LEVEL.ERROR); return; } DevLog.Write(string.Format("[Connect GameServe] 등록 및 연결 시도"), LOG_LEVEL.INFO); }
void OnTriggerExit(Collider other) { if (other.CompareTag("Player")) { // If the PLAYER i encounter is in a "RESCUE" state, therefore // it means that i can attempt to revive the other person... if (playerToRescue != null && playerToRescue.characterState.status == CharacterStatus.RESCUE) { // DEBUG targetId = other.GetComponent <NetworkIdentity>().netId; // When PLAYER1 (myself) enters the revive zone, we want to show the revive ui box rescueButton.gameObject.SetActive(false); DevLog.Log("ReviveTrigger", "Player id <" + myNetId + "> exited vicinity of <" + targetId.Value + ">"); } } }
public static async Task <List <GameUser2> > GetGameUser2(string name, int age) { try { var collection = Common.GetDBCollection <GameUser2>("GameUser2"); var builder = Builders <GameUser2> .Filter; var filter = builder.Eq("_id", name) & builder.Gte("Age", age); var documents = await collection.Find(filter).ToListAsync(); return(documents); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(new List <GameUser2>()); } }
/// <summary> /// 패킷 처리 /// </summary> private void ProcessProcket() { var packet = ServerNet.GetPacket(); if (packet == null) { return; } switch (packet.GetPacketType()) { case CgsfNET64Lib.SFPACKET_TYPE.CONNECT: SessionList.Add(packet.SessionID()); DevLog.Write(string.Format("[OnConnect] Serial:{0}", packet.SessionID()), LOG_LEVEL.INFO); break; case CgsfNET64Lib.SFPACKET_TYPE.DISCONNECT: SessionList.Remove(packet.SessionID()); DevLog.Write(string.Format("[OnDisConnect] Serial:{0}", packet.SessionID()), LOG_LEVEL.INFO); break; case CgsfNET64Lib.SFPACKET_TYPE.DATA: switch (packet.PacketID()) { case PACKET_ID_ECHO: var resData = JsonEnDecode.Decode <JsonPacketNoticeEcho>(packet.GetData()); DevLog.Write(string.Format("[Chat] Serial:{0}, Msg:{1}", packet.SessionID(), resData.Msg), LOG_LEVEL.INFO); var request = new JsonPacketNoticeEcho() { Msg = resData.Msg }; var bodyData = JsonEnDecode.Encode <JsonPacketNoticeEcho>(request); ServerNet.SendPacket(packet.SessionID(), PACKET_ID_ECHO, bodyData); break; default: DevLog.Write(string.Format("[ProcessProcket] Invalid PacketID:{0}", packet.PacketID()), LOG_LEVEL.ERROR); break; } break; } }
private void MainForm_Load(object sender, EventArgs e) { PacketBuffer.Init((8096 * 10), 12, 512); IsNetworkThreadRunning = true; NetworkReadThread = new System.Threading.Thread(this.NetworkReadProcess); NetworkReadThread.Start(); NetworkSendThread = new System.Threading.Thread(this.NetworkSendProcess); NetworkSendThread.Start(); dispatcherUITimer = new System.Windows.Threading.DispatcherTimer(); dispatcherUITimer.Tick += new EventHandler(ReadPacketQueueProcess); dispatcherUITimer.Interval = new TimeSpan(0, 0, 0, 0, 100); dispatcherUITimer.Start(); btnDisconnect.Enabled = false; DevLog.Write("프로그램 시작 !!!", LOG_LEVEL.INFO); }
public PNGenerationHelper(string name, EditorTabItem tabItem) : base(name, tabItem) { try { WSNTabItem wsnTabItem = (WSNTabItem)tabItem; mCanvas = wsnTabItem.getAllCanvas(); mDocPNRes = wsnTabItem.PNRes; // Get extend information mExtendInfo = wsnTabItem.mExtendInfo; initXML(); mLoaded = true; } catch (Exception ex) { DevLog.d(TAG, "Can not read wsn document"); } }
public void ProcessPacket(SFNETPacket packet) { try { var packetID = packet.PacketID(); if (PacketHandlerMap.ContainsKey(packetID)) { PacketHandlerMap[packetID](packet); } else { System.Diagnostics.Debug.WriteLine("세션 번호 {0}, PacketID {1}, 받은 데이터 크기: {2}", packet.SessionID(), packetID, packet.GetData().Length); } } catch (Exception ex) { DevLog.Write(ex.ToString(), LOG_LEVEL.ERROR); } }
void CmdRescueButtonOnClick() { if (playerToRescue != null) { //DevLog.Log("ReviveTrigger", "Player id <" + myNetId + "> attempting to revive <" + this.playerToRescue.tmpNetworkId + ">"); try { // Tell the server to RESCUE the downed player by restoring their health and their character appearance playerToRescue.CmdOnPlayerRescue(); } catch (Exception ex) { string error = ex.Message; DevLog.Log("ReviveTrigger", "Exception thrown. Ignoring because player is already revived.\n" + error); } RpcSetRevivePanelActive(false); } }
public void RequestLogin(SFNETPacket packetData, ConnectUser user) { try { var request = JsonEnDecode.Decode <JsonPacketRequestLogin>(packetData.GetData()); // 이미 등록된 유저인가? serial, ID var result = UserManagerRef.AddUser(packetData.SessionID(), request.ID); var response = new JsonPacketResponseLogin() { Result = result }; ServerNetworkRef.Send <JsonPacketResponseLogin>(packetData.SessionID(), PACKET_ID.RESPONSE_LOGIN, response); DevLog.Write(string.Format("[Login] result:{0}, UserID:{1}, SessionID{2}", result.ToString(), request.ID, packetData.SessionID()), LOG_LEVEL.INFO); } catch { } }
public static async Task <List <DBBasic> > GetUserAsyncVer1(int level) { try { var collection = Common.GetDBCollection <DBBasic>("Basic"); // 기본으로는 Find 메소드는 없다. Find는 확장 메소드로 사용하고 싶다면 //using MongoDB.Driver.Core.Misc; //using MongoDB.Driver; //을 선언해야 한다. var filter = new BsonDocument("Level", new BsonDocument("$gte", 2)); var documents = await collection.Find(filter).ToListAsync(); return(documents); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(new List <DBBasic>()); } }
public static async Task <int> GetUserLevelAsyncVer1(string userID) { try { var collection = Common.GetDBCollection <BsonDocument>("Basic"); var filter = new BsonDocument("_id", userID); var documents = await collection.Find(filter).ToListAsync(); if (documents.Count > 0) { return(documents[0]["Level"].AsInt32); } return(0); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(0); } }
partial void DeleteDevLog(DevLog instance);
partial void InsertDevLog(DevLog instance);
partial void UpdateDevLog(DevLog instance);