示例#1
0
    public void OnDrag(PointerEventData eventData)
    {
        transform.SetAsLastSibling();
        transform.position = new Vector3(transform.position.x, transform.position.y, 1); // important pour detecter la zone

        RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.up);

        /* if (hit.collider.name == "ButPlayer1")
         * {
         * //            print(hit.collider.name);
         *
         *    //print("player");
         *    PanelButtonController pbc = hit.collider.transform.parent.transform.GetComponent<PanelButtonController>();
         *    pbc.showOtherPanel(0);
         *    print(pbc);
         * }*/

        for (int i = 0; i < 4; i++)
        {
            String tag = "ButPlayer" + (i + 1);
            if (hit.collider.name == tag)
            {
//            print(hit.collider.name);

                //print("player");
                //hit.collider.transform.GetComponent<CardController>().p
                if (i != p.GetModele().GetListPlayers().IndexOf(p))
                {
                    pbc = hit.collider.transform.parent.transform.GetComponent <PanelButtonController>();
                    pbc.setPanelActive(p.GetModele().GetListPlayers().IndexOf(p));
                    pbc.showOtherPanel(i);
                    print(pbc);
                }
                else
                {
                    print("meme joueur");
                    pbc = hit.collider.transform.parent.transform.GetComponent <PanelButtonController>();
                    pbc.showPanel();
                }
            }
        }


        Vector3 mousePos = Input.mousePosition;

        if (Camera.main != null)
        {
            Vector3 worldPosition = Camera.main.ScreenToWorldPoint(mousePos);
            transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            transform.position = new Vector3(transform.position.x, transform.position.y, -9);
            initPos            = new Vector3(initPos.x, initPos.y, -5);
        }

        //print(transform.position);
    }
示例#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;
        }
    }