IEnumerator corMove(DramaSection section) { //移动者 TODO 解析要改成后面多4位的形式 暂不修改 int id = section.chess_id; Chess ch = Main.Inst.dic_chess[id]; StartMoveChess(ch); Main.Inst.addDancer("move-" + id); yield return(new WaitForSeconds(GameRule.Moveing_Duration)); Main.Inst.redDancer("move-" + id); //移动方式 eDOType_Move movetype = section.move_type; bool is_force_move = false; ChessContainer grid = null; Point3 locater = section.move_argu; switch (movetype) { case eDOType_Move.Force_Move_ABS: is_force_move = true; grid = Main.Inst.chess_grids[locater.x]; break; case eDOType_Move.Force_Move_REL: is_force_move = true; grid = BKTools.LocateChessGrid(ch.container, locater); break; case eDOType_Move.Normal_Move_ABS: grid = Main.Inst.chess_grids[locater.x]; break; case eDOType_Move.Norma_lMove_REL: grid = BKTools.LocateChessGrid(ch.container, locater); break; default: Debug.LogError("剧情移动方式错误"); break; } moveChess(ch, grid, false); yield return(null); }