Exemple #1
0
    // 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);
    }
Exemple #2
0
    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;
     }
 }
Exemple #4
0
    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);
    }
Exemple #5
0
    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);
    }