Esempio n. 1
0
    void IDropHandler.OnDrop(PointerEventData eventData)
    {
        if (!cardData.hasTag(player1["targetTag"] as string))
        {
            return;
        }
        if (eventData.pointerDrag != null)
        {
            CardReceptor rc = eventData.pointerDrag.GetComponent <CardReceptor>();

            if (rc != null && cardData.hasTag(player1["aimTag"] as string))
            {                     // this is ability resolution
                player1["AIMED"] = cardData;
                Debug.Log(rc);
                rc.DropOccurred();
                return;
            }

            if (rc != null && cardData.hasTag(player1["targetTag"] as string))
            {
                player1["TARGETED"] = cardData;
                Debug.Log(rc);
                rc.DropOccurred();
                return;
            }
        }
    }
Esempio n. 2
0
	void IDropHandler.OnDrop (PointerEventData eventData)
	{
		if(eventData.pointerDrag!=null)
		{

			CardControl card=eventData.pointerDrag.GetComponent<CardControl>();
			if(card!=null)
			{
				if(data!=null&&data.hasTag(data["|-.Player1.targetTag"] as string))
        {
          lock(SingleGame.gameLock)
          {
            SingleGame.GameManager.self._GameData["Player1.TARGETED"]=data;//card.cardData;
						//Debug.Log(player1["TARGETED"]);
          }
				//Debug.Log(card);
				/*RectTransform cardrt=card.gameObject.GetComponent<RectTransform>();
				cardrt.SetParent(gameObject.transform,false);
				cardrt.anchorMin=Vector2.zero;
				cardrt.anchorMax=Vector2.one;
				cardrt.offsetMax=Vector2.zero;
				cardrt.offsetMin=Vector2.zero;
				cardrt.localScale=new Vector3(1,1,1);*/
				if(!card.cardData.hasTag("ABILITY"))
				 card.registerDropSuccess(false);
					else
					{
						Debug.Log("ssss");
						Vector2 ops= card.getOPos();
						RectTransform ctp=card.gameObject.GetComponent<RectTransform>();
						Vector2 sv=ctp.anchoredPosition;
						ctp.anchoredPosition=ops;
						ops=ctp.getPivotInCanvas();
						ctp.anchoredPosition=sv;
						Vector2 dest=(transform as RectTransform).getPivotInCanvas();
						GameObject go=Instantiate(arrow) as GameObject;
						ArrowPointer pnt=go.GetComponent<ArrowPointer>();
						RectTransform rt=go.GetComponent<RectTransform>();
						RectTransform self=transform as RectTransform;
						rt.SetParent(self.RootCanvasTransform(),false);
						rt.SetAsLastSibling();
						Debug.Log(ops);
						pnt.drawArrow(ops,dest);
						to=pnt;
						card.registerDropSuccess(false);
					}
        }
        else
         card.registerDropSuccess(false);
			}
			else
			{
				CardReceptor rc=eventData.pointerDrag.GetComponent<CardReceptor>();
        if(cardData.hasTag("DISMISS_AREA")&&rc!=null&&
           rc.cardData.hasTag(player1["dismissableTag"] as string))
        {
          rc.cardData.setTag("DESELECT");
          rc.cardData.setTag("DISMISS_MARK");
          return;
        }
				if(rc!=null&&cardData.hasTag(player1["aimTag"] as string))
				{ // this is ability resolution
					player1["AIMED"]=cardData;
					Debug.Log(rc);
					rc.DropOccurred();
					return;
				}

				if(rc!=null&&cardData.hasTag(player1["targetTag"] as string))
				   {
					player1["TARGETED"]=cardData;
					Debug.Log(rc);
					rc.DropOccurred();
               return;
				}

			}
		}

	}
Esempio n. 3
0
    IEnumerator trans()
    {
        Debug.Log("trans");
        SingleGame.Conditional castCard = _game.hookData["castSource"] as SingleGame.Conditional;

        //SingleGame.Conditional targetCard=_game.hookData["castTarget"] as SingleGame.Conditional;
        if (castCard != null)
        {
            if (castCard["_Owner"] != player1)
            {
                hooks.Remove("transformation");
                SingleGame.GameManager.endHook();  yield break;
            }
            int handnum = -1;
            for (int i = 0; i < handCards.Count; i++)
            {
                if (castCard == handCards[i].cardData)
                {
                    handnum = i; break;
                }
            }
            if (handnum == -1)
            {
                Debug.Log("Some error");
            }
            else
            {
                CardControl   toMove   = handCards[handnum];
                RectTransform original = toMove.GetComponent <RectTransform>();
                RectTransform canv     = original.RootCanvasTransform();
                Vector4       posvec   = canv.getAnchorsFromCanvasRect(original.RootCanvasRect());
                handCards.Remove(toMove);
                List <IAnimInterface> anims = new List <IAnimInterface>();
                for (int j = 0; j < mpBody.Count; j++)
                {
                    CardReceptor cr = mpBody[j];
                    if (castCard.hasTag(cr.validTag))
                    {
                        GameObject  crd = Instantiate(card) as GameObject;
                        CardControl crc = crd.GetComponent <CardControl>();
                        crc.cardData = castCard;
                        crc.playerID = castCard["_Owner.playerID"] as string;
                        SpawnCardAnim todel = crd.GetComponent <SpawnCardAnim>();
                        Destroy(todel as Component);
                        CardFlip flp = crd.GetComponent <CardFlip>();
                        flp.Flip();
                        RectTransform ctr = crd.GetComponent <RectTransform>();
                        ctr.SetParent(canv, false);
                        ctr.SetAsLastSibling();
                        ctr.assignRectAnchors(posvec);
                        RectTransform  targpos = cr.gameObject.GetComponent <RectTransform>();
                        IAnimInterface an      = RectTransfer.Apply(crd, targpos, shiftdur);
                        an.Run();
                        anims.Add(an);
                        cr.cardData = castCard;
                    }
                }
                Destroy(toMove.gameObject);

                bool done = false;
                while (!done)
                {
                    done = true;
                    foreach (IAnimInterface anim in anims)
                    {
                        done = (done & anim.isDone);
                    }
                    yield return(null);
                }
                foreach (IAnimInterface anim in anims)
                {
                    RectTransfer rt = anim as RectTransfer;
                    Destroy(rt.gameObject);
                }
            }
        }
        hooks.Remove("transformation");
        SingleGame.GameManager.endHook();
        yield break;
    }