Esempio n. 1
0
    public void updateGuessNumbers()
    {
        int now = ServerTimeKit.getSecondTime();

        for (int i = 0; i < 5; i++)
        {
            List <ArenaFinalInfo> infoList = allInfoList [i];
            int count = 0;
            for (int j = 0; j < infoList.Count - 1; j += 2)
            {
                ArenaFinalInfo info = infoList [j].hasUser() ? infoList [j] : infoList [j + 1];
                if (info.guessStartTime + 60 <= now && now <= info.guessEndTime)
                {
                    guessTapIndex = i;
                    if (!(infoList [j].guessed || infoList [j + 1].guessed))
                    {
                        count++;
                    }
                }
            }
            guessNumbers [i].transform.parent.gameObject.SetActive(count > 0);
            if (count > 0)
            {
                guessNumbers [i].text = count.ToString();
            }
        }
    }
Esempio n. 2
0
 public ArenaFinalInfo[] getFinalInfo(int star, int len)
 {
     ArenaFinalInfo[] infos = new ArenaFinalInfo[len];
     for (int i = 0; i < len; i++)
     {
         infos[i] = finalInfoList[star + i];
     }
     return(infos);
 }
Esempio n. 3
0
    private void initAllInfoList()
    {
        bool findMe = false;

        allInfoList = new List <ArenaFinalInfo> [5];
        for (int i = 0; i < 5; i++)
        {
            List <ArenaFinalInfo> infoList = new List <ArenaFinalInfo> ();
            ArenaFinalInfo[][]    infoListArr;
            if (i <= 3)
            {
                infoListArr = new ArenaFinalInfo[5][];
                addArenaFinalInfo(infoList, infoListArr [0] = am.getFinalInfo(i * 16, 16));
                addArenaFinalInfo(infoList, infoListArr [1] = am.getFinalInfo(i * 8 + 64, 8));
                addArenaFinalInfo(infoList, infoListArr [2] = am.getFinalInfo(i * 4 + 96, 4));
                addArenaFinalInfo(infoList, infoListArr [3] = am.getFinalInfo(i * 2 + 112, 2));
                addArenaFinalInfo(infoList, infoListArr [4] = am.getFinalInfo(i + 120, 1));
            }
            else
            {
                infoListArr = new ArenaFinalInfo[3][];
                addArenaFinalInfo(infoList, infoListArr [0] = am.getFinalInfo(120, 4));
                addArenaFinalInfo(infoList, infoListArr [1] = am.getFinalInfo(124, 2));
                addArenaFinalInfo(infoList, infoListArr [2] = am.getFinalInfo(126, 1));
            }
            allInfoList [i] = infoList;

            for (int j = 0; j < infoListArr.Length; j++)
            {
                foreach (ArenaFinalInfo info in infoListArr[j])
                {
                    if (i <= 3)
                    {
                        info.finalState = ArenaManager.STATE_64_32 + j;
                    }
                    else
                    {
                        info.finalState = ArenaManager.STATE_4_2 + j;
                    }

                    if (!findMe && info.uid == UserManager.Instance.self.uid)
                    {
                        findMe      = true;
                        myRank      = info.finalState - 1;
                        myTeamIndex = i;
                    }
                }
            }
        }
        lblRank.text = LanguageConfigManager.Instance.getLanguage("Arena45") + " : " + LanguageConfigManager.Instance.getLanguage("Arena14_" + myRank + "_2");
    }
Esempio n. 4
0
 public void init(ArenaFinalInfo info)
 {
     this.info = info;
     window.map.addPoint(gameObject, info.finalState == ArenaManager.STATE_RESET, ((obj) => {
         point3d = obj;
     }));
     if (string.IsNullOrEmpty(info.userName))
     {
         lblRoleName.transform.parent.gameObject.SetActive(false);
     }
     else
     {
         lblRoleName.transform.parent.gameObject.SetActive(true);
         lblRoleName.text = info.userName;
         role3d           = window.map.addRole(info.userIcon, gameObject);
     }
 }
Esempio n. 5
0
    public void init(ArenaReplayInfo replayInfo, ArenaFinalInfo info, CallBack callback)
    {
        this.callback   = callback;
        this.info       = info;
        this.replayInfo = replayInfo;

        if (replayInfo.user1.win)
        {
            winer = replayInfo.user1;
            loser = replayInfo.user2;
        }
        else
        {
            winer = replayInfo.user2;
            loser = replayInfo.user1;
        }

        lblTitle.text = winer.score + " : " + loser.score;
    }
Esempio n. 6
0
    public void init(ArenaFinalPoint point)
    {
        this.point = point;
        this.info  = point.ParentPoint.info;

        string str   = LanguageConfigManager.Instance.getLanguage("Arena14_" + info.finalState);
        string award = ArenaAwardSampleManager.Instance.getGuessPrizeDescription(info.finalState) + "\n";
        string text  = LanguageConfigManager.Instance.getLanguage("Arena21", str, award);

        lblExplanation.text = text;

        for (int i = 0; i < lblButton.Length; i++)
        {
            lblButton [i].text = LanguageConfigManager.Instance.getLanguage("Arena12");
        }

        for (int i = 0; i < lblSelect.Length; i++)
        {
            lblSelect [i].text = LanguageConfigManager.Instance.getLanguage("Arena13");
        }
    }
Esempio n. 7
0
    /** 计算竞技场可竞猜数 */
    public static int computeGuessNumber()
    {
        if (ArenaManager.instance.finalInfoList == null)
        {
            return(0);
        }
        List <ArenaFinalInfo>[] allInfoList = new List <ArenaFinalInfo> [5];
        for (int i = 0; i < 5; i++)
        {
            List <ArenaFinalInfo> infoList = new List <ArenaFinalInfo> ();
            ArenaFinalInfo[][]    infoListArr;
            ArenaFinalInfo[]      infos;
            if (i <= 3)
            {
                infoListArr = new ArenaFinalInfo[5][];
                infos       = ArenaManager.instance.getFinalInfo(i * 16, 16);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(i * 8 + 64, 8);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(i * 4 + 96, 4);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(i * 2 + 112, 2);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(i + 120, 1);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
            }
            else
            {
                infoListArr = new ArenaFinalInfo[3][];
                infos       = ArenaManager.instance.getFinalInfo(120, 4);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(124, 2);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
                infos = ArenaManager.instance.getFinalInfo(126, 1);
                if (infos != null)
                {
                    addArenaFinalInfo(infoList, infos);
                }
            }
            allInfoList [i] = infoList;
        }
        int now   = ServerTimeKit.getSecondTime();
        int count = 0;

        for (int i = 0; i < 5; i++)
        {
            List <ArenaFinalInfo> infoList = allInfoList [i];
            for (int j = 0; j < infoList.Count - 1; j += 2)
            {
                ArenaFinalInfo info = infoList [j].hasUser() ? infoList [j] : infoList [j + 1];
                if (info.guessStartTime + 60 <= now && now <= info.guessEndTime)
                {
                    if (!(infoList [j].guessed || infoList [j + 1].guessed))
                    {
                        count++;
                    }
                }
            }
        }
        return(count);
    }
Esempio n. 8
0
    private IEnumerator initData(int index)
    {
        pointRoot.GetComponent <UIScrollView> ().ResetPosition();
        yield return(1);

        map.clear();
        if (focusGuess == null)
        {
            focusGuess = new ArenaFocusGuess();
        }
        else
        {
            focusGuess.Clear();
        }
        Utils.DestoryChilds(pointRoot);
        ArenaFinalInfo[][] infos;
        if (index <= 3)
        {
            infos     = new ArenaFinalInfo[5][];
            infos [0] = am.getFinalInfo(index * 16, 16);
            infos [1] = am.getFinalInfo(index * 8 + 64, 8);
            infos [2] = am.getFinalInfo(index * 4 + 96, 4);
            infos [3] = am.getFinalInfo(index * 2 + 112, 2);
            infos [4] = am.getFinalInfo(index + 120, 1);
        }
        else
        {
            infos     = new ArenaFinalInfo[3][];
            infos [0] = am.getFinalInfo(120, 4);
            infos [1] = am.getFinalInfo(124, 2);
            infos [2] = am.getFinalInfo(126, 1);
        }
        ArenaFinalPoint[][] points = new ArenaFinalPoint[infos.Length][];
        for (int i = 0; i < points.Length; i++)
        {
            points [i] = new ArenaFinalPoint[infos [i].Length];
        }
        Vector3 postion = new Vector3(-263, 62, 0);

        //bool isFocusCuess = false;
        for (int i = 0; i < infos.Length; i++)
        {
            for (int j = 0; j < infos[i].Length; j++)
            {
                ArenaFinalInfo info = infos [i] [j];
                GameObject     obj  = NGUITools.AddChild(pointRoot, rolePointPrefab);
                obj.name = "rolepoint_" + (i * 100) + j;
                obj.SetActive(true);
                if (i == 0)
                {
                    obj.transform.localPosition = postion + new Vector3(0, j * -233, 0);
                }
                else
                {
                    ArenaFinalPoint paren1 = points [i - 1] [j * 2];
                    ArenaFinalPoint paren2 = points [i - 1] [j * 2 + 1];
                    float           len    = (paren2.transform.localPosition.y - paren1.transform.localPosition.y) / 2;
                    obj.transform.localPosition = paren1.transform.localPosition + new Vector3(200, len, 0);
                }
                ArenaFinalPoint point = obj.GetComponent <ArenaFinalPoint> ();
                point.window = this;
                point.init(info);
                points [i] [j] = point;
                if (i > 0)
                {
                    ArenaFinalPoint paren1 = points [i - 1] [j * 2];
                    ArenaFinalPoint paren2 = points [i - 1] [j * 2 + 1];
                    point.initParent(paren1, paren2);
                    if (point.buttonGuess.activeInHierarchy)
                    {
                        focusGuess.AddFocusCuessPoint(point.gameObject.transform.localPosition, i, j, point.guessNum.activeInHierarchy, index, obj.name);
                    }
                }
                chanPoint = point;
                if (info.uid == UserManager.Instance.self.uid)
                {
                    myPoint = point;
                }
                yield return(1);
            }
        }
        focusGuess.SortFocusCuess();
        ResetSpringPanel();
        updateGuessNumbers();
        if (am.state == ArenaManager.STATE_RESET && am.tapIndex == 4)
        {
            lookChanPosition();
            chanPoint.chanName.text = LanguageConfigManager.Instance.getLanguage("Arena80", chanPoint.lblRoleName.text);
            chanPoint.chanName.gameObject.SetActive(true);
            chanPoint.timecd.text = lblNextCD.text;
            chanPoint.nextTime.gameObject.SetActive(true);
            EndLabel.text = LanguageConfigManager.Instance.getLanguage("Arena73");
            EndLabel.gameObject.SetActive(true);
        }
        MaskWindow.UnlockUI();
    }
Esempio n. 9
0
    public override void read(ErlKVMessage message)
    {
        ErlArray array = message.getValue("msg") as ErlArray;

        if (array != null)
        {
            ArenaManager.instance.self = null;
            int state = ArenaManager.instance.state = StringKit.toInt(array.Value[0].getValueString());
            ArenaManager.instance.stateEndTime = StringKit.toInt(array.Value[1].getValueString());
            ArenaManager.instance.finalRound   = StringKit.toInt(array.Value[2].getValueString());
            ArenaManager.instance.finalCD      = StringKit.toInt(array.Value[3].getValueString()) + 60;
            if (ArenaManager.instance.finalCD < 60)
            {
                ArenaManager.instance.finalDelay = ArenaManager.instance.finalCD;
            }
            else
            {
                ArenaManager.instance.finalDelay = 0;
            }

            if (state >= ArenaManager.STATE_64_32 && state <= ArenaManager.STATE_RESET)
            {
                array = array.Value[4] as ErlArray;
                ArenaManager.instance.finalInfoList = new List <ArenaFinalInfo>();
                for (int i = 0; i < 127; i++)
                {
                    int            pos  = 0;
                    ErlArray       arr  = array.Value[i] as ErlArray;
                    ArenaFinalInfo info = new ArenaFinalInfo();
                    info.startTime = StringKit.toInt(arr.Value[pos++].getValueString());

                    if (arr.Value.Length > 2)
                    {
                        info.guessStartTime = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.guessEndTime   = StringKit.toInt(arr.Value[pos++].getValueString());

                        info.uid      = arr.Value[pos++].getValueString();
                        info.userName = arr.Value[pos++].getValueString();
                        info.userIcon = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.lose     = bool.Parse(arr.Value[pos++].getValueString());
                        info.index    = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.guessed  = bool.Parse(arr.Value[pos++].getValueString());
                    }
                    else if (arr.Value[pos].getValueString() != "none")
                    {
                        info.userId = arr.Value[pos].getValueString();
                    }
                    ArenaManager.instance.finalInfoList.Add(info);
                }
            }
            else
            {
                ArenaManager.instance.finalInfoList = null;
            }
        }
        else
        {
            ArenaManager.instance.finalInfoList = null;
            ArenaManager.instance.state         = -1;
        }
        if (callback != null)
        {
            callback();
            callback = null;
        }
    }