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; }
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; } } } } } }
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); }
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; } }
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; } } } }
// 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; }
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; } } } } }
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; }
// 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; }
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); } }
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(); }
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; }