Exemplo n.º 1
0
        private void OnAvailableMonsters(NetworkMessage msg)
        {
            Debug.Log("Available monsters");
            AvailableMonstersResponseMessage message = msg.ReadMessage <AvailableMonstersResponseMessage>();

            message.ActionNumber = AdjustActionNumber(message.ActionNumber);

            GameState.ConfirmAvailableMonsters(message.AvailableMonsterNodeIds.ToList(), message.ActionNumber,
                                               message.SubActionNumber);
        }
Exemplo n.º 2
0
        private void OnAvailableMonsters(NetworkMessage msg)
        {
            AvailableMonstersResponseMessage message = msg.ReadMessage <AvailableMonstersResponseMessage>();

            //reverse 1 : 1 relationship for easy monster selection
            Dictionary <int, int> nodeMonsters = _friendlyMonsterState.ToDictionary(m => m.Value, m => m.Key);

            if (message.ActionNumber != 1 && message.ActionNumber != 2)
            {
                return;
            }

            // get first monster
            var firstIndex = message.AvailableMonsterNodeIds[0];

            NetClient.Send(CustomMessageTypes.SelectMonsterRequest, new SelectMonsterRequestMessage
            {
                ActionNumber          = message.ActionNumber,
                SubActionNumber       = message.SubActionNumber,
                SelectedMonsterTypeId = nodeMonsters[firstIndex]
            });
        }