Ejemplo n.º 1
0
    public void Ride(Card card)
    {
        if(Soul.Count > 0)
            Soul[Soul.Count - 1].SetIsVanguard(false);
        Soul.Add (card);

        card.pos = fieldPositions.ENEMY_VANGUARD;
        card._Coord = CardCoord.ENEMY_FIELD;

        card.SetIsVanguard(true);
        Vanguard = card;

        for(int i = 0; i < Soul.Count - 1; i++)
        {
            Soul[i].GetGameObject().transform.position = fieldInfo.GetPosition((int)EnemyFieldPosition.VANGUARD) + delta * i;
        }

        Vector3 newPosition = fieldInfo.GetPosition((int)EnemyFieldPosition.VANGUARD) + delta * (Soul.Count - 1);

        Vanguard.TurnUp();
        Vanguard.MoveAndRotate(newPosition, fieldInfo.GetCardRotation());

        //Vanguard.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation();
        VanguardPower.text = card.GetPower() + "";

        CallAnimation(card, newPosition);
    }
Ejemplo n.º 2
0
    public void Ride(Card card, bool bActiveEvents = true)
    {
        _Game.SendGameChatMessage(card.name + ", Ride!", ChatTab.GAME);

        //Reseting current status.
        ResetCard(card);

        if(Soul.Count > 0)
        {
            Soul[Soul.Count - 1].SetIsVanguard(false);
            Soul[Soul.Count - 1]._Coord = CardCoord.SOUL;
            lastVanguard = Soul[Soul.Count - 1];
        }

        Soul.Add (card);
        card._Coord = CardCoord.FIELD;
        card.SetIsVanguard(true);
        Vanguard = card;

        //Vanguard.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.VANGUARD_CIRCLE) + delta * (Soul.Count - 1);
        //Vanguard.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation();

        Vanguard.MoveAndRotate(fieldInfo.GetPosition((int)fieldPositions.VANGUARD_CIRCLE) + delta * (Soul.Count - 1), fieldInfo.GetCardRotation());

        VanguardPower.text = card.GetPower() + "";
        card.pos = fieldPositions.VANGUARD_CIRCLE;

        CallAnimation(card);
        FixSoulPosition();

        if(Soul.Count > 1 && bActiveEvents)
        {
            Soul[Soul.Count - 2].CheckAbilities(CardState.RideAboveIt);
            Soul[Soul.Count - 2].CheckAbilities(CardState.LeaveField);
        }

        CheckAbilitiesDrop(CardState.DropZone_Ride);
        CheckAbilitiesSoul(CardState.Soul_Ride);

        if(bActiveEvents)
        {
            CheckAbilitiesExcept(card.pos, CardState.Ride_NotMe, card);
            card.CheckAbilities(CardState.Ride);
        }
    }