示例#1
0
    /// <summary>
    /// Reads the equipment data from a message reader
    /// </summary>
    /// <param name="reader"></param>
    protected override void readData(IMessageReader reader)
    {
        int numArmorSlots = reader.ReadInt();

        for (int i = 0; i < numArmorSlots; i++)
        {
            ArmorType type = (ArmorType)reader.ReadByte();

            string frameId = reader.ReadString();
            Frame  frame   = Frame.FindFrameById(frameId);

            if (frame != null)
            {
                StartCoroutine(equipAmorDeferred(frame));
            }
        }

        int numCombatItemSlots = reader.ReadInt();

        for (int i = 0; i < numCombatItemSlots; i++)
        {
            int   index = reader.ReadInt();
            Frame frame = Frame.FindFrameById(reader.ReadString());

            if (frame != null)
            {
                StartCoroutine(equipCombatItemDeferred(index, frame));
            }
        }
    }
示例#2
0
    protected override void readData(IMessageReader reader)
    {
        _healthPoints    = reader.ReadInt();
        _maxHealthPoints = reader.ReadInt();

        if (isDead)
        {
            Character character = GetComponent <Character>();

            if (character != null)
            {
                character.Kill();
            }
        }
    }
示例#3
0
    protected override void readData(IMessageReader reader)
    {
        int size = reader.ReadInt();

        for (int i = 0; i < size; i++)
        {
            string    frameId   = reader.ReadString();
            Character character = Frame.FindComponentById <Character>(frameId);

            _characters.Add(character);
            PutCharacter(character);
        }
    }
示例#4
0
    protected override void readData(IMessageReader reader)
    {
        _discoveries = reader.ReadStringArray().ToList();
        _topics      = reader.ReadStringArray().ToList();

        int numberOfEntries = reader.ReadInt();

        _entries = new List <JournalEntry>();

        for (int i = 0; i < numberOfEntries; i++)
        {
            JournalEntry entry = new JournalEntry();
            entry.ReadData(reader);

            _entries.Add(entry);
        }
    }
示例#5
0
    protected override void readData(IMessageReader reader)
    {
        string[] pickableIds = reader.ReadStringArray();
        _gold = reader.ReadInt();

        foreach (string pickableId in pickableIds)
        {
            Frame frame = Frame.FindFrameById(pickableId);

            if (frame != null)
            {
                Pickable pickable = frame.GetComponent <Pickable>();

                if (pickable != null)
                {
                    _collection.AddPickable(pickable);
                }
            }
        }
    }
示例#6
0
 protected override void readData(IMessageReader reader)
 {
     _learningPoints = reader.ReadInt();
     _level          = reader.ReadInt();
     _skills         = reader.ReadIntArray();
 }
示例#7
0
 protected override void readData(IMessageReader reader)
 {
     _gold = reader.ReadInt();
 }