Exemplo n.º 1
0
    void ChangeRuleInfo(int pick, bool ison, ESlefContestType constType)
    {
        if (ison)
        {
            byte      CurGameId      = 0;
            Transform groupTransform = null;
            switch (constType)
            {
            case ESlefContestType.TimeContest:
                CurGameId      = (byte)TimeMatchGameIdData[pick];
                groupTransform = rulepanel2_.transform.Find("Right");
                break;

            case ESlefContestType.PlayerNumberContest:
                CurGameId      = (byte)PlayerNumberMatchGameIdData[pick];
                groupTransform = rulepanel1_.transform.Find("Right");
                break;
            }

            int lastIndex = groupTransform.childCount - 1;
            for (int index = 0; index < groupTransform.childCount; index++)
            {
                GameObject child = groupTransform.GetChild(index).gameObject;
                child.SetActive(lastIndex == index || pick == index);
            }

            SelfContestDataManager.instance().gameid = CurGameId;
            CurContestGameIndex = pick;
            SelfContestDataManager.instance().SetGameDataID((int)constType * 3 + pick);

            RefreshPayInfo(1, constType);
            RefreshPlayerNumber(CurGameId, constType);
            RefreshContestTime(groupTransform.parent);
        }
    }
Exemplo n.º 2
0
    void RefreshPayInfo(int levelindex, ESlefContestType contestType)
    {
        Transform groupTransform = null;

        switch (contestType)
        {
        case ESlefContestType.TimeContest:
            groupTransform = rulepanel2_.transform.Find("Right");
            break;

        case ESlefContestType.PlayerNumberContest:
            groupTransform = rulepanel1_.transform.Find("Right");
            break;
        }

        byte gameid = SelfContestDataManager.instance().gameid;
        int  power  = SelfContestDataManager.instance().selfcontestcsvs[gameid].datas[0];
        int  level  = SelfContestDataManager.instance().selfcontestcsvs[gameid].datas[levelindex];

        int pay4appointment = power * level;

        groupTransform.Find("ImageBG/Button_chuangjian").gameObject.SetActive(pay4appointment > 0);
        groupTransform.Find("ImageBG/Button_chuangjian_0").gameObject.SetActive(pay4appointment <= 0);

        Text pay = groupTransform.Find("ImageBG/ImageBGcost").Find("Textnum").gameObject.GetComponent <Text>();

        pay.text = pay4appointment.ToString();

        playtimesindex_ = (byte)levelindex;
    }
Exemplo n.º 3
0
    public void InitMatchData(ESlefContestType ContestType)
    {
        GameKind_Enum[] GameKindArray = null;
        switch (ContestType)
        {
        case ESlefContestType.TimeContest:
            GameKindArray = TimeMatchGameIdData;
            break;

        case ESlefContestType.PlayerNumberContest:
            GameKindArray = PlayerNumberMatchGameIdData;
            break;
        }
        int GameKey = 0;

        for (int index = 0; index < GameKindArray.Length; ++index)
        {
            GameKey = (int)ContestType * 10000 + (int)GameKindArray[index];
            if (!CurMatchDataDictionary.ContainsKey(GameKey))
            {
                SelfContestRule contestData = new SelfContestRule();
                CurMatchDataDictionary.Add(GameKey, contestData);
            }
            CurMatchDataDictionary[GameKey].playernumber = 0;
            switch (GameKindArray[index])
            {
            case GameKind_Enum.GameKind_LandLords:
            {
                if (ContestType == ESlefContestType.PlayerNumberContest)
                {
                    CurMatchDataDictionary[GameKey].playernumber = SelfContestRule.llrplayerNumberList[0];
                }
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.llrprecontestList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.llrprecontestList[0];
            }
            break;

            case GameKind_Enum.GameKind_GuanDan:
            {
                if (ContestType == ESlefContestType.PlayerNumberContest)
                {
                    CurMatchDataDictionary[GameKey].playernumber = SelfContestRule.gdplayerNumberList[0];
                }
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.gdprecontestList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.gdprecontestList[0];
            }
            break;

            case GameKind_Enum.GameKind_Chess:
            {
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.gdprecontestChessList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.gdprecontestChessList[0];
            }
            break;
            }
            CurMatchDataDictionary[GameKey].cost = SelfContestRule.costList[0];
        }
    }
Exemplo n.º 4
0
    void InitRulePanel(ESlefContestType createtype)
    {
        switch (createtype)
        {
        case ESlefContestType.PlayerNumberContest:
        {
            GameObject returnBtn1 = rulepanel1_.transform.Find("Top/ButtonReturn").gameObject;
            XPointEvent.AutoAddListener(returnBtn1, OnBack2SelfContest, null);

            Text diamond1 = rulepanel1_.transform.Find("Top/Image_DiamondFrame/Text_Diamond").gameObject.GetComponent <Text>();
            diamond1.text = (GameMain.hall_.GetPlayerData().GetDiamond() + GameMain.hall_.GetPlayerData().GetCoin()).ToString();

            GameObject togglebg1 = rulepanel1_.transform.Find("Left").gameObject;
            for (int index = 0; index < togglebg1.transform.childCount; index++)
            {
                Toggle toggle = togglebg1.transform.GetChild(index).gameObject.GetComponent <Toggle>();
                int    temp   = index;
                toggle.onValueChanged.AddListener(delegate(bool value) {
                        CustomAudio.GetInstance().PlayCustomAudio(1003);
                        ChangeRuleInfo(temp, value, createtype);
                    });
            }
            InitRightRuleEvents(rulepanel1_, createtype);
        }
        break;

        case ESlefContestType.TimeContest:
        {
            GameObject returnBtn2 = rulepanel2_.transform.Find("Top/ButtonReturn").gameObject;
            XPointEvent.AutoAddListener(returnBtn2, OnBack2SelfContest, null);

            Text diamond2 = rulepanel2_.transform.Find("Top/Image_DiamondFrame/Text_Diamond").gameObject.GetComponent <Text>();
            diamond2.text = (GameMain.hall_.GetPlayerData().GetDiamond() + GameMain.hall_.GetPlayerData().GetCoin()).ToString();

            GameObject togglebg2 = rulepanel2_.transform.Find("Left").gameObject;
            for (int index = 0; index < togglebg2.transform.childCount; index++)
            {
                Toggle toggle = togglebg2.transform.GetChild(index).gameObject.GetComponent <Toggle>();
                int    temp   = index;
                toggle.onValueChanged.AddListener(delegate(bool value) {
                        CustomAudio.GetInstance().PlayCustomAudio(1003);
                        ChangeRuleInfo(temp, value, createtype);
                    });
            }

            InitRightRuleEvents(rulepanel2_, createtype);
        }
        break;
        }
        InitMatchData(createtype);
        SelfContestDataManager.instance().gameid = (byte)GameKind_Enum.GameKind_LandLords;
        RefreshPayInfo(1, createtype);
        RefreshPlayerNumber(SelfContestDataManager.instance().gameid, createtype);
        CurContestGameIndex = 0;
        SelfContestDataManager.instance().SetGameDataID((int)createtype * 3);
    }
Exemplo n.º 5
0
    private void OnPickContestType(EventTriggerType eventtype, object button, PointerEventData eventData)
    {
        if (eventtype == EventTriggerType.PointerClick)
        {
            CustomAudio.GetInstance().PlayCustomAudio(1002);

            ESlefContestType createtype = (ESlefContestType)button;

            LoadRulePanel(createtype);

            if (rulepanel1_ != null)
            {
                rulepanel1_.SetActive(false);
            }
            if (rulepanel2_ != null)
            {
                rulepanel2_.SetActive(false);
            }

            createPanel_.SetActive(false);

            int SelfGameDataIndex = ((int)createtype) * 3 + CurContestGameIndex;
            SelfContestDataManager.instance().SetGameDataID(SelfGameDataIndex);
            switch (createtype)
            {
            case ESlefContestType.TimeContest:
            {
                rulepanel2_.SetActive(true);
                GameObject BG = rulepanel2_.transform.Find("Right").gameObject;
                for (int index = 0; index < 3; index++)
                {
                    Text texttips = BG.transform.GetChild(index).Find("shijian/Text_tips").gameObject.GetComponent <Text>();
                    RefreshContestTimeTipsText(texttips);
                }
            }
            break;

            case ESlefContestType.PlayerNumberContest:
            {
                rulepanel1_.SetActive(true);
            }
            break;
            }

            UnityEngine.Transform groupTransform = rulepanel1_ ? rulepanel1_.transform : rulepanel2_.transform;
            groupTransform.Find("Right/ImageBG/Button_chuangjian").GetComponent <Button>().interactable   = true;
            groupTransform.Find("Right/ImageBG/Button_chuangjian_0").GetComponent <Button>().interactable = true;
            RefreshContestTime(groupTransform);
        }
    }
Exemplo n.º 6
0
    void RefreshPlayerNumber(int pick, ESlefContestType constType, bool updateState = false)
    {
        int GameKey = (int)constType * 10000 + pick;

        if (CurMatchDataDictionary.ContainsKey(GameKey))
        {
            if (updateState)
            {
                CurMatchDataDictionary[GameKey] = scr_;
            }
            else
            {
                scr_ = CurMatchDataDictionary[GameKey];
            }
        }
    }
Exemplo n.º 7
0
    void LoadRulePanel(ESlefContestType createtype)
    {
        AssetBundle bundle = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName);

        if (bundle == null)
        {
            return;
        }
        GameObject CanvasObj = GameObject.Find("Canvas/Root");

        switch (createtype)
        {
        case ESlefContestType.TimeContest:
        {
            if (rulepanel2_ == null)
            {
                UnityEngine.Object obj1 = (GameObject)bundle.LoadAsset("CreateGame_rule_2");
                rulepanel2_ = (GameObject)GameMain.instantiate(obj1);

                rulepanel2_.transform.SetParent(CanvasObj.transform, false);
                rulepanel2_.SetActive(false);
                InitRulePanel(createtype);
                GameMain.safeDeleteObj(rulepanel1_);
            }
        }
        break;

        case ESlefContestType.PlayerNumberContest:
        {
            if (rulepanel1_ == null)
            {
                UnityEngine.Object obj0 = (GameObject)bundle.LoadAsset("CreateGame_rule_1");
                rulepanel1_ = (GameObject)GameMain.instantiate(obj0);
                rulepanel1_.transform.SetParent(CanvasObj.transform, false);
                rulepanel1_.SetActive(false);
                InitRulePanel(createtype);
                GameMain.safeDeleteObj(rulepanel2_);
            }
        }
        break;
        }
    }
Exemplo n.º 8
0
    void InitRightRuleEvents(GameObject rulepanel, ESlefContestType createtype)
    {
        UnityEngine.Transform rightTransform = rulepanel.transform.Find("Right");

        Button createBtn = rightTransform.Find("ImageBG/Button_chuangjian").GetComponent <Button>();

        createBtn.onClick.AddListener(() => { OnCreateContest(); });

        Button createBtn0 = rightTransform.Find("ImageBG/Button_chuangjian_0").GetComponent <Button>();

        createBtn0.onClick.AddListener(() => { OnCreateContest(); });

        if (createtype == ESlefContestType.TimeContest)
        {
            GameObject closetimesetbtn = rulepanel.transform.Find("Pop-up/shijian_set/UiRootBG").gameObject;
            XPointEvent.AutoAddListener(closetimesetbtn, OnCloseTimeSet, rulepanel);
            RefreshContestTime(rulepanel.transform);
        }

        InitRuleEvent(rightTransform.Find("rule_7"), createtype, GameKind_Enum.GameKind_LandLords);
        InitRuleEvent(rightTransform.Find("rule_13"), createtype, GameKind_Enum.GameKind_GuanDan);
        InitRuleEvent(rightTransform.Find("rule_13_1"), createtype, GameKind_Enum.GameKind_GuanDan);
        InitRuleEvent(rightTransform.Find("rule_20"), createtype, GameKind_Enum.GameKind_Chess);
    }
Exemplo n.º 9
0
    void InitRuleEvent(Transform rulebg, ESlefContestType createtype, GameKind_Enum gameKind)
    {
        if (rulebg == null)
        {
            return;
        }
        switch (createtype)
        {
        case ESlefContestType.TimeContest:
        {
            GameObject timebtn = rulebg.Find("shijian/Button_TimeSet").gameObject;
            XPointEvent.AutoAddListener(timebtn, OnOpenTimeSet, rulebg);
        }
        break;

        case ESlefContestType.PlayerNumberContest:
        {
            GameObject llfirstGroup = rulebg.Find("renshu").Find("ImageBG").gameObject;
            for (int index = 0; index < llfirstGroup.transform.childCount; index++)
            {
                Toggle toggle = llfirstGroup.transform.GetChild(index).gameObject.GetComponent <Toggle>();
                int    temp   = index;
                toggle.onValueChanged.AddListener(delegate(bool value)
                    {
                        CustomAudio.GetInstance().PlayCustomAudio(1004);
                        switch (gameKind)
                        {
                        case GameKind_Enum.GameKind_LandLords:
                            scr_.playernumber = SelfContestRule.llrplayerNumberList[temp];
                            break;

                        case GameKind_Enum.GameKind_GuanDan:
                            scr_.playernumber = SelfContestRule.gdplayerNumberList[temp];
                            break;
                        }
                        RefreshPlayerNumber((int)gameKind, createtype, true);
                    });
            }
        }
        break;
        }
        GameObject llsecondGroup = rulebg.Find("yusai").Find("ImageBG").gameObject;

        for (int index = 0; index < llsecondGroup.transform.childCount; index++)
        {
            Toggle toggle = llsecondGroup.transform.GetChild(index).gameObject.GetComponent <Toggle>();
            int    temp   = index;
            toggle.onValueChanged.AddListener(delegate(bool vale) {
                CustomAudio.GetInstance().PlayCustomAudio(1004);
                switch (gameKind)
                {
                case GameKind_Enum.GameKind_LandLords:
                    scr_.precontest = SelfContestRule.llrprecontestList[temp];
                    break;

                case GameKind_Enum.GameKind_GuanDan:
                    scr_.precontest = SelfContestRule.gdprecontestList[temp];
                    break;

                case GameKind_Enum.GameKind_Chess:
                    scr_.precontest   = SelfContestRule.gdprecontestChessList[temp];
                    scr_.finalcontest = scr_.precontest;
                    break;
                }
                RefreshPlayerNumber((int)gameKind, createtype, true);
            });
        }

        GameObject llthirdGroup = rulebg.Find("juesai").Find("ImageBG").gameObject;

        for (int index = 0; index < llthirdGroup.transform.childCount; index++)
        {
            Toggle toggle = llthirdGroup.transform.GetChild(index).gameObject.GetComponent <Toggle>();
            int    temp   = index;
            toggle.onValueChanged.AddListener(delegate(bool vale) {
                CustomAudio.GetInstance().PlayCustomAudio(1004);
                switch (gameKind)
                {
                case GameKind_Enum.GameKind_LandLords:
                    scr_.finalcontest = SelfContestRule.llrprecontestList[temp];
                    break;

                case GameKind_Enum.GameKind_GuanDan:
                    scr_.finalcontest = SelfContestRule.gdprecontestList[temp];
                    break;

                case GameKind_Enum.GameKind_Chess:
                    scr_.finalcontest = SelfContestRule.gdprecontestChessList[temp];
                    break;
                }
                RefreshPlayerNumber((int)gameKind, createtype, true);
            });
        }

        GameObject llforthGroup = rulebg.Find("feiyong").Find("ImageBG").gameObject;

        for (int index = 0; index < llforthGroup.transform.childCount; index++)
        {
            Toggle toggle = llforthGroup.transform.GetChild(index).gameObject.GetComponent <Toggle>();
            int    temp   = index;
            toggle.onValueChanged.AddListener(delegate(bool vale) {
                CustomAudio.GetInstance().PlayCustomAudio(1004);
                scr_.cost = SelfContestRule.costList[temp];
                RefreshPlayerNumber((int)gameKind, createtype, true);
            });
        }
    }