Example #1
0
        private static unsafe byte[] GetRecordBytes(LevelMonsterRecord record)
        {
            byte[] bytes = new byte[sizeof(LevelMonsterRecord)];
            fixed(byte *p = bytes)
            {
                LevelMonsterRecord *temp = (LevelMonsterRecord *)p;

                *temp = record;
            }

            return(bytes);
        }
Example #2
0
        public bool ReadFromBinary(BinaryTable table, int index)
        {
            LevelMonsterRecord record = GetRecord(table, index);

            group    = DataRecordUtility.ExtractInt(table, record.group, 0);
            scene    = DataRecordUtility.ExtractInt(table, record.scene, 0);
            camp     = DataRecordUtility.ExtractInt(table, record.camp, 0);
            actorID  = DataRecordUtility.ExtractInt(table, record.actorID, 0);
            x        = DataRecordUtility.ExtractFloat(table, record.x, 0);
            y        = DataRecordUtility.ExtractFloat(table, record.y, 0);
            dir      = DataRecordUtility.ExtractFloat(table, record.dir, 0);
            level    = DataRecordUtility.ExtractInt(table, record.level, 0);
            passive  = DataRecordUtility.ExtractBool(table, record.passive, false);
            aiLogic  = DataRecordUtility.ExtractString(table, record.aiLogic, "");
            aiParams = DataRecordUtility.ExtractStringList(table, record.aiParams, null);
            return(true);
        }
Example #3
0
        public void WriteToBinary(BinaryTable table)
        {
            LevelMonsterRecord record = new LevelMonsterRecord();

            record.group    = DataRecordUtility.SetValue(table, group, 0);
            record.scene    = DataRecordUtility.SetValue(table, scene, 0);
            record.camp     = DataRecordUtility.SetValue(table, camp, 0);
            record.actorID  = DataRecordUtility.SetValue(table, actorID, 0);
            record.x        = DataRecordUtility.SetValue(table, x, 0);
            record.y        = DataRecordUtility.SetValue(table, y, 0);
            record.dir      = DataRecordUtility.SetValue(table, dir, 0);
            record.level    = DataRecordUtility.SetValue(table, level, 0);
            record.passive  = DataRecordUtility.SetValue(table, passive, false);
            record.aiLogic  = DataRecordUtility.SetValue(table, aiLogic, "");
            record.aiParams = DataRecordUtility.SetValue(table, aiParams, null);
            byte[] bytes = GetRecordBytes(record);
            table.Records.Add(bytes);
        }