private void Awake() { mMask = transform.Find("Mask").gameObject; mContent = transform.Find("Content"); //遮罩事件 EventTrigger.Get(mMask).onClick = (obj) => { //那所有色块反过来 SetAllBlockState(true); //隐藏遮罩 mMask.SetActive(false); }; //获取所有色块 for (int idx = 0; idx < mContent.childCount; idx++) { Transform tmpBlock = mContent.Find(idx.ToString()); //先隐藏吧 //tmpBlock.gameObject.SetActive(false); blockList.Add(tmpBlock); blockState.Add(tmpBlock, false); //注册回调函数 EventTrigger.Get(tmpBlock.gameObject).onClick = (obj) => { ClickBlock(obj, blockList.IndexOf(obj.transform)); }; } //读取配置表数据 playData = PlayDataConfig.Instance.GetDataByID(GetPlayID()); }
public void RefreshUI(int _innings, rep_message_start_game _playInfo) { this.innings = _innings; this.playInfo = _playInfo; //初始界面状态 SetUIState(0); //我的头像 if (!string.IsNullOrEmpty(PlayerData.userIcon)) { var headIcon = transform.Find("PlayerInfo/LeftHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, PlayerData.userIcon)); } //对手头像 struct_player_info opponentInfo = this.playInfo.PlayerInfo; if (!string.IsNullOrEmpty(opponentInfo.UserIcon)) { var headIcon = transform.Find("PlayerInfo/RightHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, opponentInfo.UserIcon)); } //加载玩法prefab play_data playData = PlayDataConfig.Instance.GetDataByID(this.playInfo.PlayId); UIManager.OpenUI(playData.PrefabPath, playUI, (uiObj) => { playBase = uiObj.transform.GetComponent <PlayBase>(); playBase.answerFinish = AnswerFinish; }); }
public play_data GetDataByID(int id) { play_data retData = null; if (_dataDict.TryGetValue(id, out retData)) { return(retData); } return(null); }
static int GetDataByID(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); PlayDataConfig obj = (PlayDataConfig)ToLua.CheckObject <PlayDataConfig>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); play_data o = obj.GetDataByID(arg0); ToLua.PushSealed(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
// Use this for initialization void Start() { game_start = false; audSource = GetComponent <AudioSource> (); moves_remain = 2; whosturn = 0; instance = this; //SetupBlankBoard(14, 10); for (int p = 0; p < 4; p++) { tiles_owned[p] = 0; for (int q = 0; q < 3; q++) { player_resource[p, q] = 0; player_income[p, q] = 0; } } }
/// <summary> /// 设置界面状态 /// </summary> /// <param name="_state">0.介绍阶段,1.游戏阶段</param> private void SetUIState(int _state) { this.state = _state; introUI.gameObject.SetActive(0 == this.state); playUI.gameObject.SetActive(1 == this.state); if (0 == this.state) { SetCountdownTime(this.playInfo.IntroEndTime); //设置玩法介绍image play_data playData = PlayDataConfig.Instance.GetDataByID(this.playInfo.PlayId); Function.SetImageSprite(introUI.Find("PlayIntro/Image").GetComponent <Image>(), playData.IntroIcon); } else { SetCountdownTime(this.playInfo.EndTime); //开始玩 playBase.StartPlay(); } }
private void Awake() { mContent3x3 = transform.Find("Content3x3"); mContent4x4 = transform.Find("Content4x4"); //获取所有色块 for (int idx = 0; idx < mContent3x3.childCount; idx++) { blockID3x3[idx] = idx; Transform tmpBlock = mContent3x3.Find(idx.ToString()); //先隐藏吧 blockList3x3.Add(tmpBlock); //注册回调函数 EventTrigger.Get(tmpBlock.gameObject).onClick = (obj) => { ClickBlock(3, obj, blockList3x3.IndexOf(obj.transform)); }; } for (int idx = 0; idx < mContent4x4.childCount; idx++) { blockID4x4[idx] = idx; Transform tmpBlock = mContent4x4.Find(idx.ToString()); //先隐藏吧 blockList4x4.Add(tmpBlock); //注册回调函数 EventTrigger.Get(tmpBlock.gameObject).onClick = (obj) => { ClickBlock(4, obj, blockList4x4.IndexOf(obj.transform)); }; } //读取配置表数据 playData = PlayDataConfig.Instance.GetDataByID(GetPlayID()); //读取所有颜色 allColor = new Color[playData.Param5.Count / 4]; for (int i = 0; i < playData.Param5.Count; i += 4) { allColor[i / 4] = (new Color(playData.Param5[i], playData.Param5[i + 1], playData.Param5[i + 2], playData.Param5[i + 3]) / 255f); } }
private void Awake() { mMask = transform.Find("Mask").gameObject; mContent = transform.Find("Content"); //获取所有色块 for (int idx = 0; idx < mContent.childCount; idx++) { Transform tmpBlock = mContent.Find(idx.ToString()); //先隐藏吧 tmpBlock.gameObject.SetActive(false); blockList.Add(tmpBlock); //注册回调函数 EventTrigger.Get(tmpBlock.gameObject).onClick = (obj) => { obj.transform.GetComponent <Flashing>().Play(() => { ClickBlock(obj, blockList.IndexOf(obj.transform)); }); }; } //读取配置表数据 playData = PlayDataConfig.Instance.GetDataByID(GetPlayID()); }
public void RefreshUI(rep_message_start_ready readyInfo) { struct_player_info opponentInfo = readyInfo.PlayerInfo; Debug.Log("UIReady.RefreshUI readyInfo = " + readyInfo); //我的头像 if (!string.IsNullOrEmpty(PlayerData.userIcon)) { var headIcon = transform.Find("PlayerInfo/LeftHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, PlayerData.userIcon)); } //对手头像 if (!string.IsNullOrEmpty(opponentInfo.UserIcon)) { var headIcon = transform.Find("PlayerInfo/RightHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, opponentInfo.UserIcon)); } //倒计时 float totalTime = (float)(readyInfo.StartTime - Function.GetServerTime()); Image countdownImage = transform.Find("Countdown/Bar").GetComponent <Image>(); Scheduler.Instance.CreateScheduler("UIReady.Countdown", 0, 0, 0.01f, (param) => { float lastTime = (float)(readyInfo.StartTime - Function.GetServerTime()); countdownImage.fillAmount = lastTime / totalTime; //Debug.Log("UIReady.Countdown lastTime = " + lastTime + " totalTime = " + totalTime); if (countdownImage.fillAmount <= 0) { Scheduler.Instance.Stop("UIReady.Countdown"); //请求开始 CommonRequest.ReqSatrtGame(readyInfo.Innings, (repMsg) => { //关闭UI //this.Close(); }); } }); //第几回合 transform.Find("Countdown/Text").GetComponent <Text>().text = Language.GetTextByKey(InningsTextKey[readyInfo.Innings]); //展示要随机的玩法 playViewList.RegisterInitCallback((Transform obj, int index) => { int playID = readyInfo.RandPlayId[index]; //获取配置 play_data playData = PlayDataConfig.Instance.GetDataByID(playID); //icon Function.SetImageSprite(obj.Find("Icon/Image").GetComponent <Image>(), playData.Icon); //名字 obj.Find("Name").GetComponent <Text>().text = playData.Name; }); //刷新列表 playViewList.totalCount = readyInfo.RandPlayId.Count; playViewList.RefillCells(); //随机选中玩法 int randCount = 0; Transform randRoot = transform.Find("RandPlay/Viewport/Content"); Scheduler.Instance.CreateScheduler("UIReady.RandPlay", 0, 0, 0.3f, (param) => { for (int idx = 0; idx < randRoot.childCount; idx++) { randRoot.GetChild(idx).Find("Icon/Choose").gameObject.SetActive(idx == randCount); } if (readyInfo.RandPlayId[randCount] == readyInfo.PlayId && readyInfo.StartTime - Function.GetServerTime() < 1.0) { //结束定时器 Scheduler.Instance.Stop("UIReady.RandPlay"); //播放一个放大效果 ScaleTo scaleTo = randRoot.GetChild(randCount).Find("Icon").GetComponent <ScaleTo>(); scaleTo.Play(); } randCount = (randCount + 1) % readyInfo.RandPlayId.Count; }); }
//刷新界面 public void RefreshUI(rep_message_game_end _endInfo) { this.endInfo = _endInfo; //我的头像 if (!string.IsNullOrEmpty(PlayerData.userIcon)) { var headIcon = transform.Find("PlayerInfo/LeftHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, PlayerData.userIcon)); } //对手头像 struct_player_info opponentInfo = this.endInfo.PlayerInfo; if (!string.IsNullOrEmpty(opponentInfo.UserIcon)) { var headIcon = transform.Find("PlayerInfo/RightHeadImage/Mask/Image").GetComponent <Image>(); StartCoroutine(Function.DownloadImage(headIcon, opponentInfo.UserIcon)); } //名字 transform.Find("PlayerInfo/LeftHeadImage/Name").GetComponent <Text>().text = PlayerData.userName; transform.Find("PlayerInfo/RightHeadImage/Name").GetComponent <Text>().text = endInfo.PlayerInfo.UserName; //定时器依次展示各局分数 float leftSum = 0; float rightSum = 0; for (int i = 0; i < endInfo.LeftGrade.Count; i++) { //玩法名 play_data playData = PlayDataConfig.Instance.GetDataByID(endInfo.PlayList[i]); transform.Find(string.Format("GradeList/{0}/Name", i)).GetComponent <Text>().text = playData.Name; leftSum += endInfo.LeftGrade[i]; rightSum += endInfo.RightGrade[i]; transform.Find(string.Format("GradeList/{0}/LeftText", i)).GetComponent <Text>().text = endInfo.LeftGrade[i].ToString(); transform.Find(string.Format("GradeList/{0}/RightText", i)).GetComponent <Text>().text = endInfo.RightGrade[i].ToString(); Scheduler.Instance.CreateScheduler("UIGameEnd.RefreshUI.ShowGrade." + i, i * 0.5f, 1, 0, (param) => { int index = (int)param; float inningsSum = endInfo.LeftGrade[index] + endInfo.RightGrade[index]; //Image Image leftIamge = transform.Find(string.Format("GradeList/{0}/Mask/LeftImage", index)).GetComponent <Image>(); Image rightIamge = transform.Find(string.Format("GradeList/{0}/Mask/RightImage", index)).GetComponent <Image>(); leftIamge.fillAmount = 0; rightIamge.fillAmount = 0; DOTween.To(() => leftIamge.fillAmount, (value) => leftIamge.fillAmount = value, (0 == inningsSum) ? 0.5f : endInfo.LeftGrade[index] / inningsSum, 1f); DOTween.To(() => rightIamge.fillAmount, (value) => rightIamge.fillAmount = value, (0 == inningsSum) ? 0.5f : endInfo.RightGrade[index] / inningsSum, 1f); }, i); } //总分 transform.Find(string.Format("GradeList/Sum/LeftText")).GetComponent <Text>().text = leftSum.ToString(); transform.Find(string.Format("GradeList/Sum/RightText")).GetComponent <Text>().text = rightSum.ToString(); Image sumLeftIamge = transform.Find(string.Format("GradeList/Sum/Mask/LeftImage")).GetComponent <Image>(); Image sumRightIamge = transform.Find(string.Format("GradeList/Sum/Mask/RightImage")).GetComponent <Image>(); sumLeftIamge.fillAmount = 0; sumRightIamge.fillAmount = 0; float allSum = leftSum + rightSum; Scheduler.Instance.CreateScheduler("UIGameEnd.RefreshUI.ShowGrade.Sum", endInfo.LeftGrade.Count * 0.5f, 1, 0, (param) => { DOTween.To(() => sumLeftIamge.fillAmount, (value) => sumLeftIamge.fillAmount = value, (0 == allSum) ? 0.5f : leftSum / allSum, 1f); DOTween.To(() => sumRightIamge.fillAmount, (value) => sumRightIamge.fillAmount = value, (0 == allSum) ? 0.5f : rightSum / allSum, 1f); }); //结果 string resultStr = ""; Color resultColor = Color.white; if (rightSum < leftSum) { resultColor = GameConst.Yellow; resultStr = Language.GetTextByKey(10501); } else if (leftSum < rightSum) { resultColor = GameConst.Bule; resultStr = Language.GetTextByKey(10502); } else { resultColor = GameConst.Gray; resultStr = Language.GetTextByKey(10503); } Text resultText = transform.Find("PlayerInfo/Text").GetComponent <Text>(); resultText.text = resultStr; resultText.color = resultColor; //属性变化 for (int i = 0; i < endInfo.AttributeOffset.Count; i++) { float offset = endInfo.AttributeOffset[i]; Transform attrObj = transform.Find("Attribute/Layout/" + i); attrObj.Find("Down").gameObject.SetActive(offset < 0); attrObj.Find("Up").gameObject.SetActive(0 < offset); attrObj.Find("Keep").gameObject.SetActive(0 == offset); } }