Esempio n. 1
0
    public Task DraftActors()
    {
        // ================= Steps to Draft =================
        // 1. Convert packet to POCO
        // 2. update hand array
        // 3. update party array
        // 4. update Mana
        // 7. update ui elements
        // 8. send updated info to server

        Player homePlayer = ServiceProvider.PlayerManager.GetHomePlayer();

        DraftEvent.Invoke();

        UpdateUiEvent.Invoke();

        DraftPOCO outputPoco = new DraftPOCO
        {
            Hand  = homePlayer.Hand,
            Party = homePlayer.Party,
            Mana  = homePlayer.Mana
        };

        Packet packet = new Packet
        {
            CommandId = (short)CommandId.draft,
            PlayerId  = homePlayer.PlayerId,
            POCOJson  = JsonUtility.ToJson(outputPoco)
        };

        ServiceProvider.NetworkManager.SendPacket(packet);

        return(Task.FromResult(0));
    }
        public static Task Draft(Packet packet)
        {
            DraftPOCO poco = JsonConvert.DeserializeObject <DraftPOCO>(packet.POCOJson);

            Tuple <List <Actor>, List <Actor>, short> partyHandMana = null;

            if (packet.PlayerId == Games[0].Player1.ClientId)
            {
                partyHandMana = DraftManager.DraftParty(Games[0].Player1, Games[0], poco.Party, poco.Hand, poco.Mana);
            }
            else if (packet.PlayerId == Games[0].Player2.ClientId)
            {
                partyHandMana = DraftManager.DraftParty(Games[0].Player2, Games[0], poco.Party, poco.Hand, poco.Mana);
            }

            return(Task.FromResult(0));
        }