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; }
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(); }
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); }
private void Awake() { managerMovement = new MovementCard(); externalColliders = new List <Collider2D>(); }