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); }
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); } }