Example #1
2
        public VarList.VarData QueryRecord(string name, int row, int col)
        {
            VarList.VarData result = new VarList.VarData();
            try
            {
                if (!mRecordSet.ContainsKey(name))
                {
                    return(result);
                }

                GameRecord record = mRecordSet[name];
                if (record == null)
                {
                    return(result);
                }

                if (!record.GetValue(row, col, ref result))
                {
                    //Log.Trace("Error,GameObject.QueryRecord GetValue Failed");
                }
            }
            catch (Exception ex)
            {
                //Log.Trace("Error:GameObject.QueryRecord Exception :" + ex.ToString());
            }

            return(result);
        }
Example #2
1
        public bool QueryRecordObject(string name, int row, int col, ref ObjectID oResult)
        {
            try
            {
                if (!mRecordSet.ContainsKey(name))
                {
                    return(false);
                }

                GameRecord record = mRecordSet[name];
                if (record == null)
                {
                    return(false);
                }

                VarList.VarData result = FreeAllocManager.GetInstance.GetVarObject();
                result.nType = VarType.Object;
                if (!record.GetValue(row, col, ref result))
                {
                    FreeAllocManager.GetInstance.SetVarData(result);
                    return(false);
                }

                oResult = (result.Data as ObjectID).Clone();
                FreeAllocManager.GetInstance.SetVarData(result);
            }
            catch (Exception ex)
            {
                //Log.Trace("Error:GameObject.QueryRecord Exception :" + ex.ToString());
            }
            return(true);
        }
Example #3
1
        public bool UpdateProperty(ref string name, VarList.VarData val)
        {
            try
            {
                if (mPropSet == null)
                {
                    return(false);
                }

                if (!mPropSet.ContainsKey(name))
                {
                    mPropSet.Add(name, new GameProperty());
                }

                GameProperty prop = mPropSet[name];
                //prop.Name = name;
                prop.setPropValue(val);
            }
            catch (Exception ex)
            {
                //Log.Trace("Error,GameObject.UpdateProperty Exception:" + ex.ToString());
                return(false);
            }
            return(true);
        }
Example #4
1
        public bool QueryPropObject(string strPropName, ref ObjectID oResult)
        {
            if (strPropName == null)
            {
                return(false);
            }

            try
            {
                if (!mPropSet.ContainsKey(strPropName))
                {
                    return(false);
                }

                GameProperty prop = mPropSet[strPropName];
                if (null == prop)
                {
                    return(false);
                }

                VarList.VarData propValue = prop.getPropValue();
                if (propValue == null)
                {
                    return(false);
                }

                if (propValue.nType != VarType.Object)
                {
                    return(false);
                }

                oResult = (propValue.Data as ObjectID).Clone();
                return(true);
            }
            catch (Exception ex)
            {
                //Log.TraceError("Error, exception " + ex.ToString());
                return(false);
            }
        }
Example #5
1
        public int FindRecordRow(string name, int col, VarList.VarData key, int begRow)
        {
            try
            {
                if (!mRecordSet.ContainsKey(name))
                {
                    return(-1);
                }
                GameRecord record = mRecordSet[name];
                if (record == null)
                {
                    return(-1);
                }

                return(record.FindRow(col, key, begRow, false));
            }
            catch (Exception ex)
            {
                //Log.Trace("Error:GameObject.FindRecordRow Exception :" + ex.ToString());
                return(-1);
            }
        }
Example #6
1
 public void setPropValue(VarList.VarData val)
 {
     propValue.nType = val.nType;
     propValue.Data  = val.Data;
 }
Example #7
1
 public GameProperty()
 {
     propValue = new VarList.VarData();
 }
Example #8
1
        public bool GetValue(int row, int col, ref VarList.VarData result)
        {
            if (row < 0 || col < 0 || row >= GetRowCount() || col >= GetColcount())
            {
                //Log.Trace("Error,GameRecord.GetValue row or col out of range:");
                return(false);
            }

            try
            {
                VarList rowItem = rowSet[row];
                if (rowItem == null)
                {
                    return(false);
                }

                if (rowItem.GetCount() != GetColcount())
                {
                    //Log.Trace("Error,GameRecord.GetValue Col Error:");
                    return(false);
                }

                switch (colTypes[col])
                {
                case VarType.Bool:
                {
                    bool value = rowItem.GetBool(col);
                    result.Data = value;
                }

                break;

                case VarType.Int:
                {
                    int value = rowItem.GetInt(col);
                    result.Data = value;
                }
                break;

                case VarType.Int64:
                {
                    long value = rowItem.GetInt64(col);
                    result.Data = value;
                }
                break;

                case VarType.Float:
                {
                    float value = rowItem.GetFloat(col);
                    result.Data = value;
                }
                break;

                case VarType.Double:
                {
                    double value = rowItem.GetDouble(col);
                    result.Data = value;
                }
                break;

                case VarType.String:
                {
                    string value = rowItem.GetString(col);
                    result.Data = value;
                }
                break;

                case VarType.WideStr:
                {
                    string value = rowItem.GetWideStr(col);
                    result.Data = value;
                }
                break;

                case VarType.Object:
                {
                    ObjectID value = rowItem.GetObject(col);
                    if (value.IsNull())
                    {
                        //Log.Trace("Error,GameRecord.GetValue objid is null:");
                        return(false);
                    }
                    result.Data = value;
                }
                break;

                default:
                    //Log.Trace("Error,GameRecord.GetValue type error:");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                //Log.Trace("Error,GameRecord.GetValue Exception:" + ex.ToString());
                return(false);
            }

            return(true);
        }
Example #9
1
        public int FindRow(int col, VarList.VarData key, int begRow, bool ignoreCase)
        {
            if (col >= GetColcount())
            {
                return(-1);
            }

            if (null == key)
            {
                return(-1);
            }

            int row_num = GetRowCount();

            if (begRow > row_num)
            {
                return(-1);
            }

            int nColType = GetColType(col);

            if (0 == nColType)
            {
                return(-1);
            }

            for (int i = begRow; i < row_num; i++)
            {
                VarList rowValueItem = rowSet[i];
                if (null == rowValueItem || 0 == rowValueItem.GetCount())
                {
                    return(-1);
                }

                switch (nColType)
                {
                case VarType.Bool:
                    if (rowValueItem.GetBool(col) == (bool)key.Data)
                    {
                        return(i);
                    }
                    break;

                case VarType.Int:
                    if (rowValueItem.GetInt(col) == (int)key.Data)
                    {
                        return(i);
                    }
                    break;

                case VarType.Int64:
                    if (rowValueItem.GetInt64(col) == (long)key.Data)
                    {
                        return(i);
                    }
                    break;

                case VarType.Float:
                    if (Tools.FloatEqual(rowValueItem.GetFloat(col), (float)key.Data))
                    {
                        return(i);
                    }
                    break;

                case VarType.Double:
                    if (Tools.DoubleEqual(rowValueItem.GetDouble(col), (double)key.Data))
                    {
                        return(i);
                    }
                    break;

                case VarType.String:
                    if (0 == String.Compare(rowValueItem.GetString(col), key.Data as string, ignoreCase))
                    {
                        return(i);
                    }
                    break;

                case VarType.WideStr:
                    if (0 == String.Compare(rowValueItem.GetWideStr(col), key.Data as string, ignoreCase))
                    {
                        return(i);
                    }
                    break;

                case VarType.Object:
                    if (rowValueItem.GetObject(col).Equals(key.Data as ObjectID))
                    {
                        return(i);
                    }
                    break;

                default:
                    break;
                }
            }
            return(-1);
        }
Example #10
1
 public int Find(int col, VarList.VarData key, int begRow, bool ignoreCase)
 {
     return(FindRow(col, key, begRow, ignoreCase));
 }
Example #11
-1
        private bool InnerRecvProperty(GameObj obj, LoadArchive loadAr, int count, bool change)
        {
            VarList.VarData key = new VarList.VarData();
            for (int i = 0; i < count; i++)
            {
                int index = 0;
                if (!loadAr.ReadInt16(ref index))
                {
                    return(false);
                }

                if (index >= mPropertyTable.Count)
                {
                    return(false);
                }

                PropData propData = GetPropDataByIndex(index);
                if (propData == null)
                {
                    return(false);
                }

                propData.nCount = propData.nCount + 1;

                if (!InnerParsePropValue(loadAr, propData.nType, ref key))
                {
                    return(false);
                }

                if (!obj.UpdateProperty(ref propData.strName, key))
                {
                    return(false);
                }

                if (change)
                {
                    VarList argList = new VarList();
                    argList.AddObject(obj.GetIdent());
                    argList.AddString(propData.strName);
                    Excute_CallBack("on_object_property_change", argList);
                }
            }

            return(true);
        }
Example #12
-1
    public void SetVarData(VarList.VarData varData)
    {
        switch (varData.nType)
        {
        case VarType.Bool:
            free_VarBool.SetT(varData);
            break;

        case VarType.Int:
            free_VarInt.SetT(varData);
            break;

        case VarType.Int64:
            free_VarInt64.SetT(varData);
            break;

        case VarType.Float:
            free_Float.SetT(varData);
            break;

        case VarType.Double:
            free_Double.SetT(varData);
            break;

        case VarType.String:
            free_VarString.SetT(varData);
            break;

        case VarType.WideStr:
            free_WString.SetT(varData);
            break;

        case VarType.Object:
            free_Object.SetT(varData);
            break;

        case VarType.UserData:
            free_UserData.SetT(varData);
            break;
        }
    }
Example #13
-1
        private bool InnerParsePropValue(LoadArchive loadAr, int type, ref VarList.VarData key)
        {
            switch (type)
            {
            case OuterDataType.OUTER_TYPE_BYTE:
            {
                int value = 0;
                if (!loadAr.ReadInt8(ref value))
                {
                    return(false);
                }
                key.nType = VarType.Int;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_WORD:
            {
                int value = 0;
                if (!loadAr.ReadInt16(ref value))
                {
                    return(false);
                }

                key.nType = VarType.Int;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_DWORD:
            {
                int value = 0;
                if (!loadAr.ReadInt32(ref value))
                {
                    return(false);
                }

                key.nType = VarType.Int;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_QWORD:
            {
                long value = 0;
                if (!loadAr.ReadInt64(ref value))
                {
                    return(false);
                }
                key.nType = VarType.Int64;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_FLOAT:
            {
                float value = 0.0f;
                if (!loadAr.ReadFloat(ref value))
                {
                    return(false);
                }
                key.nType = VarType.Float;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_DOUBLE:
            {
                double value = 0.0;
                if (!loadAr.ReadDouble(ref value))
                {
                    return(false);
                }
                key.nType = VarType.Double;
                key.Data  = value;;
            }
            break;

            case OuterDataType.OUTER_TYPE_STRING:
            {
                string value = "";
                if (!loadAr.ReadString(ref value))
                {
                    return(false);
                }
                key.nType = VarType.String;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_WIDESTR:
            {
                string value = "";
                if (!loadAr.ReadWideStr(ref value))
                {
                    return(false);
                }

                key.nType = VarType.WideStr;
                key.Data  = value;
            }
            break;

            case OuterDataType.OUTER_TYPE_OBJECT:
            {
                ObjectID value = new ObjectID();
                if (!loadAr.ReadObject(ref value))
                {
                    return(false);
                }

                key.nType = VarType.Object;
                key.Data  = value;
            }
            break;

            default:
                return(false);
            }

            return(true);
        }