Пример #1
0
 public ManeuverController(int clientIndex, MovementCard card)
 {
     frames           = new MovementFrame[5];
     oldTick          = Server.GetSectorById(Server.GetClientByIndex(clientIndex).Character.PlayerShip.sectorId).Tick.Current - 3;
     this.clientIndex = clientIndex;
     this.card        = card;
 }
 public void ApplyCard(MovementCard card)
 {
     minYawSpeed = card.minYawSpeed * yawMaxSpeed;
     maxPitch    = card.maxPitch;
     maxRoll     = card.maxRoll;
     pitchFading = card.pitchFading;
     yawFading   = card.yawFading;
     rollFading  = card.rollFading;
 }
Пример #3
0
 void AddCardData()
 {
     cards    = new Card[6];
     cards[0] = new GoldCard();
     cards[1] = new AttackCard();
     cards[2] = new MovementCard();
     cards[3] = new TeleportCard();
     cards[4] = new VisionCard();
     cards[5] = new WallBreakCard();
 }
Пример #4
0
    public IEnumerator WaitForMoveInput()
    {
        yield return(new WaitUntil(() => player.playerHand != null));

        yield return(new WaitUntil(() => player.playerHand.Count != 0));

        CheckLegalMoves();
        yield return(new WaitUntil(() => pickedMoveOption));

        pickedMoveOption = false;
        ResetListeners();
        SetAllSlotsOff();
        //Debug.Log(chosenCard);
        MovementCard     move         = chosenCard as MovementCard;
        HashSet <Planet> planetsAvail = new HashSet <Planet>();

        if (move.DoesTp)
        {
            foreach (GameObject p in planetList)
            {
                if (move.CanTpTo(player.currentPlanet, p.GetComponent <Planet>()))
                {
                    p.GetComponent <Planet>().StartGlow();
                    planetsAvail.Add(p.GetComponent <Planet>());
                }
            }
            while (!planetsAvail.Contains(chosenPlanet))
            {
                chosenPlanet = null;
                while (chosenPlanet == null)
                {
                    yield return(null);
                }
            }
            foreach (Planet p in planetsAvail)
            {
                p.HideGlow();
            }
            InputMove(chosenPlanet);
        }
        if (move.DoesHop)
        {
            planetsAvail     = (chosenCard as MovementCard).GetHopTargets(playerMovement.currentPlanet, player.extraHops);
            player.extraHops = 0;
            foreach (Planet p in planetsAvail)
            {
                p.StartGlow();
            }
            while (!planetsAvail.Contains(chosenPlanet))
            {
                chosenPlanet = null;
                while (chosenPlanet == null)
                {
                    yield return(null);
                }
            }
            foreach (Planet p in planetsAvail)
            {
                p.HideGlow();
            }
            InputMove(chosenPlanet);
        }
        player.ResolveSpecialAbilities(chosenCard);
    }
Пример #5
0
 private void Awake()
 {
     managerMovement   = new MovementCard();
     externalColliders = new List <Collider2D>();
 }