Unity trava na hora de dar play em um jogo
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Unity trava na hora de dar play em um jogo
Eu fiz um jogo e quando estava td pronto ele simplesmente parou de funcionar nao aparece nenhum erro ou coisa do tipo a unity simplesmente para...https://mega.nz/#!mNJWBZAB!YIoIjh6tvtkVs74FMKi3I6WKhJhWnYnacUNo6wpH_QU esse eh o link para download do projeto do jogo se alguem puder baixar e dar uma olhada eu ficarei bem grato
Luiz Mauro TCC- Iniciante
- PONTOS : 2866
REPUTAÇÃO : 1
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Dei uma olha no projeto, não identifiquei o problema, mas esta no script do GameManager, de uma revisada nele, coloque as chaves assim o código fica mais organizado e mais fácil de resolver os bugs.
kalielson- ProgramadorMaster
- PONTOS : 3572
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Eu ja dei uma olhada e nao tem erros...não sei msm oq aconteceu
Luiz Mauro TCC- Iniciante
- PONTOS : 2866
REPUTAÇÃO : 1
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Cara tem sim, só não tive tempo de verificar, se vc desabilitar este script vai ver que a unity vai iniciar... vai por mim dê uma revisada, eu mesmo de vez em quando acho que esta tudo ok, mas sempre encontrou algo depois.
kalielson- ProgramadorMaster
- PONTOS : 3572
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Luiz Mauro TCC Eu baixei os seus ficheiros,dei uma vista de olhos rápida e provavelmente é como diz o kalielson,a organização é fundamental,,Não dá erros ,as provavelmente tem coisas a corrigir.Assim que poder, Vou refazer o seu script e apostar aqui quando terminar.Se alguém não o fizer antes. :D
Abilio M.S- Membro
- PONTOS : 3485
REPUTAÇÃO : 19
Áreas de atuação : As minhas áreas de atuação é especialmente em musica.
Toco guitarra desde os 12 anos,e com várias ba
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Boas Luiz Mauro TCC Mais uma vez,Aqui é o seu Script como está,Sim este não deixa funcionar a Unity.
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
public bool GenerateRandom;
public GameObject canvas;
public GameObject[] piecePrefabs;
[System.Serializable]
public class Puzzle
{
public int winValue;
public int curValue;
public int width;
public int height;
public piece[,] pieces;
}
public Puzzle puzzle;
// Use this for initialization
void Start () {
canvas.SetActive (false);
if (GenerateRandom) {
if (puzzle.width == 0 || puzzle.height == 0) {
Debug.LogError ("Please set the dimensions");
Debug.Break ();
}
GeneratePuzzle ();
} else {
Vector2 dimensions = CheckDimensions ();
puzzle.width = (int)dimensions.x;
puzzle.height = (int)dimensions.y;
puzzle.pieces = new piece[puzzle.width, puzzle.height];
foreach (var piece in GameObject.FindGameObjectsWithTag("Piece")) {
puzzle.pieces [(int)piece.transform.position.x, (int)piece.transform.position.y] = piece.GetComponent<piece> ();
}
}
foreach (var item in puzzle.pieces) {
Debug.Log(item.gameObject.name);
}
puzzle.winValue = GetWinValue ();
Shuffle ();
puzzle.curValue=Sweep ();
}
void GeneratePuzzle()
{
puzzle.pieces = new piece[puzzle.width, puzzle.height];
int[] auxValues = { 0, 0, 0, 0 };
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//width restrictions
if (w == 0)
auxValues [3] = 0;
else
auxValues [3] = puzzle.pieces [w - 1, h].values [1];
if (w == puzzle.width - 1)
auxValues [1] = 0;
else
auxValues [1] = Random.Range (0, 2);
//heigth resctrictions
if (h == 0)
auxValues [2] = 0;
else
auxValues [2] = puzzle.pieces [w, h - 1].values [0];
if (h == puzzle.height - 1)
auxValues [0] = 0;
else
auxValues [0] = Random.Range (0, 2);
//tells us piece type
int valueSum = auxValues [0] + auxValues [1] + auxValues [2] + auxValues [3];
if (valueSum == 2 && auxValues [0] != auxValues [2])
valueSum = 5;
GameObject go = (GameObject) Instantiate (piecePrefabs [valueSum], new Vector3 (w, h, 0), Quaternion.identity);
while (go.GetComponent go.GetComponent<piece> ().values [1] != auxValues [1] ||
go.GetComponent<piece> ().values [2] != auxValues [2] ||
go.GetComponent<piece> ().values [3] != auxValues [3])
{
go.GetComponent<piece> ().RotatePiece ();
}
puzzle.pieces [w, h] = go.GetComponent<piece> ();
}
}
}
public int Sweep()
{
int value = 0;
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//compares top
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//compare right
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
}
}
return value;
}
public void Win()
{
canvas.SetActive (true);
}
public int QuickSweep(int w,int h)
{
int value = 0;
//compares top
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//compare right
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
//compare left
if (w != 0)
if (puzzle.pieces [w, h].values [3] == 1 && puzzle.pieces [w - 1, h].values [1] == 1)
value++;
//compare bottom
if (h != 0)
if (puzzle.pieces [w, h].values [2] == 1 && puzzle.pieces [w, h-1].values [0] == 1)
value++;
return value;
}
int GetWinValue()
{
int winValue = 0;
foreach (var piece in puzzle.pieces) {
foreach (var j in piece.values) {
winValue += j;
}
}
winValue /= 2;
return winValue;
}
void Shuffle()
{
foreach (var piece in puzzle.pieces) {
int k = Random.Range (0, 4);
for (int i = 0; i < k; i++) {
piece.RotatePiece ();
}
}
}
Vector2 CheckDimensions()
{
Vector2 aux = Vector2.zero;
GameObject[] pieces = GameObject.FindGameObjectsWithTag ("Piece");
foreach (var p in pieces) {
if (p.transform.position.x > aux.x)
aux.x = p.transform.position.x;
if (p.transform.position.y > aux.y)
aux.y= p.transform.position.y;
}
aux.x++;
aux.y++;
return aux;
}
// Update is called once per frame
void Update () {
}
public void NextLevel(string nextLevel)
{
SceneManager.LoadScene (nextLevel);
}
}
Aqui Refiz o seu Script e foi tudo a correr,o meu dia é uma correria de primeira,e só tive 15 minutos para o refazer e apostar ainda Hoje,Não tive tempo de corrigir alguns erros que possam aparecer,Apenas Testei se deixava funcionar a Unity,e Ok,Deixa funcionar a Unity.
Apenas tem que ver os erros que possam aparecer,e corrigir.
Provavelmente terá que alterar alguma coisa que ainda seja necessário, no script que Refiz. :roll:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class GameManager : MonoBehaviour {
public bool GenerateRandom;
public GameObject canvas;
public GameObject[] piecePrefabs;
[System.Serializable]
public class Puzzle
{
public int winValue;
public int curValue;
public int width;
public int height;
public piece[,] pieces;
}
public Puzzle puzzle;
// Use this for initialization
void Start () {
canvas.SetActive (false);
if (GenerateRandom) {
if (puzzle.width == 0 || puzzle.height == 0) {
Debug.LogError ("Please set the dimensions");
Debug.Break ();
}
}
else {
Vector2 dimensions = CheckDimensions ();
puzzle.width = (int)dimensions.x;
puzzle.height = (int)dimensions.y;
puzzle.pieces = new piece[puzzle.width, puzzle.height];
foreach (var piece in GameObject.FindGameObjectsWithTag("Piece")) {
puzzle.pieces [(int)piece.transform.position.x, (int)piece.transform.position.y] = piece.GetComponent<piece> ();
}
foreach (var item in puzzle.pieces) {
Debug.Log(item.gameObject.name);
}
}
}
// Update is called once per frame
void Update () {
GeneratePuzzle ();
Shuffle ();
puzzle.winValue = GetWinValue ();
puzzle.curValue=Sweep ();
}
Vector2 CheckDimensions()
{
Vector2 aux = Vector2.zero;
GameObject[] pieces = GameObject.FindGameObjectsWithTag ("Piece");
foreach (var p in pieces) {
if (p.transform.position.x > aux.x)
aux.x = p.transform.position.x;
if (p.transform.position.y > aux.y)
aux.y= p.transform.position.y;
}
aux.x++;
aux.y++;
return aux;
}
void GeneratePuzzle()
{
puzzle.pieces = new piece[puzzle.width, puzzle.height];
int[] auxValues = { 0, 0, 0, 0 };
//Restrição Largura
for (int w = 0; w < puzzle.width; w++) {
for (int h = 0; h < puzzle.height; h++) {
if (w == 0){
auxValues [3] = 0;
}else{
auxValues [3] = puzzle.pieces [w - 1, h].values [1];
}if (w == puzzle.width - 1){
auxValues [1] = 0;
}else{
auxValues [1] = Random.Range (0, 2);
}
//Restrição Altura
if (h == 0){
auxValues [2] = 0;
}else{
auxValues [2] = puzzle.pieces [w, h - 1].values [0];
}if (h == puzzle.height - 1){
auxValues [0] = 0;
}else{
auxValues [0] = Random.Range (0, 2);
int valueSum = auxValues [0] + auxValues [1] + auxValues [2] + auxValues [3];
if (valueSum == 2 && auxValues [0] != auxValues [2]){
valueSum = 5;
GameObject go = (GameObject) Instantiate (piecePrefabs [valueSum], new Vector3 (w, h, 0), Quaternion.identity);
while (go.GetComponent go.GetComponent<piece> ().values [1] != auxValues [1] ||
go.GetComponent<piece> ().values [2] != auxValues [2] ||
go.GetComponent<piece> ().values [3] != auxValues [3])
go.GetComponent<piece> ().RotatePiece ();
puzzle.pieces [w, h] = go.GetComponent<piece> ();
}
}
}
}
}
public int Sweep()
{
int value = 0;
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//Topo
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//Direita
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
}
}
return value;
}
void Shuffle()
{
foreach (var piece in puzzle.pieces) {
int k = Random.Range (0, 4);
for (int i = 0; i < k; i++) {
piece.RotatePiece ();
}
}
}
public int QuickSweep(int w,int h)
{
int value = 0;
//Topo
if(h!=puzzle.height-1){
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1){
value++;
}
}
//Direita
if(w!=puzzle.width-1){
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1){
value++;
}
}
//Esquerda
if (w != 0){
if (puzzle.pieces [w, h].values [3] == 1 && puzzle.pieces [w - 1, h].values [1] == 1){
value++;
}
}
//Bottom
if (h != 0){
if (puzzle.pieces [w, h].values [2] == 1 && puzzle.pieces [w, h-1].values [0] == 1){
value++;
}
}
return value;
}
int GetWinValue()
{
int winValue = 0;
foreach (var piece in puzzle.pieces) {
foreach (var j in piece.values) {
winValue += j;
}
}
winValue /= 2;
return winValue;
}
public void Win()
{
canvas.SetActive (true);
}
public void NextLevel(string nextLevel)
{
SceneManager.LoadScene (nextLevel);
}
}
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
public bool GenerateRandom;
public GameObject canvas;
public GameObject[] piecePrefabs;
[System.Serializable]
public class Puzzle
{
public int winValue;
public int curValue;
public int width;
public int height;
public piece[,] pieces;
}
public Puzzle puzzle;
// Use this for initialization
void Start () {
canvas.SetActive (false);
if (GenerateRandom) {
if (puzzle.width == 0 || puzzle.height == 0) {
Debug.LogError ("Please set the dimensions");
Debug.Break ();
}
GeneratePuzzle ();
} else {
Vector2 dimensions = CheckDimensions ();
puzzle.width = (int)dimensions.x;
puzzle.height = (int)dimensions.y;
puzzle.pieces = new piece[puzzle.width, puzzle.height];
foreach (var piece in GameObject.FindGameObjectsWithTag("Piece")) {
puzzle.pieces [(int)piece.transform.position.x, (int)piece.transform.position.y] = piece.GetComponent<piece> ();
}
}
foreach (var item in puzzle.pieces) {
Debug.Log(item.gameObject.name);
}
puzzle.winValue = GetWinValue ();
Shuffle ();
puzzle.curValue=Sweep ();
}
void GeneratePuzzle()
{
puzzle.pieces = new piece[puzzle.width, puzzle.height];
int[] auxValues = { 0, 0, 0, 0 };
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//width restrictions
if (w == 0)
auxValues [3] = 0;
else
auxValues [3] = puzzle.pieces [w - 1, h].values [1];
if (w == puzzle.width - 1)
auxValues [1] = 0;
else
auxValues [1] = Random.Range (0, 2);
//heigth resctrictions
if (h == 0)
auxValues [2] = 0;
else
auxValues [2] = puzzle.pieces [w, h - 1].values [0];
if (h == puzzle.height - 1)
auxValues [0] = 0;
else
auxValues [0] = Random.Range (0, 2);
//tells us piece type
int valueSum = auxValues [0] + auxValues [1] + auxValues [2] + auxValues [3];
if (valueSum == 2 && auxValues [0] != auxValues [2])
valueSum = 5;
GameObject go = (GameObject) Instantiate (piecePrefabs [valueSum], new Vector3 (w, h, 0), Quaternion.identity);
while (go.GetComponent
go.GetComponent<piece> ().values [2] != auxValues [2] ||
go.GetComponent<piece> ().values [3] != auxValues [3])
{
go.GetComponent<piece> ().RotatePiece ();
}
puzzle.pieces [w, h] = go.GetComponent<piece> ();
}
}
}
public int Sweep()
{
int value = 0;
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//compares top
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//compare right
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
}
}
return value;
}
public void Win()
{
canvas.SetActive (true);
}
public int QuickSweep(int w,int h)
{
int value = 0;
//compares top
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//compare right
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
//compare left
if (w != 0)
if (puzzle.pieces [w, h].values [3] == 1 && puzzle.pieces [w - 1, h].values [1] == 1)
value++;
//compare bottom
if (h != 0)
if (puzzle.pieces [w, h].values [2] == 1 && puzzle.pieces [w, h-1].values [0] == 1)
value++;
return value;
}
int GetWinValue()
{
int winValue = 0;
foreach (var piece in puzzle.pieces) {
foreach (var j in piece.values) {
winValue += j;
}
}
winValue /= 2;
return winValue;
}
void Shuffle()
{
foreach (var piece in puzzle.pieces) {
int k = Random.Range (0, 4);
for (int i = 0; i < k; i++) {
piece.RotatePiece ();
}
}
}
Vector2 CheckDimensions()
{
Vector2 aux = Vector2.zero;
GameObject[] pieces = GameObject.FindGameObjectsWithTag ("Piece");
foreach (var p in pieces) {
if (p.transform.position.x > aux.x)
aux.x = p.transform.position.x;
if (p.transform.position.y > aux.y)
aux.y= p.transform.position.y;
}
aux.x++;
aux.y++;
return aux;
}
// Update is called once per frame
void Update () {
}
public void NextLevel(string nextLevel)
{
SceneManager.LoadScene (nextLevel);
}
}
Aqui Refiz o seu Script e foi tudo a correr,o meu dia é uma correria de primeira,e só tive 15 minutos para o refazer e apostar ainda Hoje,Não tive tempo de corrigir alguns erros que possam aparecer,Apenas Testei se deixava funcionar a Unity,e Ok,Deixa funcionar a Unity.
Apenas tem que ver os erros que possam aparecer,e corrigir.
Provavelmente terá que alterar alguma coisa que ainda seja necessário, no script que Refiz. :roll:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class GameManager : MonoBehaviour {
public bool GenerateRandom;
public GameObject canvas;
public GameObject[] piecePrefabs;
[System.Serializable]
public class Puzzle
{
public int winValue;
public int curValue;
public int width;
public int height;
public piece[,] pieces;
}
public Puzzle puzzle;
// Use this for initialization
void Start () {
canvas.SetActive (false);
if (GenerateRandom) {
if (puzzle.width == 0 || puzzle.height == 0) {
Debug.LogError ("Please set the dimensions");
Debug.Break ();
}
}
else {
Vector2 dimensions = CheckDimensions ();
puzzle.width = (int)dimensions.x;
puzzle.height = (int)dimensions.y;
puzzle.pieces = new piece[puzzle.width, puzzle.height];
foreach (var piece in GameObject.FindGameObjectsWithTag("Piece")) {
puzzle.pieces [(int)piece.transform.position.x, (int)piece.transform.position.y] = piece.GetComponent<piece> ();
}
foreach (var item in puzzle.pieces) {
Debug.Log(item.gameObject.name);
}
}
}
// Update is called once per frame
void Update () {
GeneratePuzzle ();
Shuffle ();
puzzle.winValue = GetWinValue ();
puzzle.curValue=Sweep ();
}
Vector2 CheckDimensions()
{
Vector2 aux = Vector2.zero;
GameObject[] pieces = GameObject.FindGameObjectsWithTag ("Piece");
foreach (var p in pieces) {
if (p.transform.position.x > aux.x)
aux.x = p.transform.position.x;
if (p.transform.position.y > aux.y)
aux.y= p.transform.position.y;
}
aux.x++;
aux.y++;
return aux;
}
void GeneratePuzzle()
{
puzzle.pieces = new piece[puzzle.width, puzzle.height];
int[] auxValues = { 0, 0, 0, 0 };
//Restrição Largura
for (int w = 0; w < puzzle.width; w++) {
for (int h = 0; h < puzzle.height; h++) {
if (w == 0){
auxValues [3] = 0;
}else{
auxValues [3] = puzzle.pieces [w - 1, h].values [1];
}if (w == puzzle.width - 1){
auxValues [1] = 0;
}else{
auxValues [1] = Random.Range (0, 2);
}
//Restrição Altura
if (h == 0){
auxValues [2] = 0;
}else{
auxValues [2] = puzzle.pieces [w, h - 1].values [0];
}if (h == puzzle.height - 1){
auxValues [0] = 0;
}else{
auxValues [0] = Random.Range (0, 2);
int valueSum = auxValues [0] + auxValues [1] + auxValues [2] + auxValues [3];
if (valueSum == 2 && auxValues [0] != auxValues [2]){
valueSum = 5;
GameObject go = (GameObject) Instantiate (piecePrefabs [valueSum], new Vector3 (w, h, 0), Quaternion.identity);
while (go.GetComponent
go.GetComponent<piece> ().values [2] != auxValues [2] ||
go.GetComponent<piece> ().values [3] != auxValues [3])
go.GetComponent<piece> ().RotatePiece ();
puzzle.pieces [w, h] = go.GetComponent<piece> ();
}
}
}
}
}
public int Sweep()
{
int value = 0;
for (int h = 0; h < puzzle.height; h++) {
for (int w = 0; w < puzzle.width; w++) {
//Topo
if(h!=puzzle.height-1)
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1)
value++;
//Direita
if(w!=puzzle.width-1)
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1)
value++;
}
}
return value;
}
void Shuffle()
{
foreach (var piece in puzzle.pieces) {
int k = Random.Range (0, 4);
for (int i = 0; i < k; i++) {
piece.RotatePiece ();
}
}
}
public int QuickSweep(int w,int h)
{
int value = 0;
//Topo
if(h!=puzzle.height-1){
if (puzzle.pieces [w, h].values [0] == 1 && puzzle.pieces [w, h + 1].values [2] == 1){
value++;
}
}
//Direita
if(w!=puzzle.width-1){
if (puzzle.pieces [w, h].values [1] == 1 && puzzle.pieces [w + 1, h].values [3] == 1){
value++;
}
}
//Esquerda
if (w != 0){
if (puzzle.pieces [w, h].values [3] == 1 && puzzle.pieces [w - 1, h].values [1] == 1){
value++;
}
}
//Bottom
if (h != 0){
if (puzzle.pieces [w, h].values [2] == 1 && puzzle.pieces [w, h-1].values [0] == 1){
value++;
}
}
return value;
}
int GetWinValue()
{
int winValue = 0;
foreach (var piece in puzzle.pieces) {
foreach (var j in piece.values) {
winValue += j;
}
}
winValue /= 2;
return winValue;
}
public void Win()
{
canvas.SetActive (true);
}
public void NextLevel(string nextLevel)
{
SceneManager.LoadScene (nextLevel);
}
}
Abilio M.S- Membro
- PONTOS : 3485
REPUTAÇÃO : 19
Áreas de atuação : As minhas áreas de atuação é especialmente em musica.
Toco guitarra desde os 12 anos,e com várias ba
Respeito as regras :
Re: Unity trava na hora de dar play em um jogo
Nossa cara muito obg msm,nem sei como agradecer muito grato msm
Luiz Mauro TCC- Iniciante
- PONTOS : 2866
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» Unity travando na hora do Play
» Jogo não abre clicando no Play na Unity
» Como colocar a propaganda (unity ads) para vim aleatória quando der play no jogo ?
» Unity trava com tela preta ao editar textura do Terrain - Unity 5.6.3p2
» Duvida na hora da POSTAGEM na PLAY STORE
» Jogo não abre clicando no Play na Unity
» Como colocar a propaganda (unity ads) para vim aleatória quando der play no jogo ?
» Unity trava com tela preta ao editar textura do Terrain - Unity 5.6.3p2
» Duvida na hora da POSTAGEM na PLAY STORE
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos