Example #1
0
        public GameRecord Clone()
        {
            int        count  = GetColcount();
            GameRecord record = new GameRecord(count);

            record.SetName(recName);
            for (int i = 0; i < count; i++)
            {
                record.SetColType(i, GetColType(i));
            }

            for (int j = 0; j < GetRowCount(); j++)
            {
                record.GetRowSet().Insert(j, rowSet[j].Clone());
            }

            return(record);
        }
Example #2
0
        public bool AddRecord(ref GameScene obj, int index)
        {
            try
            {
                if (index < 0 || index > mRecordTable.Count)
                {
                    //Log.Trace("index error");
                    return(false);
                }

                if (null == obj)
                {
                    //Log.Trace("obj is null");
                    return(false);
                }

                if (!mRecordTable.ContainsKey(index))
                {
                    //Log.Trace("not include index:" + index.ToString());
                    return(false);
                }

                RecData    recData = mRecordTable[index];
                GameRecord record  = new GameRecord();
                record.SetName(recData.strName);
                record.SetColCount(recData.nCols);
                for (int i = 0; i < recData.nCols; i++)
                {
                    int type = recData.ColTypes[i];
                    switch (type)
                    {
                    case OuterDataType.OUTER_TYPE_BYTE:
                    case OuterDataType.OUTER_TYPE_WORD:
                    case OuterDataType.OUTER_TYPE_DWORD:
                    {
                        record.SetColType(i, VarType.Int);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_QWORD:
                    {
                        record.SetColType(i, VarType.Int64);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_FLOAT:
                    {
                        record.SetColType(i, VarType.Float);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_DOUBLE:
                    {
                        record.SetColType(i, VarType.Double);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_STRING:
                    {
                        record.SetColType(i, VarType.String);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_WIDESTR:
                    {
                        record.SetColType(i, VarType.WideStr);
                    }
                    break;

                    case OuterDataType.OUTER_TYPE_OBJECT:
                    {
                        record.SetColType(i, VarType.Object);
                    }
                    break;

                    default:
                        //Log.Trace("unkown type");
                        break;
                    }
                }//end for

                return(obj.AddRecord2Set(recData.strName, ref record));
            }//end try
            catch (Exception ex)
            {
                //Log.Trace("Exception:" + ex.ToString());
                return(false);
            }
        }