Esempio n. 1
0
        public static void Serialize(QuestSystem qs, IGenericWriter writer)
        {
            if (qs == null)
            {
                writer.WriteEncodedInt(0x00);
            }
            else
            {
                writer.WriteEncodedInt(0x01);

                Write(qs.GetType(), QuestSystem.QuestTypes, writer);

                qs.BaseSerialize(writer);
            }
        }
Esempio n. 2
0
        private static Type ReadType(QuestSystem qs, GenericReader reader)
        {
            string[] referenceTable;

            if (qs != null)
            {
                Type type = qs.GetType();

                if (_QuestTable.TryGetValue(type.FullName, out referenceTable) && referenceTable.Length > 0 && !referenceTable[0].Contains('.'))
                {
                    for (int i = 0; i < referenceTable.Length; i++)
                    {
                        referenceTable[i] = $"{type.Namespace}.{referenceTable[i]}";
                    }
                }
            }
            else
            {
                referenceTable = _QuestTypes;
            }

            return(ReadType(referenceTable, reader));
        }
        public static void Serialize( QuestSystem qs, GenericWriter writer )
        {
            if ( qs == null || qs.Removed )
                writer.WriteEncodedInt( 0x00 );
            else
            {
                writer.WriteEncodedInt( 0x01 );

                Write( qs.GetType(), QuestSystem.QuestTypes, writer );

                qs.BaseSerialize( writer );
            }
        }