public override void AfterInit() { mxEventProcessModule = GetMng().GetModule <NFCEventModule>(); mxKernelModule = GetMng().GetModule <NFIKernelModule>(); mxLogicClassModule = GetMng().GetModule <NFILogicClassModule>(); mxElementInfoModule = GetMng().GetModule <NFIElementModule>(); System.Diagnostics.Debug.Assert(null != mxEventProcessModule); System.Diagnostics.Debug.Assert(null != mxKernelModule); System.Diagnostics.Debug.Assert(null != mxLogicClassModule); System.Diagnostics.Debug.Assert(null != mxElementInfoModule); NFILogicClass xLogicClass = mxLogicClassModule.GetElement("Server"); if (xLogicClass != null) { List <string> xNameList = xLogicClass.GetConfigNameList(); foreach (string strConfigName in xNameList) { long nServerID = mxElementInfoModule.QueryPropertyInt(strConfigName, "ServerID"); long nServerType = mxElementInfoModule.QueryPropertyInt(strConfigName, "Type"); if (nServerType == (long)NFServer_def.NF_SERVER_TYPES.NF_ST_GAME) { Int64 nPort = mxElementInfoModule.QueryPropertyInt(strConfigName, "Port"); Int64 nMaxConnect = mxElementInfoModule.QueryPropertyInt(strConfigName, "MaxOnline"); Int64 nCpus = mxElementInfoModule.QueryPropertyInt(strConfigName, "CpuCount"); Int64 nAreaID = mxElementInfoModule.QueryPropertyInt(strConfigName, "AreaID"); string strName = mxElementInfoModule.QueryPropertyString(strConfigName, "Name"); string strIP = mxElementInfoModule.QueryPropertyString(strConfigName, "IP"); ConnectObjectData xConnectObjectData = new ConnectObjectData(); xConnectObjectData.fMaxReconnectTime = 10.0f;//重连时间 //xConnectObjectData.xNextTriggerTime = new DateTime();//下次重连时间 xConnectObjectData.nServerID = nServerID; xConnectObjectData.meServerType = (NFServer_def.NF_SERVER_TYPES)nServerType; xConnectObjectData.mstrIP = strIP; xConnectObjectData.mstrDns = strIP; xConnectObjectData.mstrAuth = ""; xConnectObjectData.mnPort = nPort; xConnectObjectData.mnAreaID = nAreaID; //public NFNetModule xNetModule; xConnectObjectData.eState = NFClusterClientModule.ClusterClientState.ADDING; //GetNetHandler().RegisterEventCallback(OnSocketEvent); //GetNetHandler().RegisterPackCallback(-1, OnRecivePack); AddNetInfo(xConnectObjectData); } } } }
void AddBasePropertyFormOther(string strName, string strOther) { NFILogicClass xOtherClass = GetElement(strOther); NFILogicClass xLogicClass = GetElement(strName); if (null != xLogicClass && null != xOtherClass) { NFIDataList xValue = xOtherClass.GetPropertyManager().GetPropertyList(); for (int i = 0; i < xValue.Count(); ++i) { NFIProperty xProperty = xOtherClass.GetPropertyManager().GetProperty(xValue.StringVal(i)); xLogicClass.GetPropertyManager().AddProperty(xValue.StringVal(i), xProperty.GetData()); } } }
void InitRecord(NFGUID self, string strClassName) { NFILogicClass xLogicClass = mxLogicClassModule.GetElement(strClassName); NFIDataList xDataList = xLogicClass.GetRecordManager().GetRecordList(); for (int i = 0; i < xDataList.Count(); ++i) { string strRecordyName = xDataList.StringVal(i); NFIRecord xRecord = xLogicClass.GetRecordManager().GetRecord(strRecordyName); NFIObject xObject = GetObject(self); NFIRecordManager xRecordManager = xObject.GetRecordManager(); xRecordManager.AddRecord(strRecordyName, xRecord.GetRows(), xRecord.GetColsData()); } }
void InitProperty(NFGUID self, string strClassName) { NFILogicClass xLogicClass = mxLogicClassModule.GetElement(strClassName); NFIDataList xDataList = xLogicClass.GetPropertyManager().GetPropertyList(); for (int i = 0; i < xDataList.Count(); ++i) { string strPropertyName = xDataList.StringVal(i); NFIProperty xProperty = xLogicClass.GetPropertyManager().GetProperty(strPropertyName); NFIObject xObject = GetObject(self); NFIPropertyManager xPropertyManager = xObject.GetPropertyManager(); xPropertyManager.AddProperty(strPropertyName, xProperty.GetData()); } }
public override void AfterInit() { mxEventProcessModule = GetMng().GetModule <NFCEventModule>(); mxKernelModule = GetMng().GetModule <NFIKernelModule>(); mxLogicClassModule = GetMng().GetModule <NFILogicClassModule>(); mxProxyToWorldModule = GetMng().GetModule <NFIProxyToWorldModule>(); mxProxyToGameModule = GetMng().GetModule <NFIProxyToGameModule>(); mxElementInfoModule = GetMng().GetModule <NFIElementModule>(); System.Diagnostics.Debug.Assert(null != mxEventProcessModule); System.Diagnostics.Debug.Assert(null != mxKernelModule); System.Diagnostics.Debug.Assert(null != mxLogicClassModule); System.Diagnostics.Debug.Assert(null != mxProxyToWorldModule); System.Diagnostics.Debug.Assert(null != mxProxyToGameModule); System.Diagnostics.Debug.Assert(null != mxElementInfoModule); NFILogicClass xLogicClass = mxLogicClassModule.GetElement("Server"); if (xLogicClass != null) { List <string> xNameList = xLogicClass.GetConfigNameList(); foreach (string strConfigName in xNameList) { Int64 nServerType = mxElementInfoModule.QueryPropertyInt(strConfigName, "Type"); Int64 nServerID = mxElementInfoModule.QueryPropertyInt(strConfigName, "ServerID"); if (nServerType == (long)NFServer_def.NF_SERVER_TYPES.NF_ST_PROXY && GetMng().GetAPPID() == nServerID) { long nPort = mxElementInfoModule.QueryPropertyInt(strConfigName, "Port"); long nMaxConnect = mxElementInfoModule.QueryPropertyInt(strConfigName, "MaxOnline"); long nCpus = mxElementInfoModule.QueryPropertyInt(strConfigName, "CpuCount"); string strName = mxElementInfoModule.QueryPropertyString(strConfigName, "Name"); string strIP = mxElementInfoModule.QueryPropertyString(strConfigName, "IP"); //GetNetHandler().RegisterEventCallback(OnSocketEvent); //GetNetHandler().RegisterPackCallback(-1, OnRecivePack); Initialization((UInt32)nMaxConnect, (UInt16)nPort); } } } }
void InitProperty(NFGUID self, string strClassName) { NFILogicClass xLogicClass = mxLogicClassModule.GetElement(strClassName); NFIDataList xDataList = xLogicClass.GetPropertyManager().GetPropertyList(); for (int i = 0; i < xDataList.Count(); ++i) { string strPropertyName = xDataList.StringVal(i); NFIProperty xProperty = xLogicClass.GetPropertyManager().GetProperty(strPropertyName); NFIObject xObject = GetObject(self); NFIPropertyManager xPropertyManager = xObject.GetPropertyManager(); NFIProperty property = xPropertyManager.AddProperty(strPropertyName, xProperty.GetData()); //if property==null ,means this property alreay exist in manager if (property != null) { property.SetUpload(xProperty.GetUpload()); } } }
private void LoadInstanceElement(NFILogicClass xLogicClass) { string strLogicPath = mstrRootPath; strLogicPath += xLogicClass.GetInstance(); XmlDocument xmldoc = new XmlDocument(); if (xLogicClass.GetEncrypt()) { /////////////////////////////////////////////////////////////////////////////////////// StreamReader cepherReader = new StreamReader(strLogicPath);; string strContent = cepherReader.ReadToEnd(); cepherReader.Close(); byte[] data = Convert.FromBase64String(strContent); string res = System.Text.ASCIIEncoding.Default.GetString(data); xmldoc.LoadXml(res); ///////////////////////////////////////////////////////////////// } else { xmldoc.Load(strLogicPath); } XmlNode xRoot = xmldoc.SelectSingleNode("XML"); XmlNodeList xNodeList = xRoot.SelectNodes("Object"); for (int i = 0; i < xNodeList.Count; ++i) { //NFCLog.Instance.Log("Class:" + xLogicClass.GetName()); XmlNode xNodeClass = xNodeList.Item(i); XmlAttribute strID = xNodeClass.Attributes["Id"]; //NFCLog.Instance.Log("ClassID:" + strID.Value); NFIElement xElement = GetElement(strID.Value); if (null == xElement) { xElement = new NFCElement(); AddElement(strID.Value, xElement); xLogicClass.AddConfigName(strID.Value); XmlAttributeCollection xCollection = xNodeClass.Attributes; for (int j = 0; j < xCollection.Count; ++j) { XmlAttribute xAttribute = xCollection[j]; NFIProperty xProperty = xLogicClass.GetPropertyManager().GetProperty(xAttribute.Name); if (null != xProperty) { NFIDataList.VARIANT_TYPE eType = xProperty.GetType(); switch (eType) { case NFIDataList.VARIANT_TYPE.VTYPE_INT: { NFIDataList xValue = new NFCDataList(); xValue.AddInt(int.Parse(xAttribute.Value)); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFIDataList xValue = new NFCDataList(); xValue.AddFloat(float.Parse(xAttribute.Value)); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFIDataList.VARIANT_TYPE.VTYPE_STRING: { NFIDataList xValue = new NFCDataList(); xValue.AddString(xAttribute.Value); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFIDataList xValue = new NFCDataList(); xValue.AddObject(new NFGUID(0, int.Parse(xAttribute.Value))); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; default: break; } } } } } }
private void LoadLogicClassRecord(string strName) { NFILogicClass xLogicClass = GetElement(strName); if (null != xLogicClass) { string strLogicPath = mstrPath + xLogicClass.GetPath(); XmlDocument xmldoc = new XmlDocument(); if (mbEncrypt) { /////////////////////////////////////////////////////////////////////////////////////// StreamReader cepherReader = new StreamReader(strLogicPath);; string strContent = cepherReader.ReadToEnd(); cepherReader.Close(); byte[] data = Convert.FromBase64String(strContent); string res = System.Text.ASCIIEncoding.Default.GetString(data); xmldoc.LoadXml(res); ///////////////////////////////////////////////////////////////// } else { xmldoc.Load(strLogicPath); } XmlNode xRoot = xmldoc.SelectSingleNode("XML"); XmlNode xNodePropertys = xRoot.SelectSingleNode("Records"); if (null != xNodePropertys) { XmlNodeList xNodeList = xNodePropertys.SelectNodes("Record"); if (null != xNodeList) { for (int i = 0; i < xNodeList.Count; ++i) { XmlNode xRecordNode = xNodeList.Item(i); string strID = xRecordNode.Attributes["Id"].Value; string strRow = xRecordNode.Attributes["Row"].Value; string strUpload = xRecordNode.Attributes["Upload"].Value; bool bUpload = strUpload.Equals("1"); NFIDataList xValue = new NFCDataList(); XmlNodeList xTagNodeList = xRecordNode.SelectNodes("Col"); for (int j = 0; j < xTagNodeList.Count; ++j) { XmlNode xColTagNode = xTagNodeList.Item(j); XmlAttribute strTagID = xColTagNode.Attributes["Tag"]; XmlAttribute strTagType = xColTagNode.Attributes["Type"]; switch (strTagType.Value) { case "int": { xValue.AddInt(0); } break; case "float": { xValue.AddFloat(0.0); } break; case "string": { xValue.AddString(""); } break; case "object": { xValue.AddObject(new NFGUID(0, 0)); } break; default: break; } } NFIRecord xRecord = xLogicClass.GetRecordManager().AddRecord(strID, int.Parse(strRow), xValue); xRecord.SetUpload(bUpload); } } } } }
private void LoadInstanceElement(NFILogicClass xLogicClass) { string strLogicPath = mstrRootPath; strLogicPath += xLogicClass.GetInstance(); XmlDocument xmldoc = new XmlDocument(); //xmldoc.Load(strLogicPath); /////////////////////////////////////////////////////////////////////////////////////// StreamReader cepherReader = new StreamReader(strLogicPath); ; string strContent = cepherReader.ReadToEnd(); cepherReader.Close(); byte[] data = Convert.FromBase64String(strContent); // MemoryStream stream = new MemoryStream(data); // XmlReader x = XmlReader.Create(stream); // x.MoveToContent(); // string res = x.ReadOuterXml(); string res = System.Text.ASCIIEncoding.Default.GetString(data); xmldoc.LoadXml(res); ///////////////////////////////////////////////////////////////// XmlNode xRoot = xmldoc.SelectSingleNode("XML"); XmlNodeList xNodeList = xRoot.SelectNodes("Object"); for (int i = 0; i < xNodeList.Count; ++i) { //NFCLog.Instance.Log("Class:" + xLogicClass.GetName()); XmlNode xNodeClass = xNodeList.Item(i); XmlAttribute strID = xNodeClass.Attributes["ID"]; //NFCLog.Instance.Log("ClassID:" + strID.Value); NFIElement xElement = GetElement(strID.Value); if (null == xElement) { xElement = new NFCElement(); AddElement(strID.Value, xElement); xLogicClass.AddConfigName(strID.Value); XmlAttributeCollection xCollection = xNodeClass.Attributes; for (int j = 0; j < xCollection.Count; ++j) { XmlAttribute xAttribute = xCollection[j]; NFIProperty xProperty = xLogicClass.GetPropertyManager().GetProperty(xAttribute.Name); if (null != xProperty) { NFIDataList.VARIANT_TYPE eType = xProperty.GetType(); switch (eType) { case NFIDataList.VARIANT_TYPE.VTYPE_INT: { NFIDataList xValue = new NFCDataList(); xValue.AddInt(int.Parse(xAttribute.Value)); xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); } break; case NFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFIDataList xValue = new NFCDataList(); xValue.AddFloat(float.Parse(xAttribute.Value)); xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); } break; case NFIDataList.VARIANT_TYPE.VTYPE_DOUBLE: { NFIDataList xValue = new NFCDataList(); xValue.AddDouble(double.Parse(xAttribute.Value)); xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); } break; case NFIDataList.VARIANT_TYPE.VTYPE_STRING: { NFIDataList xValue = new NFCDataList(); xValue.AddString(xAttribute.Value); NFIProperty xTestProperty = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); } break; case NFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFIDataList xValue = new NFCDataList(); xValue.AddObject(new NFGUID(0, int.Parse(xAttribute.Value))); xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); } break; default: break; } } } } } }
private void LoadLogicClassProperty(string strName) { NFILogicClass xLogicClass = GetElement(strName); if (null != xLogicClass) { string strLogicPath = mstrPath + xLogicClass.GetPath(); XmlDocument xmldoc = new XmlDocument(); //xmldoc.Load(strLogicPath); /////////////////////////////////////////////////////////////////////////////////////// StreamReader cepherReader = new StreamReader(strLogicPath);; string strContent = cepherReader.ReadToEnd(); cepherReader.Close(); byte[] data = Convert.FromBase64String(strContent); // MemoryStream stream = new MemoryStream(data); // XmlReader x = XmlReader.Create(stream); // x.MoveToContent(); // string res = x.ReadOuterXml(); string res = System.Text.ASCIIEncoding.Default.GetString(data); xmldoc.LoadXml(res); ///////////////////////////////////////////////////////////////// XmlNode xRoot = xmldoc.SelectSingleNode("XML"); XmlNode xNodePropertys = xRoot.SelectSingleNode("Propertys"); XmlNodeList xNodeList = xNodePropertys.SelectNodes("Property"); for (int i = 0; i < xNodeList.Count; ++i) { XmlNode xPropertyNode = xNodeList.Item(i); XmlAttribute strID = xPropertyNode.Attributes["Id"]; XmlAttribute strType = xPropertyNode.Attributes["Type"]; switch (strType.Value) { case "int": { NFIDataList xValue = new NFCDataList(); xValue.AddInt(0); xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); } break; case "float": { NFIDataList xValue = new NFCDataList(); xValue.AddFloat(0.0f); xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); } break; case "double": { NFIDataList xValue = new NFCDataList(); xValue.AddDouble(0.0f); xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); } break; case "string": { NFIDataList xValue = new NFCDataList(); xValue.AddString(""); xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); } break; case "object": { NFIDataList xValue = new NFCDataList(); xValue.AddObject(new NFGUID(0, 0)); xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); } break; default: break; } } } }