/// <summary> /// 设置猜先内容 /// </summary> /// <param name="guessEnum"></param> /// <returns></returns> public bool SetGuessEnum(GuessEnum guessEnum) { if (this.guessEnum == GuessEnum.Unknown || guessEnum == GuessEnum.Unknown) { this.guessEnum = guessEnum; opponentPlayer.GuessFirstNotify(guessEnum); return(true); } return(false); }
public override void GuessFirstNotify(GuessEnum guessEnum) { if (guessEnum == GuessEnum.Unknown) { return; } CGuessFirst guessFirst = new CGuessFirst(); guessFirst.AddContent("guess", guessEnum.ToString()); ClientManager.GetSingleInstance().SendProtocol(guessFirst); }
public bool SetOpponentGuess(GuessEnum guessEnum) { if (duelScene.GetOpponentPlayer().SetGuessEnum(guessEnum)) { GameObject.Find("opponentPanel").transform.GetChild((int)duelScene.GetOpponentPlayer().GetGuessEnum() - 1).GetComponent <GuessFirstScript>().SetChooseState(); DecideGuessFirst(); return(true); } else { GameManager.ShowMessage("选择后不能修改!"); } return(false); }
public override void GuessFirstNotify(GuessEnum guessEnum) { if (guessEnum == GuessEnum.Unknown) { return; } if (GameManager.GetSingleInstance().GetUserData().guessMustWin) { int tempMyGuessEnum = (int)duelScene.GetMyPlayer().GetGuessEnum(); int tempOpponentGuessEnum = tempMyGuessEnum - 1 > 0 ? tempMyGuessEnum - 1 : 3; GameObject.Find("Main Camera").GetComponent <GuessFirstSceneScript>().SetOpponentGuess((GuessEnum)tempOpponentGuessEnum); } else { GameObject.Find("Main Camera").GetComponent <GuessFirstSceneScript>().SetOpponentGuess((GuessEnum)UnityEngine.Random.Range(1, 4)); } }
/// <summary> /// 决定谁先出牌 /// </summary> public void DecideGuessFirst() { if (iGuessWin != 0) { return; } GuessEnum myGuessEnum = duelScene.GetMyPlayer().GetGuessEnum(); GuessEnum opponentGuessEnum = duelScene.GetOpponentPlayer().GetGuessEnum(); if (myGuessEnum != GuessEnum.Unknown && opponentGuessEnum != GuessEnum.Unknown) { if (myGuessEnum == opponentGuessEnum) { TimerFunction reguessTimeFunction = new TimerFunction(); reguessTimeFunction.SetFunction(1, () => { ClearChoose(); }); GameManager.AddTimerFunction(reguessTimeFunction); GameManager.ShowMessage("双方选择相同,需重新选择!"); return; } int tempValue = (int)myGuessEnum - (int)opponentGuessEnum; StringResConfig stringResConfig = ConfigManager.GetConfigByName("StringRes") as StringResConfig; string title; if (tempValue == 1 || tempValue == -2) { iGuessWin = 1; title = stringResConfig.GetRecordById(13).value; } else { iGuessWin = 2; title = stringResConfig.GetRecordById(14).value; } TimerFunction timerFunction = new TimerFunction(); timerFunction.SetFunction(1, () => { selectCardGroupPanel.SetActive(false); guessFirstPanel.SetActive(false); selectFirstPanel.SetActive(true); selectFirstPanel.transform.GetChild(0).GetComponent <Text>().text = title; if (iGuessWin == 1) { duelScene.GetMyPlayer().SelectFristOrBack(); } if (iGuessWin == 2) { duelScene.GetOpponentPlayer().SelectFristOrBack(); } }); GameManager.AddTimerFunction(timerFunction); } }
public override void Process() { GuessEnum opponentGuess = (GuessEnum)Enum.Parse(typeof(GuessEnum), GetContent("guess")); GameObject.Find("Main Camera").GetComponent <GuessFirstSceneScript>().SetOpponentGuess(opponentGuess); }
/// <summary> /// 玩家猜先通知 /// </summary> public virtual void GuessFirstNotify(GuessEnum guessEnum) { }