コード例 #1
0
 private void exchangeCard(CardController cc, PanelCardController p)
 {
     print("SDJFNVSDOJNFDSOJLNFSDNKOF");
     if (cardName != TresorCard.TresorCardName.Empty ||
         cardName != TresorCard.TresorCardName.Helicopter ||
         cardName != TresorCard.TresorCardName.Sandbag)
     {
         p.setToInitPos(); // je replace le panel à sa position initial après le drop
         this.p.giveCard(cardName, cc.p);
     }
 }
コード例 #2
0
    public void OnEndDrag(PointerEventData eventData)
    {
        Vector3 worldPosition1;

        //Vector3 mousePos = Input.mousePosition;
        transform.position = new Vector3(transform.position.x, transform.position.y, 1); // important pour detecter la zone

        if (Camera.main != null)
        {
            worldPosition1   = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            worldPosition1.z = -1 * worldPosition1.z;
            print(-1 * Vector2.up);
            print(Vector2.up);
            RaycastHit2D hit = Physics2D.Raycast(worldPosition1, -Vector2.up);
            if (hit.collider != null)
            {
                print(hit.collider.name);
                if (hit.collider.name == "ZoneNormal(Clone)(Clone)")
                {
                    ZoneController zc = hit.collider.GetComponent <ZoneController>();
                    zc.onDropOn();
                    zc.onDropOnCard(cardName);

                    if (cardName == TresorCard.TresorCardName.Sandbag)
                    {
                        if (zc.GetZone().getEtat() == Etat.EtatName.Inondee)
                        {
                            zc.GetZone().setEtat(Etat.EtatName.Normale);
                            //TODO GERER ICI LE SANDBAG, JE LE DEFAUSSE PAS JE LE LAISSE LA
                            this.p.defausseCard(cardName);
                        }
                    }
                    else if (cardName == TresorCard.TresorCardName.Helicopter)
                    {
                        this.p.movePlayer(zc.GetZone(), zc);

                        this.p.defausseCard(cardName);
                        //TODO GERER ICI helicopter
                    }
                    //print(hit.collider.GetComponent<ZoneController>().GetZone().getPosition().ToString()); // ici je recupere un composant de la zaone

                    // il suffit alors de faire ce que tu as à faire...
                }
            }

            print(hit.normal);
            print(hit.centroid);
            // transform.position = new Vector3(transform.position.x, transform.position.y, 10); // important pour detecter la zone


            if (hit.collider.name == "Card(Clone)(Clone)")
            {
                print(hit.collider.name);
                print("CARTE DONENEEEE");


                PanelCardController p  = hit.collider.transform.parent.GetComponent <PanelCardController>();
                CardController      cc = hit.collider.transform.GetComponent <CardController>();

                if (this.cardName != TresorCard.TresorCardName.Empty && p.p != this.p)
                {
                    exchangeCard(cc, p);
                }

                //p.transform = p.initPos;

                /* pos.localPosition = new Vector3(pos.localPosition.x,
                 *   0 ,
                 *   pos.localPosition.z );*/


                // pos = hit.collider.transform.parent.GetComponent<PanelCardController>();

                /*PanelCardController p = hit.collider.transform.parent.GetComponent<PanelCardController>();
                 * print( p.p.ToString());    */
            }

            if (pbc != null)
            {
                pbc.showPanel();
            }

            transform.position = new Vector3(transform.position.x, transform.position.y, -5);  // important pour detecter la zone

            transform.localPosition = initPos;
        }
    }