// Start is called before the first frame update void Start() { coalDepositsNearby = 0; ironDepositsNearby = 0; electrumDepositsNearby = 0; cards = new List <LogicCard>(); timer = new System.Diagnostics.Stopwatch(); timer.Start(); initialTime = timer.ElapsedMilliseconds; LogicCard lc1 = new LogicCard(); lc1.setTrigger(Triggers.MATERIAL_NEARBY); lc1.insertAction(0, Actions.BROADCAST); lc1.setInstant(true); LogicCard lc2 = new LogicCard(); lc2.setTrigger(Triggers.NEVER); lc2.insertAction(0, Actions.MOVE); lc2.setInstant(false); cards.Add(lc1); cards.Add(lc2); }
public void addCard(LogicCard card) { int i = 0; while (_potCards[i] != null) { i++; } _potCards[i] = card; }
// SETTERS // public void setCard(LogicCard newCard) { if (_cartes == null) { LogicCard[] cartes = { newCard }; _cartes = cartes; } else { LogicCard[] cartes = { _cartes[0], newCard }; _cartes = cartes; } }
public IEnumerator MoveCard(LogicCard card, float vitesse, Vector4 finalPosition, Quaternion rotation) { Transform TransformCard = card.gameObject.transform; while ( Math.Abs(TransformCard.position.x - finalPosition.x) > vitesse || Math.Abs(TransformCard.position.y - finalPosition.y) > vitesse || Math.Abs(TransformCard.position.z - finalPosition.z) > vitesse ) { yield return(new WaitForSeconds(0.1f)); if (Math.Abs(TransformCard.position.x - finalPosition.x) > vitesse / 2f) { if (TransformCard.position.x - finalPosition.x < 0) { TransformCard.Translate(vitesse, 0, 0); } else { TransformCard.Translate(-vitesse, 0, 0); } } if (Math.Abs(TransformCard.position.y - finalPosition.y) > vitesse / 2f) { if (TransformCard.position.y - finalPosition.y < 0) { TransformCard.Translate(0, vitesse, 0); } else { TransformCard.Translate(0, -vitesse, 0); } } if (Math.Abs(TransformCard.position.z - finalPosition.z) > vitesse / 2f) { if (TransformCard.position.z - finalPosition.z < 0) { TransformCard.Translate(0, 0, vitesse); } else { TransformCard.Translate(0, 0, -vitesse); } } } TransformCard.position = finalPosition; TransformCard.Rotate(rotation.eulerAngles); }
public LogicCard Piocher(Vector3 finalPosition, Quaternion rotation, float vitesse, GameObject parent, bool isVisible, Vector3 size) { int value = piocheCards[UnityEngine.Random.Range(1, piocheCards.Count)]; carte.Play(); piocheCards.Remove(value); LogicCard newCard = ((GameObject)Instantiate(Resources.Load("Prefab/Cards/Card_" + value.ToString()), this.gameObject.transform.position, Quaternion.identity, parent.transform)).GetComponent <LogicCard>(); newCard.Start(); newCard.gameObject.transform.localScale = size; newCard.setVisible(isVisible); newCard.setValue(value); IEnumerator moveCard = MoveCard(newCard, vitesse, finalPosition, rotation); StartCoroutine(moveCard); return(newCard); }