示例#1
0
    public void ResFriends(IMessage theData)
    {
        TimerStop();
        Ag.LogStartWithStr(1, mName + "  ResFriends    Rcvd  ...  \t\t\t\t >>>   Re Action   <<<");
        JSONNode argsJ   = GetArguments(theData, mName); // JsonMapper.ToObject (dataJ ["args"] [0].ToJson ());
        string   status  = argsJ ["status"];
        int      frdNum  = argsJ ["friends"].Count;
        JSONNode friends = argsJ ["friends"];

        Ag.LogString("status :: >>   " + status + " ,         My Friend Num is :::   " + frdNum);

        arrFriends = new List <NodeUser> ();
        for (int k = 0; k < frdNum; k++)
        {
            Ag.LogString("       ________  . . . . . . . . .    A Friend :: " + friends [k]);
            NodeUser aFrnd = new NodeUser(friends [k]);  // = JsonMapper.ToObject<NodeUser> (friends [k]);
            if (aFrnd.ParseIntArr())
            {
                arrFriends.Add(aFrnd);
            }
            Ag.LogString("       ________  . . . . . . . . .     >>>>    Parsed  :: " + aFrnd.ToString());
            //Ag.LogString ("       ________  " + k + "    A Friend :: " + aFrnd.ToString ());
        }
        Ag.LogIntense(2, false);
    }
示例#2
0
 void ParseCurEnemy(JSONNode pData)
 {
     try {
         CurEnemy = new NodeUser(pData);  // JsonMapper.ToObject<NodeUser> (pData);
         CurEnemy.ParseIntArr();
     } catch {
         Ag.LogIntenseWord(mName + "  NodeSocket :: ParseCurEnemy      >>>>>   E R R O R   >>>>>");
     }
     Ag.LogString(mName + "  NodeSocket :: ParseCurEnemy >>  Enemy Info  :: > " + CurEnemy.ToString());
 }
    public void InviteAFriend(string nodeFriend)
    {
        NodeUser usr = GetFriend(nodeFriend);

        if (usr == null)
        {
            return;
        }
        MySocket.ActionInvite(usr.id);
        AmHost = true;
    }
示例#4
0
    public Dictionary <string, string> GetCurrentNodeUserDic(bool statusOnly, string statusGame = "ONLINE")
    {
        string   kkoNick = MyUser.WAS.KkoNick == null || MyUser.WAS.KkoNick.Length == 0 ? "No name" : MyUser.WAS.KkoNick;
        NodeUser noUser  = new NodeUser()
        {
            id         = Ag.mGuest ? MyUser.DeviceID : MyUser.WAS.KkoID,
            country    = MyUser.WAS.Country,
            teamName   = MyUser.WAS.TeamName,
            league     = MyUser.WAS.League,
            kkoNick    = Ag.mGuest ? "No name" : MyUser.WAS.KkoNick,
            profileURL = Ag.mGuest ? "NO" : MyUser.WAS.profileURL,
            rankObj    = MyUser.myRank.WAS,
            gameStatus = statusGame
        };

        return(noUser.GetDicObj(statusOnly));
    }
 public bool?MatchOKwith(string friendID)
 {
     for (int k = 0; k < MySocket.arrFriends.Count; k++)
     {
         NodeUser curFrnd = MySocket.arrFriends [k];
         if (curFrnd.id == friendID)
         {
             if (curFrnd.gameStatus == "ONLINE")
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     return(null);
 }
示例#6
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);
    }