IsNull() public méthode

public IsNull ( ) : bool
Résultat bool
        private void EGMI_ACK_OBJECT_PROPERTY_ENTRY(int id, MemoryStream stream)
        {
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.MultiObjectPropertyList xData = NFMsg.MultiObjectPropertyList.Parser.ParseFrom(xMsg.MsgData);

            for (int i = 0; i < xData.MultiPlayerProperty.Count; i++)
            {
                NFMsg.ObjectPropertyList xPropertyData = xData.MultiPlayerProperty[i];
                NFGUID xObjectID = mHelpModule.PBToNF(xPropertyData.PlayerId);

                ObjectDataBuff xDataBuff;
                if (mxObjectDataBuff.TryGetValue(xObjectID, out xDataBuff))
                {
                    xDataBuff.xPropertyList = xPropertyData;
                    if (xObjectID.IsNull())
                    {
                        AttachObjectData(xObjectID);
                    }
                }
                else
                {
                    xDataBuff = new ObjectDataBuff();
                    xDataBuff.xPropertyList     = xPropertyData;
                    mxObjectDataBuff[xObjectID] = xDataBuff;
                    AttachObjectData(xObjectID);
                }
            }
        }
        private void EGMI_ACK_MOVE_IMMUNE(int id, MemoryStream stream)
        {
            Debug.Log("EGMI_ACK_MOVE_IMMUNE " + Time.time);
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);

            if (xData.SyncUnit.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < xData.SyncUnit.Count; ++i)
            {
                NFMsg.PosSyncUnit posSync = xData.SyncUnit[i];
                NFGUID            xMover  = mHelpModule.PBToNF(posSync.Mover);
                if (xMover.IsNull())
                {
                    return;
                }

                GameObject xGameObject = mSceneModule.GetObject(xMover);
                if (!xGameObject)
                {
                    return;
                }

                NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();
                if (!xHeroSync)
                {
                    return;
                }


                //TODO
                //GC----------

                /*
                 * UnityEngine.Vector3 v = new UnityEngine.Vector3();
                 * v.x = vector.X;
                 * v.y = vector.Y;
                 * v.z = vector.Z;
                 */
                //xHeroSync.AddSyncData(v);

                //float fSpeed = mKernelModule.QueryPropertyInt(xMover, NFrame.NPC.MOVE_SPEED) / 100.0f;
                //fSpeed *= 1.5f;
                //mSceneModule.MoveImmuneBySpeed(PBToNF(xData.mover), new Vector3(xData.target_pos[0].x, xData.target_pos[0].y, xData.target_pos[0].z), fSpeed, true);
            }
        }
Exemple #3
0
        //////////////////////////////////
        ///
        private void EGMI_ACK_MOVE(int id, MemoryStream stream)
        {
            Debug.Log("Move " + Time.time);

            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);

            if (xData.SyncUnit.Count <= 0)
            {
                return;
            }

            NFMsg.PosSyncUnit syncUnit = xData.SyncUnit[0];

            NFGUID xMover = mHelpModule.PBToNF(syncUnit.Mover);

            if (xMover.IsNull())
            {
                Debug.LogError("xMover " + Time.time);
                return;
            }

            if (xMover == mLoginModule.mRoleID)
            {
                return;
            }

            GameObject xGameObject = mSceneModule.GetObject(xMover);

            if (!xGameObject)
            {
                Debug.LogError("xGameObject " + Time.time);
                return;
            }

            NFHeroMotor xHeroMotor = xGameObject.GetComponent <NFHeroMotor>();

            if (!xHeroMotor)
            {
                Debug.LogError("xHeroSync " + Time.time);
                return;
            }

            UnityEngine.Vector3 v = new UnityEngine.Vector3();
            v.x = syncUnit.Pos.X;
            v.y = syncUnit.Pos.Y;
            v.z = syncUnit.Pos.Z;
            xHeroMotor.MoveTo(v);
        }
        private void EGMI_ACK_POS_SYNC(int id, MemoryStream stream)
        {
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);


            NFGUID xMover = mHelpModule.PBToNF(xData.Mover);

            if (xMover.IsNull())
            {
                Debug.LogError("xMover " + Time.time);
                return;
            }

            if (xMover == mLoginModule.mRoleID)
            {
                return;
            }

            GameObject xGameObject = mSceneModule.GetObject(xMover);

            if (!xGameObject)
            {
                Debug.LogError("xGameObject " + Time.time);
                return;
            }

            NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();

            if (!xHeroSync)
            {
                Debug.LogError("xHeroSync " + Time.time);
                return;
            }

            xHeroSync.AddSyncData(xData);
        }
        private void EGMI_ACK_OBJECT_RECORD_ENTRY(int id, MemoryStream stream)
        {
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.MultiObjectRecordList xData = NFMsg.MultiObjectRecordList.Parser.ParseFrom(xMsg.MsgData);

            for (int i = 0; i < xData.MultiPlayerRecord.Count; i++)
            {
                NFMsg.ObjectRecordList xObjectRecordList = xData.MultiPlayerRecord[i];
                NFGUID xObjectID = mHelpModule.PBToNF(xObjectRecordList.PlayerId);

                //Debug.Log ("new record enter Object: " + xObjectID.ToString () );

                ObjectDataBuff xDataBuff;
                if (mxObjectDataBuff.TryGetValue(xObjectID, out xDataBuff))
                {
                    xDataBuff.xRecordList = xObjectRecordList;
                    if (xObjectID.IsNull())
                    {
                        AttachObjectData(xObjectID);
                    }
                }
            }
        }
        private void ADD_ROW(NFGUID self, string strRecordName, NFMsg.RecordAddRowStruct xAddStruct)
        {
            NFIObject go = mKernelModule.GetObject(self);

            if (go == null)
            {
                Debug.LogError("error id" + self);
                return;
            }

            NFIRecordManager xRecordManager = go.GetRecordManager();

            Hashtable recordVecDesc = new Hashtable();
            Hashtable recordVecData = new Hashtable();

            for (int k = 0; k < xAddStruct.RecordIntList.Count; ++k)
            {
                NFMsg.RecordInt addIntStruct = (NFMsg.RecordInt)xAddStruct.RecordIntList[k];

                if (addIntStruct.Col >= 0)
                {
                    recordVecDesc[addIntStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_INT;
                    recordVecData[addIntStruct.Col] = addIntStruct.Data;
                }
            }

            for (int k = 0; k < xAddStruct.RecordFloatList.Count; ++k)
            {
                NFMsg.RecordFloat addFloatStruct = (NFMsg.RecordFloat)xAddStruct.RecordFloatList[k];

                if (addFloatStruct.Col >= 0)
                {
                    recordVecDesc[addFloatStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_FLOAT;
                    recordVecData[addFloatStruct.Col] = addFloatStruct.Data;
                }
            }

            for (int k = 0; k < xAddStruct.RecordStringList.Count; ++k)
            {
                NFMsg.RecordString addStringStruct = (NFMsg.RecordString)xAddStruct.RecordStringList[k];

                if (addStringStruct.Col >= 0)
                {
                    recordVecDesc[addStringStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_STRING;
                    if (addStringStruct.Data != null)
                    {
                        recordVecData[addStringStruct.Col] = addStringStruct.Data.ToStringUtf8();
                    }
                    else
                    {
                        recordVecData[addStringStruct.Col] = "";
                    }
                }
            }

            for (int k = 0; k < xAddStruct.RecordObjectList.Count; ++k)
            {
                NFMsg.RecordObject addObjectStruct = (NFMsg.RecordObject)xAddStruct.RecordObjectList[k];

                if (addObjectStruct.Col >= 0)
                {
                    recordVecDesc[addObjectStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_OBJECT;
                    recordVecData[addObjectStruct.Col] = mHelpModule.PBToNF(addObjectStruct.Data);
                }
            }

            for (int k = 0; k < xAddStruct.RecordVector2List.Count; ++k)
            {
                NFMsg.RecordVector2 addObjectStruct = (NFMsg.RecordVector2)xAddStruct.RecordVector2List[k];

                if (addObjectStruct.Col >= 0)
                {
                    recordVecDesc[addObjectStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_VECTOR2;
                    recordVecData[addObjectStruct.Col] = mHelpModule.PBToNF(addObjectStruct.Data);
                }
            }

            for (int k = 0; k < xAddStruct.RecordVector3List.Count; ++k)
            {
                NFMsg.RecordVector3 addObjectStruct = (NFMsg.RecordVector3)xAddStruct.RecordVector3List[k];

                if (addObjectStruct.Col >= 0)
                {
                    recordVecDesc[addObjectStruct.Col] = NFDataList.VARIANT_TYPE.VTYPE_VECTOR3;
                    recordVecData[addObjectStruct.Col] = mHelpModule.PBToNF(addObjectStruct.Data);
                }
            }

            NFDataList varListDesc = new NFDataList();
            NFDataList varListData = new NFDataList();

            for (int m = 0; m < recordVecDesc.Count; m++)
            {
                if (recordVecDesc.ContainsKey(m) && recordVecData.ContainsKey(m))
                {
                    NFDataList.VARIANT_TYPE nType = (NFDataList.VARIANT_TYPE)recordVecDesc[m];
                    switch (nType)
                    {
                    case NFDataList.VARIANT_TYPE.VTYPE_INT:
                    {
                        varListDesc.AddInt(0);
                        varListData.AddInt((Int64)recordVecData[m]);
                    }

                    break;

                    case NFDataList.VARIANT_TYPE.VTYPE_FLOAT:
                    {
                        varListDesc.AddFloat(0.0f);
                        varListData.AddFloat((float)recordVecData[m]);
                    }
                    break;

                    case NFDataList.VARIANT_TYPE.VTYPE_STRING:
                    {
                        varListDesc.AddString("");
                        varListData.AddString((string)recordVecData[m]);
                    }
                    break;

                    case NFDataList.VARIANT_TYPE.VTYPE_OBJECT:
                    {
                        varListDesc.AddObject(new NFGUID());
                        varListData.AddObject((NFGUID)recordVecData[m]);
                    }
                    break;

                    case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2:
                    {
                        varListDesc.AddVector2(new NFVector2());
                        varListData.AddVector2((NFVector2)recordVecData[m]);
                    }
                    break;

                    case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3:
                    {
                        varListDesc.AddVector3(new NFVector3());
                        varListData.AddVector3((NFVector3)recordVecData[m]);
                    }
                    break;

                    default:
                        break;
                    }
                }
                else
                {
                    //����
                    //Debug.LogException(i);
                }
            }

            NFIRecord xRecord = xRecordManager.GetRecord(strRecordName);

            if (null == xRecord)
            {
                Debug.Log("Empty record:" + strRecordName);
                string    strClassName  = mKernelModule.QueryPropertyString(self, NFrame.IObject.ClassName);
                NFIClass  xLogicClass   = mClassModule.GetElement(strClassName);
                NFIRecord xStaticRecord = xLogicClass.GetRecordManager().GetRecord(strRecordName);

                xRecord = xRecordManager.AddRecord(strRecordName, 512, varListDesc, xStaticRecord.GetTagData());
            }

            if (self.IsNull())
            {
                StringBuilder stringBuilder = new StringBuilder();
                for (int i = 0; i < varListData.Count(); ++i)
                {
                    stringBuilder.Append(varListData.GetData(i).ToString());
                    stringBuilder.Append(";");
                }

                Debug.Log(strRecordName + " add row:" + stringBuilder.ToString());
            }

            xRecord.AddRow(xAddStruct.Row, varListData);
        }
        //////////////////////////////////
        ///
        private void EGMI_ACK_MOVE(int id, MemoryStream stream)
        {
            Debug.Log("Move " + Time.time);

            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);

            if (xData.SyncUnit.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < xData.SyncUnit.Count; ++i)
            {
                NFMsg.PosSyncUnit syncUnit = xData.SyncUnit[i];

                NFGUID xMover = mHelpModule.PBToNF(syncUnit.Mover);

                if (xMover.IsNull())
                {
                    Debug.LogError("xMover " + Time.time);
                    return;
                }

                if (xMover == mLoginModule.mRoleID && syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk)
                {
                    //平常自己行走不需要同步
                    return;
                }

                GameObject xGameObject = mSceneModule.GetObject(xMover);
                if (!xGameObject)
                {
                    Debug.LogError("xGameObject " + Time.time);
                    return;
                }

                NFHeroMotor xHeroMotor = xGameObject.GetComponent <NFHeroMotor>();
                if (!xHeroMotor)
                {
                    Debug.LogError("xHeroSync " + Time.time);
                    return;
                }

                NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();
                if (!xHeroSync)
                {
                    Debug.LogError("xHeroSync " + Time.time);
                    return;
                }
                UnityEngine.Vector3 v = new UnityEngine.Vector3();
                v.x = syncUnit.Pos.X;
                v.y = syncUnit.Pos.Y;
                v.z = syncUnit.Pos.Z;

                if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk)
                {
                    xHeroSync.AddSyncData(xData.Sequence, syncUnit);
                }
                else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetSpeedy)
                {
                    xHeroMotor.MoveToImmune(v, 0.1f);
                }
                else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetTeleport)
                {
                    xHeroMotor.MoveToImmune(v, 0.001f);
                }
            }
        }