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); } }
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; }
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]; } }
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); }
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); } }
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]; } } }
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; } }
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); }
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); }); } }