Beispiel #1
0
    IEnumerator init()
    {
        while (!_game._GameData.hasTag("ENTITIES_DONE"))
        {
            yield return(null);
        }
        for (int i = 0; i < 7; i++)
        {
            handSlots[i] = handplacer.slots[i + 1];
        }
        deck              = handplacer.slots[0];
        flipper           = deck;
        headRec.validTag  = "SLOT_HEAD";
        torsoRec.validTag = "SLOT_TORSO";
        lhandRec.validTag = "SLOT_LHAND";
        rhandRec.validTag = "SLOT_RHAND";
        llegRec.validTag  = "SLOT_LLEG";
        rlegRec.validTag  = "SLOT_RLEG";

        opponent_headRec.validTag  = "SLOT_HEAD";
        opponent_torsoRec.validTag = "SLOT_TORSO";
        opponent_lhandRec.validTag = "SLOT_LHAND";
        opponent_rhandRec.validTag = "SLOT_RHAND";
        opponent_llegRec.validTag  = "SLOT_LLEG";
        opponent_rlegRec.validTag  = "SLOT_RLEG";

        mpBody.Add(headRec); mpBody.Add(torsoRec); mpBody.Add(lhandRec); mpBody.Add(rhandRec);
        mpBody.Add(llegRec); mpBody.Add(rlegRec);
        headRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_HEAD");
        torsoRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_TORSO");
        lhandRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_LHAND");

        rhandRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_RHAND");

        llegRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_LLEG");

        rlegRec.refDataFromListByString("Player1.DEFAULT_BODY", "slot", "SLOT_RLEG");


        opponent_headRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_HEAD");
        opponent_torsoRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_TORSO");
        opponent_lhandRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_LHAND");

        opponent_rhandRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_RHAND");

        opponent_llegRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_LLEG");

        opponent_rlegRec.refDataFromListByString("Player2.DEFAULT_BODY", "slot", "SLOT_RLEG");
        opBody.Add(opponent_headRec); opBody.Add(opponent_torsoRec); opBody.Add(opponent_lhandRec); opBody.Add(opponent_rhandRec);
        opBody.Add(opponent_llegRec); opBody.Add(opponent_rlegRec);
        dismissArea.refDataFromString("dismiss_area");
        melee.refDataFromString("DistanceTickerMelee");
        mid.refDataFromString("DistanceTickerMid");
        far.refDataFromString("DistanceTickerFar");
        Debug.Log("dimissaAREA");
        Debug.Log(dismissArea.cardData.hasTag("DISMISS_AREA"));
        player1     = _game._GameData["Player1"] as SingleGame.Conditional;
        initDone    = true;
        collectTime = true;
    }
Beispiel #2
0
 public void refDataFromListByString(string dat,string valname,string val)
 {
   if(SingleGame.GameManager.self!=null)
   {
     SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
     if(gd!=null)
     {
       IList lsr=gd[dat] as IList;
       foreach(object o in lsr)
       {
         SingleGame.Conditional cc=o as SingleGame.Conditional;
         if(cc!=null)
         {
           string vv=cc[valname] as string;
           if(vv==val)
           {
             data=cc;
           break;
           }
         }
       }
       
     }
   }
 }
Beispiel #3
0
 RectTransform getAssociatedRect(SingleGame.Conditional ev)
 {
     SingleGame.Conditional src = ev["castSource"] as SingleGame.Conditional;
     SingleGame.Conditional em  = ev["castEmitter"] as SingleGame.Conditional;
     foreach (CardReceptor cr in mpBody)
     {
         if (cr.cardData == src)
         {
             return(cr.gameObject.GetComponent <RectTransform>());
         }
     }
     foreach (CardControl cr in handCards)
     {
         if (cr.cardData == src)
         {
             return(cr.gameObject.GetComponent <RectTransform>());
         }
     }
     foreach (CardReceptor cr in mpBody)
     {
         if (cr.cardData == em)
         {
             return(cr.gameObject.GetComponent <RectTransform>());
         }
     }
     return(null);
 }
Beispiel #4
0
	public void refDataFromString(string dat)
	{
		if(SingleGame.GameManager.self!=null)
		{
			SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
			if(gd!=null)
				data=gd[dat] as SingleGame.Conditional;
		}
	}
Beispiel #5
0
	public void refDataFromList(string dat,int num)
	{
		if(SingleGame.GameManager.self!=null)
		{
			SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
			if(gd!=null)
			{
				IList lsr=gd[dat] as IList;
				if(num>=0&&num<lsr.Count)
				{
					data=lsr[num] as SingleGame.Conditional;
				}
			}
		}
	}
Beispiel #6
0
//	CardFlip flip;
    // Use this for initialization
    //public SingleGame.Conditional cardData;

    public override void Start()
    {
        rtransform = gameObject.GetComponent <RectTransform>();
        canv       = rtransform.RootCanvasTransform();
        text.text  = cardData[SingleGame._cardText] as string;
        string imgname = cardData["_cardImage"] as string;

        if (imgname != null)
        {
            Texture2D txt = Resources.Load(imgname) as Texture2D;
            if (txt != null)
            {
                cardImg.texture = txt;
            }
        }
        game    = cardData[SingleGame._rootl] as SingleGame.Conditional;
        player1 = game["Player1"] as SingleGame.Conditional;
    }
Beispiel #7
0
  public void refDataFromListByTag(string dat,string tag)
  {
    if(SingleGame.GameManager.self!=null)
    {
      SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
      if(gd!=null)
      {
        IList lsr=gd[dat] as IList;
        foreach(object o in lsr)
        {
          SingleGame.Conditional cc=o as SingleGame.Conditional;
          if(cc!=null&&cc.hasTag(tag))
          {
            data=cc;

            break;
          }
        }

      }
    }
  }
Beispiel #8
0
    IEnumerator init()
    {
        while(!_game._GameData.hasTag("ENTITIES_DONE"))
        {
          yield return null;
        }
        for(int i=0;i<7;i++)
            handSlots[i]=handplacer.slots[i+1];
        deck=handplacer.slots[0];
        flipper=deck;
        headRec.validTag="SLOT_HEAD";
        torsoRec.validTag="SLOT_TORSO";
        lhandRec.validTag="SLOT_LHAND";
        rhandRec.validTag="SLOT_RHAND";
        llegRec.validTag="SLOT_LLEG";
        rlegRec.validTag="SLOT_RLEG";

        opponent_headRec.validTag="SLOT_HEAD";
        opponent_torsoRec.validTag="SLOT_TORSO";
        opponent_lhandRec.validTag="SLOT_LHAND";
        opponent_rhandRec.validTag="SLOT_RHAND";
        opponent_llegRec.validTag="SLOT_LLEG";
        opponent_rlegRec.validTag="SLOT_RLEG";

        mpBody.Add(headRec);mpBody.Add(torsoRec);mpBody.Add(lhandRec);mpBody.Add(rhandRec);
        mpBody.Add(llegRec);mpBody.Add(rlegRec);
        headRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_HEAD");
        torsoRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_TORSO");
        lhandRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_LHAND");

        rhandRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_RHAND");

           llegRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_LLEG");

           rlegRec.refDataFromListByString("Player1.DEFAULT_BODY","slot","SLOT_RLEG");

        opponent_headRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_HEAD");
        opponent_torsoRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_TORSO");
        opponent_lhandRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_LHAND");

        opponent_rhandRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_RHAND");

        opponent_llegRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_LLEG");

        opponent_rlegRec.refDataFromListByString("Player2.DEFAULT_BODY","slot","SLOT_RLEG");
        opBody.Add(opponent_headRec);opBody.Add(opponent_torsoRec);opBody.Add(opponent_lhandRec);opBody.Add(opponent_rhandRec);
        opBody.Add(opponent_llegRec);opBody.Add(opponent_rlegRec);
        dismissArea.refDataFromString("dismiss_area");
        melee.refDataFromString("DistanceTickerMelee");
        mid.refDataFromString("DistanceTickerMid");
        far.refDataFromString("DistanceTickerFar");
        Debug.Log("dimissaAREA");
        Debug.Log(dismissArea.cardData.hasTag("DISMISS_AREA"));
        player1=_game._GameData["Player1"] as SingleGame.Conditional;
         initDone=true;
        collectTime=true;
    }
Beispiel #9
0
 //    CardFlip flip;
 // Use this for initialization
 //public SingleGame.Conditional cardData;
 public override void Start()
 {
     rtransform=gameObject.GetComponent<RectTransform>();
             canv=rtransform.RootCanvasTransform();
     text.text=cardData[SingleGame._cardText] as string;
     string imgname=cardData["_cardImage"] as string;
     if(imgname !=null)
     {
         Texture2D txt=Resources.Load(imgname) as Texture2D;
         if(txt!=null)
             cardImg.texture=txt;
     }
     game=cardData[SingleGame._rootl] as SingleGame.Conditional;
     player1=game["Player1"] as SingleGame.Conditional;
 }
Beispiel #10
0
 public void refDataFromString(string dat)
 {
     if(SingleGame.GameManager.self!=null)
     {
         SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
         if(gd!=null)
             data=gd[dat] as SingleGame.Conditional;
     }
 }
Beispiel #11
0
    public void refDataFromListByTag(string dat,string tag)
    {
        if(SingleGame.GameManager.self!=null)
        {
          SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
          if(gd!=null)
          {
        IList lsr=gd[dat] as IList;
        foreach(object o in lsr)
        {
          SingleGame.Conditional cc=o as SingleGame.Conditional;
          if(cc!=null&&cc.hasTag(tag))
          {
            data=cc;

            break;
          }
        }

          }
        }
    }
Beispiel #12
0
    public void refDataFromListByString(string dat,string valname,string val)
    {
        if(SingleGame.GameManager.self!=null)
        {
          SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
          if(gd!=null)
          {
        IList lsr=gd[dat] as IList;
        foreach(object o in lsr)
        {
          SingleGame.Conditional cc=o as SingleGame.Conditional;
          if(cc!=null)
          {
            string vv=cc[valname] as string;
            if(vv==val)
            {
              data=cc;
            break;
            }
          }
        }

          }
        }
    }
Beispiel #13
0
 public void refDataFromList(string dat,int num)
 {
     if(SingleGame.GameManager.self!=null)
     {
         SingleGame.Conditional gd=SingleGame.GameManager.self._GameData;
         if(gd!=null)
         {
             IList lsr=gd[dat] as IList;
             if(num>=0&&num<lsr.Count)
             {
                 data=lsr[num] as SingleGame.Conditional;
             }
         }
     }
 }
Beispiel #14
0
    void manageEvents()
    {
        IList evs = _game._GameData["Events"] as IList;

        if (evs == null)
        {
            return;
        }
        foreach (EventProgressBar e in events)
        {
            e.mark = false;
        }
        int ic = 0;

        while (ic < evs.Count)
        {
            object evo = evs[ic];
            ic++;
            SingleGame.Conditional ev = evo as SingleGame.Conditional;
            if (ev != null)
            {
                int nm = -1;
                for (int ii = 0; ii < events.Count; ii++)
                {
                    if (events[ii].cardData == ev)
                    {
                        nm = ii;
                        events[ii].mark = true;
                    }
                }
                if (nm == -1)
                {
                    GameObject       go = Instantiate(eventPrefab.gameObject) as GameObject;
                    EventProgressBar pb = go.GetComponent <EventProgressBar>();
                    RectTransform    tr = go.GetComponent <RectTransform>();
                    RectTransform    pr = getAssociatedRect(ev);
                    if (pr != null)
                    {
                        tr.SetParent(pr, false);
                        tr.SetInternalAnchors(new Vector4(0, 0, 1, 1));
                        pb.cardData = ev;
                        events.Add(pb);
                        pb.mark = true;
                    }
                    else
                    {
                        Destroy(go);
                        events.Remove(pb);
                    }
                }
            }
        }
        List <EventProgressBar> trem = new List <EventProgressBar>();

        foreach (EventProgressBar evo in events)
        {
            if (!evo.mark)
            {
                trem.Add(evo);
            }
        }
        foreach (EventProgressBar pb in trem)
        {
            if (pb != null && pb.gameObject != null)
            {
                Destroy(pb.gameObject);
            }
            events.Remove(pb);
        }
    }
Beispiel #15
0
    void ExecuteHookWithNameAndData(string name, SingleGame.Conditional data)
    {
        hooks.Add(name);
        if (name == "draw")
        {
            StartCoroutine(draw());
            return;
        }
        if (name == "highlight")
        {
            Debug.Log("highlight");
            Debug.Log(data);
            SingleGame.GameManager.endHook();
            hooks.Remove("highlight");
            return;
        }
        if (name == "log")
        {
            Debug.Log("hooklog");
            Debug.Log(data["text"]);
            hooks.Remove("log");
            SingleGame.GameManager.endHook();
            return;
        }
        if (name == "discard")
        {
            Debug.Log("discarded");
            refreshBodies();


            hooks.Remove(name);
            SingleGame.GameManager.endHook();
            return;
        }
        if (name == "test")
        {
            Debug.Log("testlog");
            Debug.Log(data["active.abilities"]);
            Debug.Log(data["active._cardName"]);
            Debug.Log(((IList)data["_sel"]).Count);
            //	Debug.Log(data["_ability"]);
            //Debug.Log(((SingleGame.Conditional)data["_target.TARGETED"]).hasTag("DISTANCE_TICKER"));
            //Debug.Log(((IList)data["_used"]).Count);
            // Debug.Log(data["_Owner.BODY"]);
            //Debug.Log(data.hasTag(player1["activeTag"] as string));
            //IList dl=data["_used"] as IList;
            //	Debug.Log(dl.Count);
            hooks.Remove("test");
            SingleGame.GameManager.endHook();
            return;
        }
        if (name == "act")
        {
            SingleGame.Conditional cnd = data["TARGETED"] as SingleGame.Conditional;
            string st2 = data["TARGETED._cardName"] as string;
            if (st2 == null)
            {
                st2 = data["TARGETED.slot"] as string;
            }
            if (cnd.hasTag("DISTANCE_TICKER"))
            {
                st2 = "MOVE";
            }
            Debug.Log(string.Format("Enemy acted randomly: {0} {1} {2}", data["SELECTED._cardName"], st2, data["AIMED._cardName"]));

            hooks.Remove(name);
            SingleGame.GameManager.endHook();
            return;
        }
        if (name == "id")
        {
            Debug.Log("idlog");
            data["playerID"] = SingleGame.getRandString(12);
            Debug.Log(data["playerID"]);
            hooks.Remove(name);
            SingleGame.GameManager.endHook();
            return;
        }

        if (name == "shuffle")
        {
            Debug.Log("shuffle");
            IList dl = player1["DISCARD"] as IList;
            Debug.Log(dl.Count);
            dl = player1["DECK"] as IList;
            Debug.Log(dl.Count);
            Debug.Log(player1 == data);
            hooks.Remove(name);
            SingleGame.GameManager.endHook();
//			postshuf=true;
            return;
        }
        if (name == "transformation")
        {
            StartCoroutine(trans());
            return;
        }
        Debug.Log(string.Format("Undefined Hook called: {0}", name));
        hooks.Remove(name);
        SingleGame.GameManager.endHook();
    }
Beispiel #16
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;
    }