IEnumerator _Activate(IndividualCard myCard)
    {
        isFin = false;
        while (!IsOnPos() || isGoToPosActive)
        {
            yield return(0);
        }

        GoToPos(myCard.x, myCard.y, "Poison");

        while (!IsOnPos())
        {
            yield return(0);
        }

        yield return(new WaitForSeconds(0.5f));

        myCard.SelectCard();
        myCard.cardType       = 15;
        myCard.isPoison       = true;
        myCard.selectedEffect = (GameObject)Instantiate(poisonSelectEfect, myCard.transform.position, Quaternion.identity);

        yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime));

        myCard.UnSelectCard();

        isFin = true;
    }
    IEnumerator NetworkActivate(int player, IndividualCard myCard)
    {
        myCard.SelectCard();
        myCard.cardType       = 15;
        myCard.isPoison       = true;
        myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity);

        yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime));


        if (network_scoreboard [player] != null)
        {
            network_scoreboard [player].GetComponent <DisableAndDestroy> ().Engage();
        }
        network_scoreboard [player] = null;

        myCard.UnSelectCard();
    }
    IEnumerator _Activate(IndividualCard myCard)
    {
        SendAction(myCard.x, myCard.y, PowerUpManager.ActionType.Activate);

        myCard.SelectCard();
        myCard.cardType       = 15;
        myCard.isPoison       = true;
        myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity);


        indicator.GetComponent <DisableAndDestroy> ().Engage();
        indicator = null;
        LocalPlayerController.s.PowerUpMode(false);
        PowerUpManager.s.canActivatePowerUp = true;
        LocalPlayerController.s.canSelect   = true;


        yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime));


        myCard.UnSelectCard();
    }
예제 #4
0
 /// <summary>
 /// Dont use this method unless necessary, CheckCards will automatically unselect for you
 /// </summary>
 /// <param name="card"></param>
 protected void UnSelect(IndividualCard card)
 {
     card.UnSelectCard();
     DataHandler.s.SendPlayerAction(card.x, card.y, CardHandler.CardActions.UnSelect);
 }
예제 #5
0
    public void ReceiveNetworkCorrection(byte[] data)
    {
        int        x;
        int        y;
        int        type;
        int        selectEffectID;
        cardStates state;

        x              = System.BitConverter.ToInt16(data, 2);
        y              = System.BitConverter.ToInt16(data, 2 + 2);
        type           = System.BitConverter.ToInt16(data, 2 + 2 + 2);
        selectEffectID = System.BitConverter.ToInt16(data, 2 + 2 + 2 + 2);

        char cState = (char)data [2 + 2 + 2 + 2 + 2];

        switch (cState)
        {
        case cs_open:
            state = cardStates.open;
            break;

        case cs_close:
            state = cardStates.close;
            break;

        case cs_match:
            state = cardStates.matched;
            break;

        default:
            state = cardStates.close;
            break;
        }

        IndividualCard myCard = null;

        try{
            myCard = CardHandler.s.allCards [x, y];

            //these will unselect the card from respective places
            LocalPlayerController.s.ReceiveNetworkCorrection(myCard);
            PowerUpManager.s.ReceiveNetworkCorrection(myCard);
            NPCManager.s.ReceiveNetworkCorrection(myCard);
        } catch (Exception e) {
            DataLogger.LogMessage(e.Message + " - " + e.StackTrace);
        }

        if (myCard != null)
        {
            //after unselection is done, we will update the card type to be correct
            CardHandler.s.UpdateCardType(x, y, type);

            switch (state)
            {
            case cardStates.open:
                myCard.SelectCard(-1);
                if (selectEffectID > 0)
                {
                    myCard.DestroySelectedEfect();
                    myCard.selectedEffect = (GameObject)Instantiate(GS.a.gfxs.selectEffects[selectEffectID].gameObject, myCard.transform.position, Quaternion.identity);
                }
                break;

            case cardStates.close:
                myCard.UnSelectCard();
                break;

            case cardStates.matched:
                myCard.NetworkCorrectMatch();
                break;

            default:
                myCard.UnSelectCard();
                break;
            }
        }
    }