public override bool SetFloat(int nRow, int nCol, double value) { if (nRow >= 0 && nRow < mnRow) { if (!mhtRecordVec.ContainsKey(nRow)) { AddRow(nRow); } NFDataList valueList = (NFDataList)mhtRecordVec[nRow]; if (valueList.GetType(nCol) == NFDataList.VARIANT_TYPE.VTYPE_FLOAT) { if (valueList.FloatVal(nCol) - value > NFDataList.EPS_DOUBLE || valueList.FloatVal(nCol) - value < -NFDataList.EPS_DOUBLE) { NFDataList.TData oldValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); oldValue.Set(valueList.FloatVal(nCol)); newValue.Set(value); valueList.SetFloat(nCol, value); if (null != doHandleDel) { doHandleDel(mSelf, mstrRecordName, eRecordOptype.Update, nRow, nCol, oldValue, newValue); } } } return(true); } return(false); }
private void OnHPChangeHandler(NFGUID self, string strProperty, NFDataList.TData oldVar, NFDataList.TData newVar, Int64 reason) { if (newVar.IntVal() <= 0) { GameObject go = GetObject(self); if (go != null) { NFAnimaStateMachine xStateMachineMng = go.GetComponent <NFAnimaStateMachine>(); if (xStateMachineMng != null) { xStateMachineMng.ChangeState(NFAnimaStateType.Dead, -1); //show ui //NFUIHeroDie winHeroDie = mUIModule.ShowUI<NFUIHeroDie>(); //winHeroDie.ShowReliveUI(); } } } else if (newVar.IntVal() > 0 && oldVar.IntVal() <= 0) { GameObject go = GetObject(self); if (go != null) { NFAnimaStateMachine xStateMachineMng = go.GetComponent <NFAnimaStateMachine>(); if (xStateMachineMng != null) { xStateMachineMng.ChangeState(NFAnimaStateType.Idle, -1); } } } }
private void OnClassPlayerEventHandler(NFGUID self, int nContainerID, int nGroupID, NFIObject.CLASS_EVENT_TYPE eType, string strClassName, string strConfigIndex) { if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE) { } else if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_LOADDATA) { } else if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_DESTROY) { DestroyObject(self); } else if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE_FINISH) { string strCnfID = mKernelModule.QueryPropertyString(self, NFrame.Player.ConfigID); NFDataList.TData data = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); if (strCnfID != "") { data.Set(strCnfID); } else { data.Set(strConfigIndex); } if (data.StringVal().Length > 0) { OnConfigIDChangeHandler(self, NFrame.Player.ConfigID, data, data, 0); } mKernelModule.RegisterPropertyCallback(self, NFrame.Player.ConfigID, OnConfigIDChangeHandler); mKernelModule.RegisterPropertyCallback(self, NFrame.Player.HP, OnHPChangeHandler); } }
public override bool SetObject(NFGUID value) { if (NFDataList.VARIANT_TYPE.VTYPE_OBJECT != mxData.GetType()) { UnityEngine.Debug.LogError(this.msPropertyName + " is " + mxData.GetType().ToString() + " but you set type " + NFDataList.VARIANT_TYPE.VTYPE_OBJECT.ToString()); return(false); } if (mxData.ObjectVal() != value) { NFDataList.TData oldValue = new NFDataList.TData(mxData); NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_OBJECT); newValue.Set(value); mxData.Set(value); if (null != doHandleDel) { doHandleDel(mSelf, msPropertyName, oldValue, newValue); } } return(true); }
public override bool SetVector3(NFVector3 value, Int64 reason = 0) { if (NFDataList.VARIANT_TYPE.VTYPE_VECTOR3 != mxData.GetType()) { UnityEngine.Debug.LogError(this.msPropertyName + " is " + mxData.GetType().ToString() + " but you set type " + NFDataList.VARIANT_TYPE.VTYPE_VECTOR3.ToString()); return(false); } if (mxData.Vector3Val() != value) { NFDataList.TData oldValue = new NFDataList.TData(mxData); NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); newValue.Set(value); mxData.Set(value); if (null != doHandleDel) { doHandleDel(mSelf, msPropertyName, oldValue, newValue, reason); } } return(true); }
public override bool SetFloat(double value, Int64 reason = 0) { if (NFDataList.VARIANT_TYPE.VTYPE_FLOAT != mxData.GetType()) { UnityEngine.Debug.LogError(this.msPropertyName + " is " + mxData.GetType().ToString() + " but you set type " + NFDataList.VARIANT_TYPE.VTYPE_FLOAT.ToString()); return(false); } if (mxData.FloatVal() - value > NFDataList.EPS_DOUBLE || mxData.FloatVal() - value < -NFDataList.EPS_DOUBLE) { NFDataList.TData oldValue = new NFDataList.TData(mxData); NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); newValue.Set(value); mxData.Set(value); if (null != doHandleDel) { doHandleDel(mSelf, msPropertyName, oldValue, newValue, reason); } } return(true); }
public override bool SetVector3(int nRow, int nCol, NFVector3 value) { if (nRow >= 0 && nRow < mnRow) { if (!mhtRecordVec.ContainsKey(nRow)) { AddRow(nRow); } NFDataList valueList = (NFDataList)mhtRecordVec[nRow]; if (valueList.GetType(nCol) == NFDataList.VARIANT_TYPE.VTYPE_VECTOR3) { if (valueList.Vector3Val(nCol) != value) { NFDataList.TData oldValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); oldValue.Set(valueList.Vector3Val(nCol)); newValue.Set(value); valueList.SetVector3(nCol, value); if (null != doHandleDel) { doHandleDel(mSelf, mstrRecordName, eRecordOptype.Update, nRow, nCol, oldValue, newValue); } } } return(true); } return(false); }
private void OnConfigChangeHandler(NFGUID self, string strProperty, NFDataList.TData oldVar, NFDataList.TData newVar) { Vector3 vec = GetRenderObjectPosition(self); DestroyObject(self); if (vec.Equals(Vector3.zero)) { NFVector3 vec3 = mKernelModule.QueryPropertyVector3(self, NPC.Position); vec.x = vec3.X(); vec.y = vec3.Y(); vec.z = vec3.Z(); } string strHeroCnfID = newVar.StringVal(); string strPrefabPath = mElementModule.QueryPropertyString(strHeroCnfID, NPC.Prefab); if (strPrefabPath.Length <= 0) { strPrefabPath = mElementModule.QueryPropertyString("Enemy", NPC.Prefab); } GameObject xPlayer = CreateObject(self, strPrefabPath, vec, NFrame.Player.ThisName); if (xPlayer) { xPlayer.name = NFrame.Player.ThisName; xPlayer.transform.Rotate(new Vector3(0, 90, 0)); NFBodyIdent xBodyIdent = xPlayer.GetComponent <NFBodyIdent>(); if (null != xBodyIdent) {//不能没有 xBodyIdent.enabled = true; xBodyIdent.SetObjectID(self); xBodyIdent.cnfID = strHeroCnfID; } else { Debug.LogError("No 'BodyIdent' component in " + strPrefabPath); } if (self == mLoginModule.mRoleID) { InitPlayerComponent(self, xPlayer, true); } else { InitPlayerComponent(self, xPlayer, false); } Debug.Log("Create Object successful" + NFrame.Player.ThisName + " " + vec.ToString() + " " + self.ToString()); } else { Debug.LogError("Create Object failed" + NFrame.Player.ThisName + " " + vec.ToString() + " " + self.ToString()); } }
public override void RegisterCallback(PropertyEventHandler handler) { doHandleDel += handler; if (null != handler) { NFDataList.TData oldValue = new NFDataList.TData(mxData); handler(mSelf, msPropertyName, oldValue, oldValue, 0); } }
public override NFIProperty AddProperty(string strPropertyName, NFDataList.TData varData) { NFIProperty xProperty = null; if (!mhtProperty.ContainsKey(strPropertyName)) { xProperty = new NFCProperty(mSelf, strPropertyName, varData); mhtProperty[strPropertyName] = xProperty; } return(xProperty); }
public override bool SetProperty(string strPropertyName, NFDataList.TData varData) { if (mhtProperty.ContainsKey(strPropertyName)) { NFIProperty xProperty = (NFProperty)mhtProperty[strPropertyName]; if (null != xProperty) { xProperty.SetData(varData); } } return(true); }
public override bool SetPropertyInt(string strPropertyName, Int64 nValue) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_INT); property = mPropertyManager.AddProperty(strPropertyName, xValue); } property.SetInt(nValue); return(true); }
public override bool SetPropertyVector3(string strPropertyName, NFVector3 obj) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); property = mPropertyManager.AddProperty(strPropertyName, xValue); } property.SetVector3(obj); return(true); }
public override bool SetPropertyObject(string strPropertyName, NFGUID obj) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_OBJECT); property = mPropertyManager.AddProperty(strPropertyName, xValue); } property.SetObject(obj); return(true); }
public override bool SetPropertyString(string strPropertyName, string strValue) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); property = mPropertyManager.AddProperty(strPropertyName, xValue);; } property.SetString(strValue); return(true); }
public override bool SetPropertyFloat(string strPropertyName, double fValue) { NFIProperty property = mPropertyManager.GetProperty(strPropertyName); if (null == property) { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); property = mPropertyManager.AddProperty(strPropertyName, xValue); } property.SetFloat(fValue); return(true); }
public override bool SetData(NFDataList.TData x) { if (NFDataList.VARIANT_TYPE.VTYPE_UNKNOWN == mxData.GetType() || x.GetType() == mxData.GetType()) { switch (mxData.GetType()) { case NFDataList.VARIANT_TYPE.VTYPE_INT: SetInt(x.IntVal()); break; case NFDataList.VARIANT_TYPE.VTYPE_STRING: SetString(x.StringVal()); break; case NFDataList.VARIANT_TYPE.VTYPE_FLOAT: SetFloat(x.FloatVal()); break; case NFDataList.VARIANT_TYPE.VTYPE_OBJECT: SetObject(x.ObjectVal()); break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2: SetVector2(x.Vector2Val()); break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3: SetVector3(x.Vector3Val()); break; default: break; } return(true); } return(false); }
public NFProperty(NFGUID self, string strPropertyName, NFDataList varData) { mSelf = self; msPropertyName = strPropertyName; mxData = new NFDataList.TData(varData.GetType(0)); switch (varData.GetType(0)) { case NFDataList.VARIANT_TYPE.VTYPE_INT: mxData.Set(varData.IntVal(0)); break; case NFDataList.VARIANT_TYPE.VTYPE_FLOAT: mxData.Set(varData.FloatVal(0)); break; case NFDataList.VARIANT_TYPE.VTYPE_OBJECT: mxData.Set(varData.ObjectVal(0)); break; case NFDataList.VARIANT_TYPE.VTYPE_STRING: mxData.Set(varData.StringVal(0)); break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2: mxData.Set(varData.Vector2Val(0)); break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3: mxData.Set(varData.Vector3Val(0)); break; default: break; } }
public abstract NFIProperty AddProperty(string strPropertyName, NFDataList.TData varData);
private void LoadInstanceElement(NFIClass xLogicClass) { string strLogicPath = mstrRootPath; strLogicPath += xLogicClass.GetInstance(); strLogicPath = strLogicPath.Replace(".xml", ""); TextAsset textAsset = (TextAsset)Resources.Load(strLogicPath); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(textAsset.text); 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 NFElement(); 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) { NFDataList.VARIANT_TYPE eType = xProperty.GetType(); switch (eType) { case NFDataList.VARIANT_TYPE.VTYPE_INT: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_INT); xValue.Set(int.Parse(xAttribute.Value)); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); xValue.Set(float.Parse(xAttribute.Value)); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFDataList.VARIANT_TYPE.VTYPE_STRING: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); xValue.Set(xAttribute.Value); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_OBJECT); xValue.Set(new NFGUID(0, int.Parse(xAttribute.Value))); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2); //xValue.Set(new NFGUID(0, int.Parse(xAttribute.Value))); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3: { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); //xValue.Set(new NFGUID(0, int.Parse(xAttribute.Value))); NFIProperty property = xElement.GetPropertyManager().AddProperty(xAttribute.Name, xValue); property.SetUpload(xProperty.GetUpload()); } break; default: break; } } } } } }
public abstract bool SetProperty(string strPropertyName, NFDataList.TData varData);
private void LoadLogicClassProperty(string strName) { NFIClass xLogicClass = GetElement(strName); if (null != xLogicClass) { string strLogicPath = mstrPath + xLogicClass.GetPath(); strLogicPath = strLogicPath.Replace(".xml", ""); TextAsset textAsset = (TextAsset)Resources.Load(strLogicPath); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(textAsset.text); 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"]; XmlAttribute strUpload = xPropertyNode.Attributes["Upload"]; bool bUpload = strUpload.Value.Equals("1"); switch (strType.Value) { case "int": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_INT); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; case "float": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; case "string": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; case "object": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_OBJECT); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; case "vector2": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; case "vector3": { NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); NFIProperty xProperty = xLogicClass.GetPropertyManager().AddProperty(strID.Value, xValue); xProperty.SetUpload(bUpload); } break; default: break; } } } }
public override NFIObject CreateObject(NFGUID self, int nContainerID, int nGroupID, string strClassName, string strConfigIndex, NFDataList arg) { if (!mhtObject.ContainsKey(self)) { NFIObject xNewObject = new NFObject(self, nContainerID, nGroupID, strClassName, strConfigIndex); mhtObject.Add(self, xNewObject); NFDataList.TData varConfigID = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); varConfigID.Set(strConfigIndex); xNewObject.GetPropertyManager().AddProperty("ConfigID", varConfigID); NFDataList.TData varConfigClass = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); varConfigClass.Set(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); NFDataList.VARIANT_TYPE eType = arg.GetType(i + 1); switch (eType) { case NFDataList.VARIANT_TYPE.VTYPE_INT: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_INT); var.Set(arg.IntVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; case NFDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_FLOAT); var.Set(arg.FloatVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; case NFDataList.VARIANT_TYPE.VTYPE_STRING: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_STRING); var.Set(arg.StringVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; case NFDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_OBJECT); var.Set(arg.ObjectVal(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2); var.Set(arg.Vector2Val(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3: { NFDataList.TData var = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR3); var.Set(arg.Vector3Val(i + 1)); xNewObject.GetPropertyManager().AddProperty(strPropertyName, var); } break; default: break; } } } InitProperty(self, strClassName); InitRecord(self, strClassName); if (mhtClassHandleDel.ContainsKey(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 NFProperty(NFGUID self, string strPropertyName, NFDataList.TData varData) { mSelf = self; msPropertyName = strPropertyName; mxData = new NFDataList.TData(varData); }
public abstract bool SetData(NFDataList.TData x);