public void OnAttackChess(int attackChess, int beAttackChess) { InputManager.ClearSelectChess(); ChessEntity attack = ChessManager.FindEntityByID(attackChess); ChessEntity beAttack = ChessManager.FindEntityByID(beAttackChess); if (attack == null || beAttack == null) { return; } Vector3 selfPos = attack.transform.localPosition; Vector3 beAttackpos = new Vector3(ChessEntity.ChessInterval * (int)beAttack.chessObj.chess_index_x, 0, ChessEntity.ChessInterval * (int)beAttack.chessObj.chess_index_z); // 刚开始不能直接移动到要攻击的棋子旁边 Vector3 pos = (beAttackpos - selfPos).normalized; pos *= Vector3.Distance(beAttackpos, selfPos) - ChessEntity.ChessInterval; pos += selfPos; attack.MoveTo(pos); // 开始释放技能 attack.Target = beAttack; beAttack.Target = attack; attack.UseNormalSkill(); currentAttackChess = attack; fightMainUIPanel.SetStateInfoString("战斗中..."); }
// Update is called once per frame void Update() { if (!ChessManager.isPlayer) { ChessManager.artificialPlayerPlayerFirst(0); x = ChessManager.x; y = ChessManager.y; ChessDown(Cc); ChessManager.isPlayer = true; } if (ChessManager.IfWin() != 0) { int judgement = ChessManager.IfWin(); if (judgement == PLAYER) { PlayerWin(); } else if (judgement == COMPUTER) { ComputerWin(); } else if (judgement == appearingDraw) { DrawAppear(); } } }
// Use this for initialization void Start() { //保持棋子 QiziMap.AddGameObject(x.ToString() + y.ToString(), gameObject); //初始化棋子 ChessManager.GetInstant().InitQizi(current, new PointData(x, y, z), transform); }
public void OnInputClicked(InputClickedEventData eventData) { //隐藏路线 ChessManager.GetInstant().HidenRoad(); ChessManager.GetInstant().ReleaseQizi(); eventData.Use(); // Mark the event as used, so it doesn't fall through to other handlers. }
//初始化逻辑棋盘和显示棋盘 void NewRoundBeginAndInit() { ChessManager.NewRoundBeginAndInit(); //销毁他娘的子物体 Component[] g = GetComponentsInChildren <Transform>(); foreach (Component a in g) { if (a != transform) { Destroy(a.gameObject); } } switch (Round) { case 1: ChessManager.isPlayer = false; break; case 2: ChessManager.isPlayer = true; break; case 3: ChessManager.isPlayer = false; break; case 4: ChessManager.isPlayer = true; break; case 5: ChessManager.isPlayer = false; break; } }
private IEnumerator OnDeath() { PlayAction("Death"); yield return(new WaitForSeconds(5)); ChessManager.RemoveEntity(chessObj.id); }
private void Start() { MainUIManager.OnStart(); ChessManager.OnStart(); Player1.OnStart(); Player2.OnStart(); }
private void Update() { if (IsStart && !IsWin) { NowPlayer.OnUpdate(); ChessManager.OnUpdate(); } }
public void OnFocusEnter() { //显示路线 // ChessManager.GetInstant().ShowRoad(current, new PointData(x, y, z)); if (current == ChessManager.GetInstant().GetFenData().player1) { GetComponent <Renderer>().material.color = Color.red; } }
public void OnFocusExit() { //隐藏路线 // ChessManager.GetInstant().HidenRoad(); if (current == ChessManager.GetInstant().GetFenData().player1) { GetComponent <Renderer>().material.color = Color.white; } }
public virtual void OnStart() { if(mainGameManager==null) { mainGameManager = MainGameManager.Instance; chessBoardManager = MainGameManager.Instance.ChessBoardManager; chessManager = MainGameManager.Instance.ChessManager; } }
public void OnInputClicked(InputClickedEventData eventData) { int x = int.Parse(transform.name); int y = int.Parse(transform.parent.name); ChessManager.GetInstant().CheckAndMove(new PointData(x, y)); //隐藏路线 ChessManager.GetInstant().HidenRoad(); eventData.Use(); // Mark the event as used, so it doesn't fall through to other handlers. }
/// <summary> /// OnSourceLost /// </summary> public void OnSourceLost(SourceStateEventData eventData) { RemoveSourceIdFromHandMap(eventData.SourceId); UpdateStateMachine(); eventData.Use(); //移动棋子 QiziScript qiziScrip = HostTransform.GetComponent <QiziScript>(); PointData start = new PointData(qiziScrip.x, qiziScrip.y, qiziScrip.z); ChessManager.GetInstant().CheckAndMove(start, HostTransform.position); }
public static void HideAllPath() { for (int idx = 0; idx <= 8; idx++) { for (int idz = 0; idz <= 9; idz++) { points[idx][idz].SetActive(false); } } ChessManager.SetUnCanAttackClick(); }
private void Awake() { gameManager = this; chessboardVisible = true; isWhitePlayer = true; AIPlaying = false; round = 1;//默认第一局是round1 gameOver = false; SetBools(); SetInts(); SetAIDifficulty(); }
private void Awake() { Instance = this; ChessBoardManager = GameObject.Find("ChessBoard").GetComponent <ChessBoardManager>(); ChessManager = GameObject.Find("ChessManager").GetComponent <ChessManager>(); MainUIManager = GameObject.Find("UIRoot").GetComponent <MainUIManager>(); switch (PlayerInfo.gameModel) { case PlayerInfo.GameModel.ManMachine: bool playerFirst = PlayerInfo.isPlayerFirst; Player1 = new Player().OnInit(playerFirst ? ChessType.White: ChessType.Black); switch (PlayerInfo.aiLevel) { case PlayerInfo.AILevel.Primary: Player2 = new AILevelOne(); break; case PlayerInfo.AILevel.Intermediate: Player2 = new AILevelTwo(); break; case PlayerInfo.AILevel.Senior: Player2 = new AILevelThree(); break; default: break; } Player2.OnInit(playerFirst ? ChessType.Black : ChessType.White); NowPlayer = playerFirst? Player1:Player2; break; case PlayerInfo.GameModel.DoubleMan: Player1 = new Player().OnInit(ChessType.White); Player2 = new Player().OnInit(ChessType.Black); NowPlayer = Player1; break; case PlayerInfo.GameModel.Net: Debug.Log("还没有做"); break; default: break; } ChessBoardManager.OnAwake(); ChessManager.OnAwake(); MainUIManager.OnAwake(); Player1.OnAwake(); Player2.OnAwake(); }
public void PawnPromoted_GoodWorkflow_Success() { LocalChessManager = new ChessManager(); CurrentGid = LocalChessManager.GetNewGame(); int nextPlayer; nextPlayer = Play(1, 1, 2, 1, 3).NextPlayerToPlay; nextPlayer = Play(2, 1, 7, 1, 5).NextPlayerToPlay; nextPlayer = Play(1, 2, 1, 3, 3).NextPlayerToPlay; nextPlayer = Play(2, 1, 5, 1, 4).NextPlayerToPlay; nextPlayer = Play(1, 3, 3, 1, 4).NextPlayerToPlay; nextPlayer = Play(2, 1, 8, 1, 5).NextPlayerToPlay; nextPlayer = Play(1, 1, 4, 3, 3).NextPlayerToPlay; nextPlayer = Play(2, 1, 5, 2, 5).NextPlayerToPlay; nextPlayer = Play(1, 1, 3, 1, 4).NextPlayerToPlay; nextPlayer = Play(2, 2, 5, 3, 5).NextPlayerToPlay; nextPlayer = Play(1, 1, 4, 1, 5).NextPlayerToPlay; nextPlayer = Play(2, 3, 5, 2, 5).NextPlayerToPlay; nextPlayer = Play(1, 1, 5, 1, 6).NextPlayerToPlay; nextPlayer = Play(2, 2, 5, 3, 5).NextPlayerToPlay; nextPlayer = Play(1, 1, 6, 1, 7).NextPlayerToPlay; nextPlayer = Play(2, 3, 5, 2, 5).NextPlayerToPlay; var grid = Play(1, 1, 7, 1, 8); Assert.AreEqual(9, grid.NumberLines); var extraPawn = grid.PawnLocations.Where(p => p.Coord.y == 9); Assert.AreEqual(4, extraPawn.Count()); Assert.AreEqual(1, grid.MoveNumber); Assert.AreEqual(1, grid.NextPlayerToPlay); //Choice of taking ... A queen! Grid ToReturn = LocalChessManager.Play(CurrentGid, new Move() { PlayerNumber = 1, Positions = new List <Pawn> { new Pawn("", 1, 9) } }); CurrentGid = ToReturn; nextPlayer = Play(2, 2, 5, 3, 5).NextPlayerToPlay; Assert.AreEqual(1, grid.NextPlayerToPlay); grid = Play(1, 1, 8, 1, 2); Assert.AreEqual(2, grid.NextPlayerToPlay); var newQueen = grid.PawnLocations.Where(p => p.Coord.x == 1 && p.Coord.y == 2).FirstOrDefault(); Assert.IsNotNull(newQueen); }
public void ExportGame() { if (!hasGameEnded) { return; } ChessManager manager = chessManagerObject.GetComponent <ChessManager>(); string[] pgnHeading = manager.ExportGameInPGNFormat(); if (pgnHeading != null) { myScoreSheet.ExportGameAsPGN(pgnHeading[0], pgnHeading[1], pgnHeading[2], pgnHeading[3], pgnHeading[4], pgnHeading[5], pgnHeading[6], terminationString); } }
private void Update() { FenData fen = ChessManager.GetInstant().GetFenData(); if (fen.player1 == fen.current) { //什么都不干 } else { //锁定棋盘 //没完 lock游戏画面 //电脑走棋 ChessManager.GetInstant().DianNaoZouQi(); } }
void Start() { GameEventManager.CreateInstance(); LayerManager.CreateInstance(); TimerManager.CreateInstance(); GUIManager.CreateInstance(); GameStateManager.CreateInstance(); EmitNumberManager.CreateInstance(); InputManager.CreateInstance(); ChessManager.CreateInstance(); ChessPathManager.CreateInstance(); GameObject reporter = transform.Find("Reporter").gameObject; reporter.SetActive(HasReporter); }
public void OnInputClicked(InputClickedEventData eventData) { if (current == ChessManager.GetInstant().GetFenData().player1) { // Increase the scale of the object just as a response. PointData point = new PointData(x, y, z); //隐藏路线 ChessManager.GetInstant().HidenRoad(); ChessManager.GetInstant().SetSelected(point); ChessManager.GetInstant().ShowRoad(current, point); } else { PointData point = new PointData(x, y, z); ChessManager.GetInstant().CheckAndMove(point); } eventData.Use(); // Mark the event as used, so it doesn't fall through to other handlers. }
private void Awake() { Instance = this; allGrids = new Grids[colNum, rowNum]; for (int i = 0; i < colNum; i++) { for (int j = 0; j < rowNum; j++) { allGrids[i, j] = transform.GetChild(j * colNum + i).GetComponent <Grids>(); } } foreach (var v in allGrids) { v.InitGrid(chess); } }
public static ChessManager GetNewInstant() { chessManager = new ChessManager(); return(chessManager); }
public void setChessManager(ChessManager manager) { chessManager = manager; }
private void OnReady() { Ready = true; ChessManager.AddEntity(this); }
// Use this for initialization void Start() { //初始化棋盘路线 ChessManager.GetNewInstant().HidenRoad(); }
public AIIOManager(ChessManager cm, ChessAI p1, ChessAI p2) { chessManager = cm; player1 = p1; player2 = p2; }
void Start() { main = GameObject.Find("Main Camera").GetComponent <ChessManager>(); pawnAtEnd = false; Target = new Vector3(-100f, -100f, -100f); }
public void ResetQiPan() { //锁定棋盘,电脑走棋。 ChessManager.GetInstant().ResetQiPan(); }
void Start() { main = GameObject.Find("Main Camera").GetComponent <ChessManager>(); }