Пример #1
0
    void ResLeave(IMessage theData)
    {
        Ag.LogIntense(1, true);
        Ag.LogString(mName + "  ResLeave    Rcvd  ...  \t\t\t\t >>>   Re Action   Enemy left   <<<");
        Ag.LogString(" >>>  " + theData.MessageText);

        ActionLeave();   // I leave too ...!!!

        if (Ag.mFriendMode != 1)
        {
            Ag.mySelf.CoolTimeChooseOneMoreGameWin();
        }

        if (Ag.GameStt.WillSendWasGameReport)
        {
            WasGameReport aObj = new WasGameReport()
            {
                User  = Ag.mySelf, winnerID = Ag.mySelf.WAS.KkoID, loserID = Ag.NodeObj.EnemyUser.WAS.KkoID,
                winPo = (int)Ag.NodeObj.myGameLogic.CurAccumTotal, losPo = 0
            };
            aObj.messageAction = (int pInt) => {
                EnemyUser = null;
                CurEnemy  = null;
            };
        }
        else
        {
            EnemyUser = null;
            CurEnemy  = null;
        }

        Ag.GameStt.EnemyOrMyselfLeftActionFromNode(myself: false, pComent: " Enemy Left case   ...");

        if (dlgtEnemyLeft != null)
        {
            dlgtEnemyLeft();
        }
        Ag.LogIntense(2, false);
    }
    public void GameReport(AmUser WinnerUser, AmUser LoserUser, int WinPoint, int LoserPoint)
    {
        string winID, losID, myID = Ag.mGuest ? Ag.mySelf.DeviceID : Ag.mySelf.WAS.KkoID;

        myWeekScr = Ag.mySelf.myRank.WAS.weekScore;
        enWeekScr = Ag.NodeObj.MySocket.CurEnemy.rankObj.weekScore;

        if (Ag.SingleTry > 0)
        {
            Ag.NodeObj.MyUser.myRank.WAS.contWinNum = 0;
            Wincheck();
            WasCardUniformCostume aaObj = new WasCardUniformCostume()
            {
                User = Ag.mySelf, code = 240
            };
            aaObj.messageAction = (int pInt) => {
                switch (pInt)   // 0:성공
                {
                case 0:
                    Wincheck();
                    Ag.SingleTry = 0;
                    return;
                }
            };
            return;
        }

        if (Ag.mgDidWin)
        {
            if (Ag.mFriendMode != 1)
            {
                Ag.mySelf.CoolTimeChooseOneMoreGameWin();
            }
            winID = myID;
            losID = LoserUser.WAS.KkoID;
        }
        else
        {
            winID = WinnerUser.WAS.KkoID;
            losID = myID;
        }

        WasGameReport aObj = new WasGameReport()
        {
            User  = Ag.mySelf, winnerID = winID, loserID = losID,
            winPo = (int)TotalWinerPoint, losPo = (int)TotalLoserPoint
        };


        aObj.messageAction = (int pInt) => {
            switch (pInt)   // 0:성공, -1:캐쉬 부족, 1:잘못된 단위
            {
            case 0:
                if (mNetworkError)
                {
                    WincheckNetworkError();
                    mRscrcMan.FindChild(dicGameSceneMenuList ["popup"], "rematch_accept/btngrid/btn_rematch", false);
                }
                else
                {
                    Wincheck();
                }
                myCard.WAS.ResetWidthAndSkill();
                GameSceneCardUpdate();
                aObj = null;
                Ag.LogString(" result : Success ");
                return;
            }
        };
    }