public override void SendAction() { Ag.LogString("WasUniformUpdate :: SendAction ... Started ... "); if (partOfAll == null) { partOfAll = new List <AmUniform> (); for (int k = 0; k < User.arrUniform.Count; k++) { if (k == 0 || User.arrUniform [k].mustUpdate) { partOfAll.Add(User.arrUniform [k]); } } } SendStr = ""; SendStr = SendStr.AddCodeKeyKKOID(User, 320); SendStr = SendStr.AddKeyValue("formatVersion", 1); string unifArr = ""; int sendNum = partOfAll.Count > 8 ? 8 : partOfAll.Count; Ag.LogDouble(" Update >>> .... Remain >>> " + sendNum); for (int i = 0; i < sendNum; i++) { AmUniform uObj = partOfAll [i]; //Ag.LogString (" Must Update ?? " + uObj.mustUpdate); //if (uObj.mustUpdate || i == 0) unifArr += uObj.ToJsonStr() + " , "; } partOfAll.RemoveRange(0, sendNum); unifArr = unifArr.Substring(0, unifArr.Length - 2); unifArr = unifArr.AddSqreBrakt(); SendStr = SendStr.AddArray("arrUniform", unifArr, false); SendStr = SendStr.AddParen(); postAction += () => { Ag.LogString("WasUniformUpdate :: postAction " + Result.result); if (partOfAll.Count > 0) { Ag.LogIntenseWord(" Update Again .... Remain >>> " + partOfAll.Count); SendAction(); } messageAction(Result.result); Ag.LogString(" postAction "); }; SendAndRciv(); }
public bool ParseExchange(JSONNode pData, AmUser pEnemy) { Ag.LogStartWithStr(3, "NodeGameObject :: Parse Exchange "); pEnemy = EnAmUser = new AmUser(); Ag.LogString(" >>> User <<< " + pData ["User"].ToString()); JSONNode user = JSON.Parse(pData ["User"].ToString().RecoverFromDodgeStr(" ` ", true)); EnAmUser.WAS.KkoID = user ["KkoID"]; EnAmUser.WAS.KkoNick = user ["KkoNick"]; EnAmUser.KkoNickEncode = user ["KNickEncode"]; Ag.LogString(" >>> " + EnAmUser.WAS.KkoID + EnAmUser.WAS.KkoNick); Ag.LogString(" >>> Item <<< " + pData ["arrItemWas"]); JSONNode arrItm = JSON.Parse(pData ["arrItemWas"].ToString().RecoverFromDodgeStr(" ` ", true)); for (int k = 0; k < arrItm.Count; k++) { Ag.LogString(arrItm [k].ToString()); try { AmItem itm = new AmItem(); itm.ParseFrom(arrItm [k]); itm.ShowMyself(); EnAmUser.arrItem.Add(itm); } catch { Ag.LogString(" :: >>> Item Parse !!!!! E R R O R !!!!! ", pWichtig: true); } } Ag.LogNewLine(2); Ag.LogString(" >>> Uniform <<< " + pData ["arrUniform"]); arrItm = JSON.Parse(pData ["arrUniform"].ToString().RecoverFromDodgeStr(" ` ", true)); for (int k = 0; k < arrItm.Count; k++) { Ag.LogString(arrItm [k].ToString()); AmUniform nUni = new AmUniform(); EnAmUser.arrUniform.Add(nUni); try { nUni.Parse(arrItm [k]); nUni.WasParseColorStringToKickKeepObj(); } catch { Ag.LogString(" :: >>> ParseColorInfo !!!!! E R R O R !!!!! ", pWichtig: true); } } Ag.LogString("NodeGameObject :: Parse Exchange >>>>> >>>>> "); Ag.LogIntense(5, false); return(true); }
// 유니폼 랜덤하게 입을 것 (편집된 상태) // 상대 유저와 같은 리그로 표시 // 상대 선수와 동일한 등급 카드로 라인업을 구성하되 킥커 순서와 레벨은 랜덤 public AmUniform SetUniform(int step, AmUniform pUnif = null) { AmUniform theUnif; if (pUnif == null) { theUnif = new AmUniform(); } else { theUnif = pUnif; } int sMai = AgUtil.RandomInclude(5, 12), sSub = AgUtil.RandomInclude(5, 12); if (sSub == sMai) { sSub = (sSub > 8) ? sSub - 1 : sSub + 1; } // Kicker .. int txtr = (step > 2) ? AgUtil.RandomInclude(2, 5) : 1; int txtrL = (step > 2) ? AgUtil.RandomInclude(2, 5) : 1; theUnif.Kick.SetValue(txtr, sMai, sSub, txtrL, AgUtil.RandomInclude(1, 3), AgUtil.RandomInclude(1, 3), 1, sMai, sSub); sMai = AgUtil.RandomInclude(5, 12); sSub = AgUtil.RandomInclude(5, 12); if (sSub == sMai) { sSub = (sSub > 8) ? sSub - 1 : sSub + 1; } // Keeper txtr = (step > 2) ? AgUtil.RandomInclude(2, 5) : 1; txtrL = (step > 2) ? AgUtil.RandomInclude(2, 5) : 1; theUnif.Keep.SetValue(txtr, sMai, sSub, txtrL, AgUtil.RandomInclude(1, 3), AgUtil.RandomInclude(1, 3), 1, sMai, sSub); return(theUnif); }
// _////////////////////////////////////////////////_ _____ Array _____ Parse Objects _____ public bool ParseUniform(JSONNode pData) { Ag.LogStartWithStr(1, " [< AmUserNet.cs >] <<<<< ParseUniform >>>>> >> " + pData.Count); pData.ToString().HtLog(); try { arrUniform.Clear(); for (int k = 0; k < pData.Count; k++) { AmUniform aObj = new AmUniform(); //if (aObj.ParseFrom (pData [k])) aObj.Parse(pData [k]); arrUniform.Add(aObj); //(" arrUniform Count :: " + arrUniform.Count).HtLog (); } } catch { Ag.LogIntenseWord(" [< AmUserNet.cs >] Parse <<<<< ParseUniform >>>>> E R R O R :: "); return(false); } (" Final ... arrUniform Count :: " + arrUniform.Count).HtLog(); return(true); }
public AmUser ParseFrom(JSONNode pJData) { AmUser rUsr = new AmUser(true, "NodeEnemyAmUserParse"); "NodeRltd :: NodeAmUser :: ParseFrom ".HtLog(); try { rUsr.WAS.KkoID = pJData ["KkoID"]; //.ToString ().RemoveQuotationMark (); rUsr.WAS.KkoNick = pJData ["KkoNick"]; //.ToString ().RemoveQuotationMark (); rUsr.KkoNickEncode = pJData ["KNickEncode"]; rUsr.TeamNameEncoded = pJData ["TeamNameEncoded"]; rUsr.WAS.League = pJData ["League"]; //Ag.NetExcpt.GamingEnemyID = rUsr.WAS.KkoID; } catch { Ag.LogString(" NodeRltd :: ParseFrom :: >>> KkoID KkoNick !!!!! E R R O R !!!!! ", pWichtig: true); } if (rUsr.KkoNickEncode == "%E0%B8%B8") { Ag.LogIntenseWord(" >>> KkoNick <<< " + rUsr.KkoNickEncode); rUsr.KkoNickEncode = ".."; } try { string contWinTryNot = pJData ["contWin"]; rUsr.ContWinStarted = contWinTryNot == "TRY"; Ag.LogString(" NodeRltd :: " + rUsr.ContWinStarted.ShowBool(" ContWin ", " Try", " Not")); } catch { Ag.LogString(" NodeRltd :: ParseFrom :: >>> ContWin TRY NOT"); } Ag.LogString(" NodeRltd :: ParseFrom :: >>> KkoID : " + rUsr.WAS.KkoID + " KkoNick : " + rUsr.WAS.KkoNick + " !!!!! "); JSONNode itemArr = pJData ["arrItemWas"]; (" NodeRltd :: NodeAmUser :: ParseFrom >> Item Array Parsing ____________" + itemArr.Count + "_____________ ").HtLog(); for (int k = 0; k < itemArr.Count; k++) { try { AmItem itm = new AmItem(); itm.ParseEnemyFrom(itemArr [k]); //itm.WAS = JsonMapper.ToObject<WasItem> (itemArr [k].ToJson ()); itm.ShowMyself(); rUsr.arrItem.Add(itm); } catch { Ag.LogString(" NodeRltd :: ParseFrom :: >>> Item Parse !!!!! E R R O R !!!!! ", pWichtig: true); } } JSONNode uniformArr = pJData ["arrWasUniform"]; Ag.LogStartWithStr(1, " NodeRltd :: NodeAmUser :: ParseFrom >> Uniform Array Parsing ____________" + uniformArr.Count + "_____________ "); for (int k = 0; k < uniformArr.Count; k++) { AmUniform nUni = new AmUniform(); rUsr.arrUniform.Add(nUni); try { nUni.Parse(uniformArr [k]); nUni.WasParseColorStringToKickKeepObj(); } catch { Ag.LogString(" NodeRltd :: ParseFrom :: >>> ParseColorInfo !!!!! E R R O R !!!!! ", pWichtig: true); } } JSONNode cardArr = pJData ["arrCard"]; Ag.LogStartWithStr(1, " NodeRltd :: NodeAmUser :: ParseFrom >> Card Array Parsing ____________" + cardArr.Count + "_____________ "); //cardArr.ToJson ().ToString ().HtLog (); for (int k = 0; k < cardArr.Count; k++) { try { AmCard nCard = new AmCard(); nCard.WAS.WasCardParse(cardArr [k]); nCard.ScouterParse(); rUsr.arrCard.Add(nCard); } catch { Ag.LogString(" NodeRltd :: ParseFrom :: >>> Card Parsing Failure !!!!! E R R O R !!!!! ", pWichtig: true); } } // JSONNode cstmdArr = pJData ["arrCostume"]; // Should be deprecate .... // (" NodeRltd :: NodeAmUser :: ParseFrom >> Costume Array Parsing ____________" + cstmdArr.Count + "_____________ ").HtLog (); // for (int k = 0; k < cstmdArr.Count; k++) { // arrCostume.Add (new AmCostume (cstmdArr [k])); // } JSONNode cstmWasArr = pJData ["arrCostumeWas"]; (" NodeRltd :: NodeAmUser :: ParseFrom >> Costume Was Array Parsing ____________" + cstmWasArr.Count + "_____________ ").HtLog(); for (int k = 0; k < cstmWasArr.Count; k++) { AmCostume nObj = new AmCostume(); nObj.WAS.ParseFrom(cstmWasArr [k]); rUsr.arrCostume.Add(nObj); } rUsr.ApplyCurrentDeck(); //rUsr.ApplyDeckItemBeforeGame (); return(rUsr); }