public void InsertAt(GameObject iObj) { // iObj is Alien Ag.LogIntenseWord(" Insert At " + gameObject.name + " With : " + iObj.name); //mPrevGobj.CellCs ().ShowMySortInfo (); //GameObject pre4debug = mPrevGobj; Pstn.AmIAnimating = true; CuCell iObjCs = iObj.CellCs(); if (mPrevGobj == null) { iObjCs.mSortNum = 0; } else { mPrevGobj.CellCs().mNextGobj = iObj; // Replace my position.. iObjCs.mSortNum = mSortNum; } iObjCs.mPrevGobj = mPrevGobj; // it can be null. iObjCs.mNextGobj = gameObject; // myself.. mPrevGobj = iObj; if (mPrevGobj == null) { RearrangeSortNum(iObj); } else { RearrangeSortNum(mPrevGobj); } }
public void ShowMyself() { Ag.LogString("NodeGamePrepare . arrDirectionInfo >>>"); // foreach (int[] mem in arrDirectionInfo) { // Ag.LogString (">>> " + mem [0] + " " + mem [1] + " <<<"); // } }
public void RegistLoginWas() { Ag.LogIntenseWord(" RegistLoginWas KKO ID :::::: " + Ag.mySelf.WAS.KkoID); WasLogin aObj = new WasLogin() { User = Ag.mySelf, osVer = "1.1" }; aObj.messageAction = (int pInt) => { switch (pInt) // 0:성공 { case 0: mMainFlag = true; mPushLabel.SetActive(true); mPushLabelLoadName.SetActive(true); mPushLabelLoadName.GetComponent <UILabel> ().text = WWW.UnEscapeURL("%EA%B2%BD%EA%B8%B0%EC%9E%A5%EC%97%90%20%EC%9E%85%EC%9E%A5%EC%A4%91%EC%9E%85%EB%8B%88%EB%8B%A4."); RegistUserInfo(); Ag.mySelf.WAS.KkoNick = StcPlatform.PltmNick; Ag.mySelf.KkoNickEncode = WWW.EscapeURL(StcPlatform.PltmNick); Ag.mySelf.TeamNameEncoded = WWW.EscapeURL(Ag.mySelf.WAS.TeamName); Ag.mySelf.HeartSetMax(); break; case -1: case 4: mMakeGudan.SetActive(true); // 사용자 등록 화면을 띄운다. mPushLabel.SetActive(false); mPushLabelLoadName.SetActive(false); //mRscrcMan.FindGameObject("Ui_camera/Camera/Ui_title/loding_alert1",false); Ag.mySelf.HeartSetMax(); return; } }; }
public void CoolTimeChooseOneMoreGameWin() // I choose try one more game ... { Ag.LogIntenseWord(" CoolTimeChooseOneMoreGameWin Reset ... "); etcInfoObj.DtContWin = Ag.Now().AddSeconds(AgStt.CTContWin + 1); etcInfoObj.ShowMyself(); UpdateEtcInfoObj("CoolTimeChooseOneMoreGameWin"); }
public static CombatEvent ProcessCombat(byte[] data) { Ev ev = null; Ag src = null; Ag dst = null; string skillName = null; var offset = 2; if ((byte)(data[1] & (byte)CombatMessageFlags.Ev) == (byte)CombatMessageFlags.Ev) { (ev, offset) = ParseEv(data, offset); } if ((byte)(data[1] & (byte)CombatMessageFlags.Src) == (byte)CombatMessageFlags.Src) { (src, offset) = ParseAg(data, offset); } if ((byte)(data[1] & (byte)CombatMessageFlags.Dst) == (byte)CombatMessageFlags.Dst) { (dst, offset) = ParseAg(data, offset); } if ((byte)(data[1] & (byte)CombatMessageFlags.SkillName) == (byte)CombatMessageFlags.SkillName) { (skillName, offset) = ParseString(data, offset); } var id = BitConverter.ToUInt64(data, offset); var revision = BitConverter.ToUInt64(data, offset + 8); return(new CombatEvent(ev, src, dst, skillName, id, revision)); }
void SendGameTurnResult(int turnN) { Ag.LogIntense(2, true); //string myRoll = ((TurnNum % 2 == 1) ^ (MySocket.IsGameHost.Value)) ? "KICK" : "KEEP"; string myRoll; // = ((TurnNum % 2 == 1) ^ (!MySocket.IsGameHost.Value)) ? "KICK" : "KEEP"; if (TurnNum % 2 == 1) { myRoll = MySocket.IsGameHost.Value ? "KICK" : "KEEP"; } else { myRoll = MySocket.IsGameHost.Value ? "KEEP" : "KICK"; } MyUser.WAS.GameSessionKey = MySocket.sessionKey; NodeGameTurnRslt gameTurn = new NodeGameTurnRslt() { roll = myRoll, direction = Direction, skill = Skill, turnNum = turnN, sessionKey = MySocket.sessionKey, grade = CurMyCard.WAS.grade, level = CurMyCard.WAS.level }; Ag.LogString(MySocket.mName + " NodeAction :: GameTurn " + TurnNum + " My Roll is " + myRoll); Ag.LogString(MySocket.mName + " NodeAction :: GameTurn Send >>> my <Dir/Skl> : <<< " + Direction + " / " + Skill + " >>>"); MySocket.ActionGameObj(gameTurn); Ag.LogString(MySocket.mName + " NodeAction :: GameTurn _____ Sent !!! "); Ag.LogIntense(2, false); }
public override void SendAction() { //User.arrItemPrice.Clear (); Ag.LogString("WasEventList :: SendAction ... Started ... "); SendStr = ""; SendStr = SendStr.AddCodeKeyKKOID(User, 243); SendStr = SendStr.AddKeyValue("formatVersion", 1); SendStr = SendStr.AddParen(); postAction += () => { Ag.LogString("WasEventList :: postAction " + RcvdStr); JSONNode jdArr = NdObj ["arrEventInfo"]; Ag.LogString("WasEventList :: Number >> " + jdArr.Count); for (int j = 0; j < jdArr.Count; j++) { WasEvent aObj = new WasEvent(); aObj.ParseFrom(jdArr [j]); //aObj.ShowMyself (); User.arrEvent.Add(aObj); } Ag.LogString("WasEventList :: postAction " + Result.result + " arrEvent : " + User.arrEvent.Count); messageAction(Result.result); }; SendAndRciv(); }
// _////////////////////////////////////////////////_ _____ Creation _____ Methods _____ public override void Start() { Ag.LogIntenseWord("NetworkManager :: Creation ..... "); mInterbal = INT_REST; if (AgStt.NetManager == null) { AgStt.NetManager = this; DontDestroyOnLoad(this.gameObject); } else { Destroy(gameObject); } if (Ag.mIsDebug) { GitIgnoreThis.GitIgnoreSetup(); } #if UNITY_IPHONE if (Application.platform == RuntimePlatform.IPhonePlayer) { AgStt.FpLoginIOS.CheckRootingJailbreak(); } #endif AgStt.IntendedPause = false; GenState(); myGUI.SetColumns(2, 5); BotGUI.SetColumns(1, 12); }
void AutoLoginProcess() { WasLogin aObj = new WasLogin() { User = Ag.mySelf, osVer = "1.1" }; aObj.messageAction = (int pInt) => { if (pInt == 0) { WasUserInfo uObj = new WasUserInfo() { User = Ag.mySelf, flag = 0 }; uObj.messageAction = (int uInt) => { Ag.LogString(" User Info OK "); }; WasItemInfo bObj = new WasItemInfo() { User = Ag.mySelf }; bObj.messageAction = (int xpInt) => { }; } aObj = null; }; }
// _////////////////////////////////////////////////_ _____ Matching _____ Coroutine _____ IEnumerator RandomAppliedAndWaitForEnemy() //BotMatching () { Ag.LogIntenseWord(Ag.CoroutineSign + " .... RandomAppliedAndWaitForEnemy :: "); // 15 초 기다렸다가 매칭이 되었으면 그냥 패스.. 아니면 봇과 매칭. yield return(new WaitForSeconds(15f)); //MatchingFlag = true; Ag.LogIntenseWord(Ag.CoroutineSign + " After 15 Sec .... Menu... KickOff Ready >> Flag :: "); if (Ag.GameStt.ExchangeParsedForGominjung) { Ag.LogDouble(" Game already Started... Bot NO.. :: "); } else { Ag.mVirServer.maiGradeOfBot = 0; Ag.NodeObj.CancelRandomStartGameWithBot(); } // 2 초 후에 봇과 대전 / 패스 yield return(new WaitForSeconds(2f)); if (Ag.GameStt.ExchangeParsedForGominjung) { Ag.LogDouble(Ag.CoroutineSign + " Just Matching ... Not with Bot ... "); } else // Un usual case ... !!!!! Exchange is too late !!! { Ag.LogDouble(" RandomAppliedAndWaitForEnemy :: ExchangeParsedForGominjung is false >>> Exception step .. "); //if (!Ag.mSingleMode) // Btn_Fun_MatchCancleAndGoOut (); } }
// _////////////////////////////////////////////////_ _____ Network _____ Methods _____ public void StopNetwork() { Ag.LogIntenseWord("NetworkManager :: StopNetwork " + myName); mThreadEnd = true; //mInterbal = INT_REST; // Time Interbal Set <><> mStt.SetStateWithNameOf("Online"); }
//public bool IsOK { get { return WAS && Node; } } public NetException() { ConnectLossAct += () => { // WAS Error or Time out ... Lte <--> Wifi Ag.LogIntenseWord(" Connection Loss Event "); // Gaming ... if (Ag.CurrentScene == "GAME") // ignore ? send leave.. timeout... //return; { Ag.NodeObj.LeaveMyself(); } ConnectLossSignalGone = true; // popup open.. }; // mUIpopup.SetActive (true); // NetworkPopup.cs 에서 처리함. NodeConnectionLossAct = () => { Ag.LogIntenseWord(" Connection Loss Event @ Node "); AgStt.NodeClose(); // Gaming ... if (Ag.CurrentScene == "GAME") { Ag.LogDouble(" Node Connection Loss Evnt >>> In GAME << ..... _____ "); ConnectLossSignalGone = true; return; } // Auto Restart Node .... AgStt.NodeOpen(); Ag.LogDouble(" NetException :: Node .... End ..... _____ "); }; }
public void GameMatchedAllCase(bool pRandom, string pComent = ">>>") { // 2> ResRandom 3> Res Join or Matched Ag.LogString(mark + "GameMatchedAllCase >>> " + pRandom.ShowBool("It's", "Random", "Friend") + pComent); gameMatched = true; Ag.NodeObj.IsRandom = isRandom = pRandom; }
public void TestFunction() { Ag.LogDouble(" Test Function >>>> "); //create new display and stock instances StockDisplay stockDisplay = new StockDisplay(); Stock stockObj = new Stock(); //create a new delegate instance and bind it //to the observer's askpricechanged method Stock.AskPriceDelegate aDelegate = new Stock.AskPriceDelegate(stockDisplay.AskPriceChanged); // DlgtType dlgtObject = new DlgtType ( function ); // 대리자 객체 생성. //add the delegate to the event stockObj.AskPriceChangedDlgt += aDelegate; // anInstance.aMember += dlgtObject ; //loop 100 times and modify the ask price for (int looper = 0; looper < 100; looper++) { stockObj.AskPrice = looper; } //remove the delegate from the event stockObj.AskPriceChangedDlgt -= aDelegate; }
// Use this for initialization void Awake() { Ag.LogString(" Start "); dicCostume = new Dictionary <string, Texture2D> (); ResourceLoad(); }
void MessageItemInfo() { WasItemInfo aObj = new WasItemInfo() { User = Ag.mySelf }; aObj.messageAction = (int pInt) => { switch (pInt) // 0:성공, -1:캐쉬 부족, 1:잘못된 단위 { case 0: Btn_fun_EndmessageDef(); break; case -1: Ag.LogString(" result : Cash Not enough "); return; case 1: Ag.LogString(" result : Wrong Unit "); return; case 5: case 6: MenuCommonOpen("Ui_popup", "popup_MessageError", true); break; } }; }
public void GameTurnBot(int turnN, AmCard EnemCard) { //Ag.LogIntenseWord (" Value at Bot " + " " + Direction + " " + " " + Skill + " " + Ag.mgEnemDirec + " " + Ag.mgEnemSkill); //Ag.LogDouble (" NodeActions :: GameTurnBot ... turn : " + turnN + " EnemCard : " + EnemCard.WAS.grade + " / " + EnemCard.WAS.level); NodeGameTurnRslt gameTurn = new NodeGameTurnRslt() { roll = Ag.mgIsKick ? "KICK" : "KEEP", direction = Direction, skill = Skill, turnNum = turnN, sessionKey = MySocket.sessionKey, grade = CurMyCard.WAS.grade, level = CurMyCard.WAS.level }; MySocket.arrGameSend.Add(gameTurn); NodeGameTurnRslt enemTurn = new NodeGameTurnRslt() { roll = !Ag.mgIsKick ? "KICK" : "KEEP", direction = Ag.mgEnemDirec, skill = Ag.mgEnemSkill, turnNum = turnN, sessionKey = MySocket.sessionKey, grade = EnemCard.WAS.grade, level = EnemCard.WAS.level }; MySocket.arrGameRcvd.Add(enemTurn); Ag.LogIntenseWord(" NodeActions :: GameTurnBot arrGameSend.count : " + MySocket.arrGameSend.Count + " Rcvd : " + MySocket.arrGameRcvd.Count); }
public void Btn_Fun_UniformBuyOk() { dicMenuList ["CenterCircle"].SetActive(true); WasPurchaseUniform aObj = new WasPurchaseUniform() { User = Ag.mySelf, uniformTypeID = uniformTypeid }; aObj.messageAction = (int pInt) => { dicMenuList ["CenterCircle"].SetActive(false); switch (pInt) { case 0: Uniform(); //dicMenuList ["alert"].SetActive (true); dicMenuList ["popup_buyuniform"].SetActive(false); Ag.LogString(" result : >>> " + pInt.LogWith("result is")); break; case -1: MenuCommonOpen("Ui_popup", "havenotpoint", true); break; } }; }
public NodeActions(AmUser myAmUser) { MySocket = new NodeSocket(myAmUser.WAS.KkoID); MyUser = myAmUser; Ag.LogIntenseWord("NodeActions :: Creating >>>>>>> " + MySocket.mName + " <<<<<<< "); MySocket.dlgtConnect += () => { MySocket.ActionUser(); }; MySocket.dlgtJoinAsVisitor += () => { if (AmHost.HasValue) { Ag.LogString(MySocket.mName + "_____ AmHost.HasValue _____ " + AmHost.Value + " will be set as false "); } AmHost = false; }; MySocket.dlgtReverseHostVstr += () => { Ag.LogIntenseWord(MySocket.mName + " MySocket.dlgtReverseHostVstr += () => From " + AmHost); AmHost = !AmHost; }; MakeConnect(); }
public void SendWasCardupdate() { if (Ag.mySelf.ShouldUpdateCard()) { //dicMenuList ["CenterCircle"].SetActive (true); WasCardUpdate aObj = new WasCardUpdate() { User = Ag.mySelf, // arrSendCard = Ag.mySelf.arrNewCard }; aObj.messageAction = (int pInt) => { //dicMenuList ["CenterCircle"].SetActive (false); switch (pInt) // 0:성공 { case 0: SendWasCardInfo(); Ag.LogString("MenuManager_Pack :: CARD UpdateOK Done "); break; case -1: case 4: return; } }; } }
public bool Parse(JSONNode jsNd) { Ag.LogStartWithStr(1, " WasUserEtcInfo :: Parse with " + jsNd.ToString()); bool rslt = true; try { string sTryA, sTryS; rslt = (jsNd.ParseTo("FGame", out FGame, "ContLoseNum", out ContLoseNum, "DailyChkMon", out DailyChkMon) && jsNd.ParseTo("DailyChkDay", out DailyChkDay, "GameNumToday", out GameNumToday, "HeartPopup", out HeartPopup) && jsNd.ParseTo("DmeSingleTryA", out sTryA, "DmeSingleTryS", out sTryS) && jsNd.ParseTo("SingleTry", out SingleTry, "HeartRemainSec", out HeartRemainSec)); DmeSingleTryA = new AmDayMonthEvent(sTryA, "SingleTry A"); DmeSingleTryS = new AmDayMonthEvent(sTryS, "SingleTry S"); } catch { Ag.LogIntenseWord("WasUserEtcInfo Error in FGame, ContLoseNum, DailyChkMon, etc "); } try { // Cool Time Info ... rslt = jsNd.ParseTo("CTimeHeartSet", out CTimeHeartSet, "CTimeScout", out CTimeScout, "CTimeContWin", out CTimeContWin); DtHeart = DateTime.FromFileTimeUtc(long.Parse(CTimeHeartSet)); // UtTimestamp.ToDateTime (int.Parse (CTimeHeartSet)); DtScout = DateTime.FromFileTimeUtc(long.Parse(CTimeScout)); // UtTimestamp.ToDateTime (int.Parse (CTimeScout)); DtContWin = DateTime.FromFileTimeUtc(long.Parse(CTimeContWin)); // UtTimestamp.ToDateTime (int.Parse (CTimeContWin)); } catch { SetCTnow(); } try { rslt = jsNd.ParseTo("CTimePosting", out CTimePosting); DtPosting = DateTime.FromFileTimeUtc(long.Parse(CTimePosting)); } catch { DtPosting = DateTime.Now - TimeSpan.FromHours(24); } return(rslt); }
void SendWasCardInfo() { WasCardUniformCostume bObj = new WasCardUniformCostume() { User = Ag.mySelf, code = 240 }; bObj.messageAction = (int pInt) => { switch (pInt) // 0:성공 { case 0: mRscrcMan.FindChild(dicMenuList ["cardmix_popup"], "mix/card_new", true).GetComponent <PlayerCardInfo> ().mwas = Ag.mySelf.arrNewCard [0].WAS; mRscrcMan.FindChild(dicMenuList ["cardmix_popup"], "mix/card_new", true).GetComponent <PlayerCardInfo> ().CardInit(); /* * AfterPurchaseCardClosePopup (); * dicMenuList.SetActiveAll (false, new string [] { * "LobbyHigh1Card", "LobbyHigh3Card", "Lobbynormal1Card", "Lobbynormal3Card", "Lobbycardopen_popup", * "kleague1card", "kleague3card" * }); */ Ag.LogString(" Send Was Card Info "); return; } }; }
public void HeartCoolTimeNewGameStarted() { etcInfoObj.HeartRemainSec = CurrentRemainSec() - AgStt.CTHeartGameHealth; etcInfoObj.DtHeart = Ag.Now(); etcInfoObj.ShowMyself(); UpdateEtcInfoObj("HeartCoolTimeNewGameStarted"); }
/// <summary> /// MessageEdit /// </summary> void Btn_fun_Ceremony_Apply(string ItemType, int applyid) { AmItem startMsg = Ag.mySelf.arrItem.GetMemberWithCond((AmItem iObj) => { return(iObj.WAS.itemTypeID == ItemType); //"EndMessage"; //"StartMessage"; // 이렇게 조건을 지정하여 해당 아이템을 가져온다. }); startMsg.WAS.applyID = applyid; startMsg.WAS.msg = " again DoitAgain''' "; WasItemUpdate aObj = new WasItemUpdate() { User = Ag.mySelf, itemObj = startMsg // 이렇게 업데이트 대상 아이템 <하나> 만 넣어준다. }; aObj.messageAction = (int pInt) => { switch (pInt) // 0:성공, -1:캐쉬 부족, 1:잘못된 단위 { case 0: CeremonySetNum(); Ag.LogString(" result : Success "); return; case -1: Ag.LogString(" result : Cash Not enough "); return; case 1: Ag.LogString(" result : Wrong Unit "); return; } }; }
public NodeUser(JSONNode jsNd) { Ag.LogString(" NodeUser :: NodeUser() :: Parse Started >>> "); //if (Parse (jsNd)) Parse(jsNd); ParseIntArr(); }
void Btn_Fun_Kicker_dresseditemBuy() { MenuCommonOpen("Ui_Popup", "buy_item", false); dicMenuList ["CenterCircle"].SetActive(true); WasPurchaseCostume aObj = new WasPurchaseCostume() { User = Ag.mySelf, costumeName = Shoes }; //, buyType = 1 }; aObj.messageAction = (int pInt) => { dicMenuList ["CenterCircle"].SetActive(false); switch (pInt) // { case 0: //CostumeInfo (); Userinfo(); //dicMenuList ["alert"].SetActive (true); MenuCommonOpen("Ui_Popup", "buy_item", false); Ag.LogString(" result : Success "); break; case -1: MenuCommonOpen("Ui_popup", "havenotpoint", true); break; } }; }
public void RegistUserInfo() { Ag.LogIntenseWord(" RegistUserInfo KKO ID :::::: " + Ag.mySelf.WAS.KkoID); WasUserInfo aObj = new WasUserInfo() { User = Ag.mySelf, flag = 1 }; aObj.messageAction = (int pInt) => { switch (pInt) // 0:성공 { case 0: //UniformInit (); //Ag.mVirServer.SetUniform (); UniformInit(); RegistUniform(); RegCardUpdate(); break; case -1: case 4: return; } Ag.mySelf.WAS.profileURL = StcPlatform.ProfileURL; AgStt.NodeClose(); AgStt.NodeOpen(); }; }
/// <summary> /// skill 값 세팅 { 222, 22, 0 } /// </summary> void SetSkillValue() { int fire = GetSkillGood(grade, level), blaze = GetSkillGreat(grade, level), volcano = GetSkillPerfect(grade, level); if (skill [0] < fire || skill [1] < blaze) { mustUpdate = true; } Ag.LogDouble(" Set Skill Value :: " + fire + " / " + blaze + " / " + volcano); if (!isKicker) // Keeper case { if (grade == "S") { blaze = 0; // [ 283, 0, 0 ] } if (grade == "A") { volcano = 0; // [ 255, 27, 0 ] } } skill = new int[] { fire, blaze, volcano }; }
void RegistProcess() { if (!Ag.mGuest && (Ag.mySelf.WAS.KkoID == null && Ag.mySelf.WAS.KkoID.Length < 8)) { Ag.LogIntenseWord(" Regist Error .... >>>>> if (!Ag.mGuest && (Ag.mySelf.WAS.KkoID == null && Ag.mySelf.WAS.KkoID.Length < 8)) { "); return; } WasRegist aObj = new WasRegist() { User = Ag.mySelf }; aObj.messageAction = (int pInt) => { switch (pInt) // 0:성공 { case 0: case 1: case 7: Ag.LogIntenseWord(" Regist : Success "); RegistLoginWas(); //StNet.Login(Ag.mySelf, out goToLogin); break; case -1: case 4: break; } }; }
public bool ParseFrom(JSONNode pJson) { string startDateTime, endDateTime; bool rVal = false; if (pJson.ParseTo("eventType", out eventType, "startDateTime", out startDateTime) && pJson.ParseTo("useFlag", out useFlag, "endDateTime", out endDateTime)) { rVal = true; } StartDT = startDateTime.ToDateTime(); EndDT = endDateTime.ToDateTime(); Ag.LogStartWithStr(1, " Event >>> " + eventType + " useFlag : " + useFlag + " is Effective :: From " + StartDT.ToString() + " ~ " + EndDT.ToString()); if (eventType == "saleItem" || eventType == "invite" || eventType == "quest" || eventType == "attendance" || eventType == "gift") { JSONNode rew = pJson ["reward"]; for (int k = 0; k < rew.Count; k++) { JSONNode nObj = rew [k]; Reward nRew; nRew.code = nObj ["code"]; nRew.value = nObj ["value"]; arrReward.Add(nRew); (" reward parsing >> code : " + nRew.code + " value : " + nRew.value).HtLog(); } } return(rVal); }