public override NFIDataList GetRecordList() { NFIDataList varData = new NFCDataList(); foreach (KeyValuePair<string, NFIRecord> de in mhtRecord) { varData.AddString(de.Key); } return varData; }
public override NFIDataList GetPropertyList() { NFIDataList varData = new NFCDataList(); foreach( DictionaryEntry de in mhtProperty) { varData.AddString(de.Key.ToString()); } return varData; }
public override NFIDataList GetPropertyList() { NFIDataList varData = new NFCDataList(); foreach (DictionaryEntry de in mhtProperty) { varData.AddString(de.Key.ToString()); } return(varData); }
public override NFIDataList GetRecordList() { NFIDataList varData = new NFCDataList(); foreach (KeyValuePair <string, NFIRecord> de in mhtRecord) { varData.AddString(de.Key); } return(varData); }
public override bool SetPropertyString(string strPropertyName, string strValue) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFIDataList valueList = new NFCDataList(); valueList.AddString(""); property = mPropertyManager.AddProperty(strPropertyName, valueList); } property.SetString(strValue); return(true); }
public override void Update(float fPassTime) { NFIDataList xRemoveKeyList = new NFCDataList();; foreach (KeyValuePair <string, NFIHeartBeat> kv in mhtHeartBeat) { NFIHeartBeat xHeartBeat = (NFIHeartBeat)kv.Value; if (xHeartBeat.NeedRemove()) { xRemoveKeyList.AddString((string)kv.Key); } else { xHeartBeat.Update(fPassTime); } } for (int i = 0; i < xRemoveKeyList.Count(); i++) { mhtHeartBeat.Remove(xRemoveKeyList.StringVal(i)); } }
private void LoadLogicClassRecord(string strName) { NFILogicClass xLogicClass = GetElement(strName); if (null != xLogicClass) { string strLogicPath = 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(); xmldoc.LoadXml(res); ///////////////////////////////////////////////////////////////// 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; 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.0f); } break; case "double": { xValue.AddDouble(0.0f); } break; case "string": { xValue.AddString(""); } break; case "object": { xValue.AddObject(new NFIDENTID(0, 0)); } break; default: break; } } xLogicClass.GetRecordManager().AddRecord(strID, int.Parse(strRow), xValue); } } } } }
public static void Main() { NFIKernelModule kernel = NFCKernelModule.Instance; Console.WriteLine("****************NFIDataList******************"); NFIDataList var = new NFCDataList(); for (int i = 0; i < 9; i += 3) { var.AddInt(i); var.AddFloat((float)i + 1); var.AddString((i + 2).ToString()); } for (int i = 0; i < 9; i += 3) { Int64 n = var.IntVal(i); double f = var.FloatVal(i + 1); string str = var.StringVal(i + 2); Console.WriteLine(n); Console.WriteLine(f); Console.WriteLine(str); } Console.WriteLine("***************NFProperty*******************"); NFGUID ident = new NFGUID(0, 1); NFIObject gameObject = kernel.CreateObject(ident, 0, 0, "", "", new NFCDataList()); NFIDataList valueProperty = new NFCDataList(); valueProperty.AddInt(112221); gameObject.GetPropertyManager().AddProperty("111", valueProperty); Console.WriteLine(gameObject.QueryPropertyInt("111")); Console.WriteLine("***************NFRecord*******************"); NFIDataList valueRecord = new NFCDataList(); valueRecord.AddInt(0); valueRecord.AddFloat(0); valueRecord.AddString(""); valueRecord.AddObject(ident); gameObject.GetRecordManager().AddRecord("testRecord", 10, valueRecord); kernel.SetRecordInt(ident, "testRecord", 0, 0, 112221); kernel.SetRecordFloat(ident, "testRecord", 0, 1, 1122210.0f); kernel.SetRecordString(ident, "testRecord", 0, 2, ";;;;;;112221"); kernel.SetRecordObject(ident, "testRecord", 0, 3, ident); Console.WriteLine(gameObject.QueryRecordInt("testRecord", 0, 0)); Console.WriteLine(gameObject.QueryRecordFloat("testRecord", 0, 1)); Console.WriteLine(gameObject.QueryRecordString("testRecord", 0, 2)); Console.WriteLine(gameObject.QueryRecordObject("testRecord", 0, 3)); Console.WriteLine(" "); Console.WriteLine("***************PropertyNFEvent*******************"); //挂属性回调,挂表回调 kernel.RegisterPropertyCallback(ident, "111", OnPropertydHandler); kernel.SetPropertyInt(ident, "111", 2456); Console.WriteLine(" "); Console.WriteLine("***************RecordNFEvent*******************"); kernel.RegisterRecordCallback(ident, "testRecord", OnRecordEventHandler); kernel.SetRecordInt(ident, "testRecord", 0, 0, 1111111); Console.WriteLine(" "); Console.WriteLine("***************ClassNFEvent*******************"); kernel.RegisterClassCallBack("CLASSAAAAA", OnClassHandler); kernel.CreateObject(new NFGUID(0, 2), 0, 0, "CLASSAAAAA", "CONFIGINDEX", new NFCDataList()); kernel.DestroyObject(new NFGUID(0, 2)); Console.WriteLine(" "); Console.WriteLine("***************NFHeartBeat*******************"); kernel.AddHeartBeat(new NFGUID(0, 1), "TestHeartBeat", HeartBeatEventHandler, 5.0f, 1); while (true) { System.Threading.Thread.Sleep(1000); kernel.UpDate(1.0f); } }
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; } } } } } }
public override NFIObject CreateObject(NFGUID self, int nContainerID, int nGroupID, string strClassName, string strConfigIndex, NFIDataList arg) { if (!mhtObject.ContainsKey(self)) { NFIObject xNewObject = new NFCObject(self, nContainerID, nGroupID, strClassName, strConfigIndex); mhtObject.Add(self, xNewObject); NFCDataList varConfigID = new NFCDataList(); varConfigID.AddString(strConfigIndex); xNewObject.GetPropertyManager().AddProperty("ConfigID", varConfigID); NFCDataList varConfigClass = new NFCDataList(); varConfigClass.AddString(strClassName); xNewObject.GetPropertyManager().AddProperty("ClassName", varConfigClass); if (arg.Count() % 2 == 0) { for (int i = 0; i < arg.Count() - 1; i += 2) { string strPropertyName = arg.StringVal(i); NFIDataList.VARIANT_TYPE eType = arg.GetType(i + 1); switch (eType) { case NFIDataList.VARIANT_TYPE.VTYPE_INT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddInt(arg.IntVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddFloat(arg.FloatVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_DOUBLE: { NFIDataList xDataList = new NFCDataList(); xDataList.AddDouble(arg.DoubleVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_STRING: { NFIDataList xDataList = new NFCDataList(); xDataList.AddString(arg.StringVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddObject(arg.ObjectVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; default: break; } } } InitProperty(self, strClassName); InitRecord(self, strClassName); ClassHandleDel xHandleDel = (ClassHandleDel)mhtClassHandleDel[strClassName]; if (null != xHandleDel && null != xHandleDel.GetHandler()) { NFIObject.ClassEventHandler xHandlerList = xHandleDel.GetHandler(); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE, strClassName, strConfigIndex); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_LOADDATA, strClassName, strConfigIndex); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE_FINISH, strClassName, strConfigIndex); } //NFCLog.Instance.Log(NFCLog.LOG_LEVEL.DEBUG, "Create object: " + self.ToString() + " ClassName: " + strClassName + " SceneID: " + nContainerID + " GroupID: " + nGroupID); return(xNewObject); } return(null); }
public static void Main() { NFIKernelModule kernel = NFCKernelModule.Instance; Console.WriteLine("****************NFIDataList******************"); NFIDataList var = new NFCDataList(); for (int i = 0; i < 9; i +=3) { var.AddInt(i); var.AddFloat((float)i+1); var.AddString((i+2).ToString()); } for (int i = 0; i < 9; i += 3) { Int64 n = var.IntVal(i); double f = var.FloatVal(i+1); string str = var.StringVal(i+2); Console.WriteLine(n); Console.WriteLine(f); Console.WriteLine(str); } Console.WriteLine("***************NFProperty*******************"); NFGUID ident = new NFGUID(0, 1); NFIObject gameObject = kernel.CreateObject(ident, 0, 0, "", "", new NFCDataList()); NFIDataList valueProperty = new NFCDataList(); valueProperty.AddInt(112221); gameObject.GetPropertyManager().AddProperty("111", valueProperty); Console.WriteLine(gameObject.QueryPropertyInt("111")); Console.WriteLine("***************NFRecord*******************"); NFIDataList valueRecord = new NFCDataList(); valueRecord.AddInt(0); valueRecord.AddFloat(0); valueRecord.AddString(""); valueRecord.AddObject(ident); gameObject.GetRecordManager().AddRecord("testRecord", 10, valueRecord); kernel.SetRecordInt(ident, "testRecord", 0, 0, 112221); kernel.SetRecordFloat(ident, "testRecord", 0, 1, 1122210.0f); kernel.SetRecordString(ident, "testRecord", 0, 2, ";;;;;;112221"); kernel.SetRecordObject(ident, "testRecord", 0, 3, ident); Console.WriteLine(gameObject.QueryRecordInt("testRecord", 0,0)); Console.WriteLine(gameObject.QueryRecordFloat("testRecord", 0, 1)); Console.WriteLine(gameObject.QueryRecordString("testRecord", 0, 2)); Console.WriteLine(gameObject.QueryRecordObject("testRecord", 0, 3)); Console.WriteLine(" "); Console.WriteLine("***************PropertyNFEvent*******************"); //挂属性回调,挂表回调 kernel.RegisterPropertyCallback(ident, "111", OnPropertydHandler); kernel.SetPropertyInt(ident, "111", 2456); Console.WriteLine(" "); Console.WriteLine("***************RecordNFEvent*******************"); kernel.RegisterRecordCallback(ident, "testRecord", OnRecordEventHandler); kernel.SetRecordInt(ident, "testRecord", 0, 0, 1111111); Console.WriteLine(" "); Console.WriteLine("***************ClassNFEvent*******************"); kernel.RegisterClassCallBack("CLASSAAAAA", OnClassHandler); kernel.CreateObject(new NFGUID(0, 2), 0, 0, "CLASSAAAAA", "CONFIGINDEX", new NFCDataList()); kernel.DestroyObject(new NFGUID(0, 2)); Console.WriteLine(" "); Console.WriteLine("***************NFHeartBeat*******************"); kernel.AddHeartBeat(new NFGUID(0, 1), "TestHeartBeat", HeartBeatEventHandler, 5.0f, 1); while (true) { System.Threading.Thread.Sleep(1000); kernel.UpDate(1.0f); } }
public override NFIObject CreateObject(NFGUID self, int nContainerID, int nGroupID, string strClassName, string strConfigIndex, NFIDataList arg) { if (!mhtObject.ContainsKey(self)) { NFIObject xNewObject = new NFCObject(self, nContainerID, nGroupID, strClassName, strConfigIndex); mhtObject.Add(self, xNewObject); NFCDataList varConfigID = new NFCDataList(); varConfigID.AddString(strConfigIndex); xNewObject.GetPropertyManager().AddProperty("ConfigID", varConfigID); NFCDataList varConfigClass = new NFCDataList(); varConfigClass.AddString(strClassName); xNewObject.GetPropertyManager().AddProperty("ClassName", varConfigClass); if (arg.Count() % 2 == 0) { for (int i = 0; i < arg.Count() - 1; i += 2) { string strPropertyName = arg.StringVal(i); NFIDataList.VARIANT_TYPE eType = arg.GetType(i + 1); switch (eType) { case NFIDataList.VARIANT_TYPE.VTYPE_INT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddInt(arg.IntVal(i+1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddFloat(arg.FloatVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_STRING: { NFIDataList xDataList = new NFCDataList(); xDataList.AddString(arg.StringVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFIDataList xDataList = new NFCDataList(); xDataList.AddObject(arg.ObjectVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_VECTOR2: { NFIDataList xDataList = new NFCDataList(); xDataList.AddVector2(arg.Vector2Val(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; case NFIDataList.VARIANT_TYPE.VTYPE_VECTOR3: { NFIDataList xDataList = new NFCDataList(); xDataList.AddVector3(arg.Vector3Val(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, xDataList); } break; default: break; } } } InitProperty(self, strClassName); InitRecord(self, strClassName); ClassHandleDel xHandleDel = (ClassHandleDel)mhtClassHandleDel[strClassName]; if (null != xHandleDel && null != xHandleDel.GetHandler()) { NFIObject.ClassEventHandler xHandlerList = xHandleDel.GetHandler(); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE, strClassName, strConfigIndex); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_LOADDATA, strClassName, strConfigIndex); xHandlerList(self, nContainerID, nGroupID, NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE_FINISH, strClassName, strConfigIndex); } //NFCLog.Instance.Log(NFCLog.LOG_LEVEL.DEBUG, "Create object: " + self.ToString() + " ClassName: " + strClassName + " SceneID: " + nContainerID + " GroupID: " + nGroupID); return xNewObject; } return null; }
public override bool SetString(int nRow, int nCol, string value) { if(nRow >= 0 && nRow < mnRow) { if (!mhtRecordVec.ContainsKey(nRow)) { AddRow(nRow); } NFIDataList valueList = (NFIDataList)mhtRecordVec[nRow]; if (valueList.GetType(nCol) == NFIDataList.VARIANT_TYPE.VTYPE_STRING) { if (valueList.StringVal(nCol) != value) { NFCDataList oldValue = new NFCDataList(); oldValue.AddString(valueList.StringVal(nCol)); valueList.SetString(nCol, value); NFCDataList newValue = new NFCDataList(); newValue.AddString(valueList.StringVal(nCol)); if (null != doHandleDel) { doHandleDel(mSelf, mstrRecordName, eRecordOptype.Updata, nRow, nCol, oldValue, newValue); } } } return true; } return false; }
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 ADD_ROW(NFGUID self, string strRecordName, NFMsg.RecordAddRowStruct xAddStruct) { NFIObject go = NFCKernelModule.Instance.GetObject(self); NFIRecordManager xRecordManager = go.GetRecordManager(); Hashtable recordVecDesc = new Hashtable(); Hashtable recordVecData = new Hashtable(); for (int k = 0; k < xAddStruct.record_int_list.Count; ++k) { NFMsg.RecordInt addIntStruct = (NFMsg.RecordInt)xAddStruct.record_int_list[k]; if (addIntStruct.col >= 0) { recordVecDesc[addIntStruct.col] = NFIDataList.VARIANT_TYPE.VTYPE_INT; recordVecData[addIntStruct.col] = addIntStruct.data; } } for (int k = 0; k < xAddStruct.record_float_list.Count; ++k) { NFMsg.RecordFloat addFloatStruct = (NFMsg.RecordFloat)xAddStruct.record_float_list[k]; if (addFloatStruct.col >= 0) { recordVecDesc[addFloatStruct.col] = NFIDataList.VARIANT_TYPE.VTYPE_FLOAT; recordVecData[addFloatStruct.col] = addFloatStruct.data; } } for (int k = 0; k < xAddStruct.record_string_list.Count; ++k) { NFMsg.RecordString addStringStruct = (NFMsg.RecordString)xAddStruct.record_string_list[k]; if (addStringStruct.col >= 0) { recordVecDesc[addStringStruct.col] = NFIDataList.VARIANT_TYPE.VTYPE_STRING; recordVecData[addStringStruct.col] = System.Text.Encoding.Default.GetString(addStringStruct.data); } } for (int k = 0; k < xAddStruct.record_object_list.Count; ++k) { NFMsg.RecordObject addObjectStruct = (NFMsg.RecordObject)xAddStruct.record_object_list[k]; if (addObjectStruct.col >= 0) { recordVecDesc[addObjectStruct.col] = NFIDataList.VARIANT_TYPE.VTYPE_OBJECT; recordVecData[addObjectStruct.col] = PBToNF(addObjectStruct.data); } } NFIDataList varListDesc = new NFCDataList(); NFIDataList varListData = new NFCDataList(); for (int m = 0; m < recordVecDesc.Count; m++) { if (recordVecDesc.ContainsKey(m) && recordVecData.ContainsKey(m)) { NFIDataList.VARIANT_TYPE nType = (NFIDataList.VARIANT_TYPE)recordVecDesc[m]; switch (nType) { case NFIDataList.VARIANT_TYPE.VTYPE_INT: { varListDesc.AddInt(0); varListData.AddInt((Int64)recordVecData[m]); } break; case NFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { varListDesc.AddFloat(0.0f); varListData.AddFloat((float)recordVecData[m]); } break; case NFIDataList.VARIANT_TYPE.VTYPE_STRING: { varListDesc.AddString(""); varListData.AddString((string)recordVecData[m]); } break; case NFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { varListDesc.AddObject(new NFGUID()); varListData.AddObject((NFGUID)recordVecData[m]); } break; default: break; } } else { //报错 //Debug.LogException(i); } } NFIRecord xRecord = xRecordManager.GetRecord(strRecordName); if (null == xRecord) { xRecord = xRecordManager.AddRecord(strRecordName, 512, varListDesc); } xRecord.AddRow(xAddStruct.row, varListData); }
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; } } } }
private void EGMI_ACK_OBJECT_ENTRY(MsgHead head, MemoryStream stream) { NFMsg.MsgBase xMsg = new NFMsg.MsgBase(); xMsg = Serializer.Deserialize<NFMsg.MsgBase>(stream); NFMsg.AckPlayerEntryList xData = new NFMsg.AckPlayerEntryList(); xData = Serializer.Deserialize<NFMsg.AckPlayerEntryList>(new MemoryStream(xMsg.msg_data)); for (int i = 0; i < xData.object_list.Count; ++i) { NFMsg.PlayerEntryInfo xInfo = xData.object_list[i]; NFIDataList var = new NFCDataList(); var.AddString("X"); var.AddFloat(xInfo.x); var.AddString("Y"); var.AddFloat(xInfo.y); var.AddString("Z"); var.AddFloat(xInfo.z); NFIObject xGO = NFCKernelModule.Instance.CreateObject(PBToNF(xInfo.object_guid), xInfo.scene_id, 0, System.Text.Encoding.Default.GetString(xInfo.class_id), System.Text.Encoding.Default.GetString(xInfo.config_id), var); if (null == xGO) { Debug.LogError("ID冲突: " + xInfo.object_guid + " ConfigID:" + System.Text.Encoding.Default.GetString(xInfo.config_id)); continue; } } }
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; } } } } } }
public void MainU3D() { Debug.Log("****************NFIDataList******************"); NFIDataList var = new NFCDataList(); for (int i = 0; i < 9; i += 3) { var.AddInt(i); var.AddFloat((float)i + 1); var.AddString((i + 2).ToString()); } for (int i = 0; i < 9; i += 3) { Int64 n = var.IntVal(i); double f = var.FloatVal(i + 1); string str = var.StringVal(i + 2); Debug.Log(n); Debug.Log(f); Debug.Log(str); } Debug.Log("***************NFProperty*******************"); NFGUID ident = new NFGUID(0, 1); NFIObject gameObject = xKernel.CreateObject(ident, 0, 0, "", "", new NFCDataList()); NFIDataList valueProperty = new NFCDataList(); valueProperty.AddInt(112221); gameObject.GetPropertyManager().AddProperty("111", valueProperty); Debug.Log(gameObject.QueryPropertyInt("111")); Debug.Log("***************NFRecord*******************"); NFIDataList valueRecord = new NFCDataList(); valueRecord.AddInt(0); valueRecord.AddFloat(0); valueRecord.AddString(""); valueRecord.AddObject(ident); gameObject.GetRecordManager().AddRecord("testRecord", 10, valueRecord); xKernel.SetRecordInt(ident, "testRecord", 0, 0, 112221); xKernel.SetRecordFloat(ident, "testRecord", 0, 1, 1122210.0f); xKernel.SetRecordString(ident, "testRecord", 0, 2, ";;;;;;112221"); xKernel.SetRecordObject(ident, "testRecord", 0, 3, ident); Debug.Log(gameObject.QueryRecordInt("testRecord", 0, 0)); Debug.Log(gameObject.QueryRecordFloat("testRecord", 0, 1)); Debug.Log(gameObject.QueryRecordString("testRecord", 0, 2)); Debug.Log(gameObject.QueryRecordObject("testRecord", 0, 3)); Debug.Log(" "); Debug.Log("***************PropertyNFEvent*******************"); //挂属性回调,挂表回调 xKernel.RegisterPropertyCallback(ident, "111", OnPropertydHandler); xKernel.SetPropertyInt(ident, "111", 2456); Debug.Log(" "); Debug.Log("***************RecordNFEvent*******************"); xKernel.RegisterRecordCallback(ident, "testRecord", OnRecordEventHandler); xKernel.SetRecordInt(ident, "testRecord", 0, 0, 1111111); Debug.Log(" "); Debug.Log("***************ClassNFEvent*******************"); xKernel.RegisterClassCallBack("CLASSAAAAA", OnClassHandler); xKernel.CreateObject(new NFGUID(0, 2), 0, 0, "CLASSAAAAA", "CONFIGINDEX", new NFCDataList()); xKernel.DestroyObject(new NFGUID(0, 2)); Debug.Log(" "); Debug.Log("***************NFHeartBeat*******************"); xKernel.AddHeartBeat(new NFGUID(0, 1), "TestHeartBeat", HeartBeatEventHandler, 5.0f, 1); }
public void MainU3D() { Debug.Log("****************NFIDataList******************"); NFIDataList var = new NFCDataList(); for (int i = 0; i < 9; i +=3) { var.AddInt(i); var.AddFloat((float)i+1); var.AddString((i+2).ToString()); } for (int i = 0; i < 9; i += 3) { Int64 n = var.IntVal(i); double f = var.FloatVal(i+1); string str = var.StringVal(i+2); Debug.Log(n); Debug.Log(f); Debug.Log(str); } Debug.Log("***************NFProperty*******************"); NFGUID ident = new NFGUID(0, 1); NFIObject gameObject = xKernel.CreateObject(ident, 0, 0, "", "", new NFCDataList()); NFIDataList valueProperty = new NFCDataList(); valueProperty.AddInt(112221); gameObject.GetPropertyManager().AddProperty("111", valueProperty); Debug.Log(gameObject.QueryPropertyInt("111")); Debug.Log("***************NFRecord*******************"); NFIDataList valueRecord = new NFCDataList(); valueRecord.AddInt(0); valueRecord.AddFloat(0); valueRecord.AddString(""); valueRecord.AddObject(ident); gameObject.GetRecordManager().AddRecord("testRecord", 10, valueRecord); xKernel.SetRecordInt(ident, "testRecord", 0, 0, 112221); xKernel.SetRecordFloat(ident, "testRecord", 0, 1, 1122210.0f); xKernel.SetRecordString(ident, "testRecord", 0, 2, ";;;;;;112221"); xKernel.SetRecordObject(ident, "testRecord", 0, 3, ident); Debug.Log(gameObject.QueryRecordInt("testRecord", 0,0)); Debug.Log(gameObject.QueryRecordFloat("testRecord", 0, 1)); Debug.Log(gameObject.QueryRecordString("testRecord", 0, 2)); Debug.Log(gameObject.QueryRecordObject("testRecord", 0, 3)); Debug.Log(" "); Debug.Log("***************PropertyNFEvent*******************"); //挂属性回调,挂表回调 xKernel.RegisterPropertyCallback(ident, "111", OnPropertydHandler); xKernel.SetPropertyInt(ident, "111", 2456); Debug.Log(" "); Debug.Log("***************RecordNFEvent*******************"); xKernel.RegisterRecordCallback(ident, "testRecord", OnRecordEventHandler); xKernel.SetRecordInt(ident, "testRecord", 0, 0, 1111111); Debug.Log(" "); Debug.Log("***************ClassNFEvent*******************"); xKernel.RegisterClassCallBack("CLASSAAAAA", OnClassHandler); xKernel.CreateObject(new NFGUID(0, 2), 0, 0, "CLASSAAAAA", "CONFIGINDEX", new NFCDataList()); xKernel.DestroyObject(new NFGUID(0, 2)); Debug.Log(" "); Debug.Log("***************NFHeartBeat*******************"); xKernel.AddHeartBeat(new NFGUID(0, 1), "TestHeartBeat", HeartBeatEventHandler, 5.0f, 1); }
private void EGMI_ACK_PROPERTY_STRING(MsgHead head, MemoryStream stream) { NFMsg.MsgBase xMsg = new NFMsg.MsgBase(); xMsg = Serializer.Deserialize<NFMsg.MsgBase>(stream); NFMsg.ObjectPropertyString propertyData = new NFMsg.ObjectPropertyString(); propertyData = Serializer.Deserialize<NFMsg.ObjectPropertyString>(new MemoryStream(xMsg.msg_data)); NFIObject go = NFCKernelModule.Instance.GetObject(PBToNF(propertyData.player_id)); for(int i = 0; i < propertyData.property_list.Count; i++) { NFIPropertyManager propertyManager = go.GetPropertyManager(); NFIProperty property = propertyManager.GetProperty(System.Text.Encoding.Default.GetString(propertyData.property_list[i].property_name)); if (null == property) { NFIDataList varList = new NFCDataList(); varList.AddString(""); property = propertyManager.AddProperty(System.Text.Encoding.Default.GetString(propertyData.property_list[i].property_name), varList); } property.SetString(System.Text.Encoding.Default.GetString(propertyData.property_list[i].data)); } }
public override bool SetPropertyString(string strPropertyName, string strValue) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFIDataList valueList = new NFCDataList(); valueList.AddString(""); property = mPropertyManager.AddProperty(strPropertyName, valueList); } property.SetString(strValue); return true; }
private void EGMI_ACK_OBJECT_PROPERTY_ENTRY(MsgHead head, MemoryStream stream) { NFMsg.MsgBase xMsg = new NFMsg.MsgBase(); xMsg = Serializer.Deserialize<NFMsg.MsgBase>(stream); NFMsg.MultiObjectPropertyList xMultiObjectPropertyList = new NFMsg.MultiObjectPropertyList(); xMultiObjectPropertyList = Serializer.Deserialize<NFMsg.MultiObjectPropertyList>(new MemoryStream(xMsg.msg_data)); for (int i = 0; i < xMultiObjectPropertyList.multi_player_property.Count; i++) { NFMsg.ObjectPropertyList xPropertyData = xMultiObjectPropertyList.multi_player_property[i]; NFIObject go = NFCKernelModule.Instance.GetObject(PBToNF(xPropertyData.player_id)); NFIPropertyManager xPropertyManager = go.GetPropertyManager(); for (int j = 0; j < xPropertyData.property_int_list.Count; j++) { string strPropertyName = System.Text.Encoding.Default.GetString(xPropertyData.property_int_list[j].property_name); NFIProperty xProperty = xPropertyManager.GetProperty(strPropertyName); if (null == xProperty) { NFIDataList varList = new NFCDataList(); varList.AddInt(0); xProperty = xPropertyManager.AddProperty(strPropertyName, varList); } xProperty.SetInt(xPropertyData.property_int_list[j].data); } for (int j = 0; j < xPropertyData.property_float_list.Count; j++) { string strPropertyName = System.Text.Encoding.Default.GetString(xPropertyData.property_float_list[j].property_name); NFIProperty xProperty = xPropertyManager.GetProperty(strPropertyName); if (null == xProperty) { NFIDataList varList = new NFCDataList(); varList.AddFloat(0); xProperty = xPropertyManager.AddProperty(strPropertyName, varList); } xProperty.SetFloat(xPropertyData.property_float_list[j].data); } for (int j = 0; j < xPropertyData.property_string_list.Count; j++) { string strPropertyName = System.Text.Encoding.Default.GetString(xPropertyData.property_string_list[j].property_name); NFIProperty xProperty = xPropertyManager.GetProperty(strPropertyName); if (null == xProperty) { NFIDataList varList = new NFCDataList(); varList.AddString(""); xProperty = xPropertyManager.AddProperty(strPropertyName, varList); } xProperty.SetString(System.Text.Encoding.Default.GetString(xPropertyData.property_string_list[j].data)); } for (int j = 0; j < xPropertyData.property_object_list.Count; j++) { string strPropertyName = System.Text.Encoding.Default.GetString(xPropertyData.property_object_list[j].property_name); NFIProperty xProperty = xPropertyManager.GetProperty(strPropertyName); if (null == xProperty) { NFIDataList varList = new NFCDataList(); varList.AddObject(new NFGUID()); xProperty = xPropertyManager.AddProperty(strPropertyName, varList); } xProperty.SetObject(PBToNF(xPropertyData.property_object_list[j].data)); } } }
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; } } } }