Acessar metodo utilizando como trajeto objeto
2 participantes
Página 1 de 1
Acessar metodo utilizando como trajeto objeto
Pessoal tenho o seguinte codigo :
Ele Esta Anexado a meu objeto em cena contendo variaveis de ambiente selecionadas para o objeto.
Quando tento acessar ele externamente de outra classe ele não recebe as variaveis de ambiente definidas no objeto que estou recuperando em outro metodo e passando através do This.
Quando acesso ela através do Onclick no unity funcionada perfeitamente; porem não consigo acessa via codigo de forma que as variaveis de ambiente se mantenham definidas
Agora vem minha duvida:
Como acessar essa classe em um script anexado no meu objeto em cena : com o nome TransitionStart (collider)...
Parece simples e seria se fosse java... seria tão pratico new Game2D.TransitionPoint().SistemaLogin2(); // mas note que aqui ele não iria estar definido as variáveis do objeto.
Tentei instanciar diretamente do objeto fazendo o percurso por ele, mas não obtive sucesso, continua a chamar sem as variaveis definidas no objeto...
Porem como dito acima por onclick() no botão start ele consegue chamar a função, sendo que o arquivo da onde estou chamando esta nesse botão...
O que preciso é formas de acessar esse metodo SistemaLogin mas que consiga recuperar os valores atribuidos no objeto..
Desculpe a falta de imagem sou novo no forum ... mas logo aprendo a formatar de forma que fique mais compreensivo..
- Código:
namespace Game2d
{
public string newSceneName; //Definido no objeto em cena
public SceneTransitionDestination.DestinationTag transitionDestinationTag ; //Tag da destinacao Definido no objeto em Cena
public class TransitionPoint: MonoBehaviour{ /// minha classe de modo publico
//Chamada publica para uma tansacao interna protegida;
public void SistemaLogin2()
{
TransitionInternal(); // chamada protegida
}
protect TransitionInternal(){
SceneController.TransitionToScene(this);
//chamada pega as variaveis desse cenario
}
}
}
Ele Esta Anexado a meu objeto em cena contendo variaveis de ambiente selecionadas para o objeto.
Quando tento acessar ele externamente de outra classe ele não recebe as variaveis de ambiente definidas no objeto que estou recuperando em outro metodo e passando através do This.
Quando acesso ela através do Onclick no unity funcionada perfeitamente; porem não consigo acessa via codigo de forma que as variaveis de ambiente se mantenham definidas
Agora vem minha duvida:
Como acessar essa classe em um script anexado no meu objeto em cena : com o nome TransitionStart (collider)...
Parece simples e seria se fosse java... seria tão pratico new Game2D.TransitionPoint().SistemaLogin2(); // mas note que aqui ele não iria estar definido as variáveis do objeto.
Tentei instanciar diretamente do objeto fazendo o percurso por ele, mas não obtive sucesso, continua a chamar sem as variaveis definidas no objeto...
Porem como dito acima por onclick() no botão start ele consegue chamar a função, sendo que o arquivo da onde estou chamando esta nesse botão...
O que preciso é formas de acessar esse metodo SistemaLogin mas que consiga recuperar os valores atribuidos no objeto..
Desculpe a falta de imagem sou novo no forum ... mas logo aprendo a formatar de forma que fique mais compreensivo..
elizandro159@gmail.com- Iniciante
- PONTOS : 2098
REPUTAÇÃO : 0
Áreas de atuação : Morador de Rua e Desempregado
Respeito as regras :
Re: Acessar metodo utilizando como trajeto objeto
elizandro159@gmail.com escreveu:Pessoal tenho o seguinte codigo :
- Código:
namespace Game2d
{
public string newSceneName; //Definido no objeto em cena
public SceneTransitionDestination.DestinationTag transitionDestinationTag ; //Tag da destinacao Definido no objeto em Cena
public class TransitionPoint: MonoBehaviour{ /// minha classe de modo publico
//Chamada publica para uma tansacao interna protegida;
public void SistemaLogin2()
{
TransitionInternal(); // chamada protegida
}
protect TransitionInternal(){
SceneController.TransitionToScene(this);
//chamada pega as variaveis desse cenario
}
}
}
Ele Esta Anexado a meu objeto em cena contendo variaveis de ambiente selecionadas para o objeto.
Quando tento acessar ele externamente de outra classe ele não recebe as variaveis de ambiente definidas no objeto que estou recuperando em outro metodo e passando através do This.
Quando acesso ela através do Onclick no unity funcionada perfeitamente; porem não consigo acessa via codigo de forma que as variaveis de ambiente se mantenham definidas
Agora vem minha duvida:
Como acessar essa classe em um script anexado no meu objeto em cena : com o nome TransitionStart (collider)...
Parece simples e seria se fosse java... seria tão pratico new Game2D.TransitionPoint().SistemaLogin2(); // mas note que aqui ele não iria estar definido as variáveis do objeto.
Tentei instanciar diretamente do objeto fazendo o percurso por ele, mas não obtive sucesso, continua a chamar sem as variaveis definidas no objeto...
Porem como dito acima por onclick() no botão start ele consegue chamar a função, sendo que o arquivo da onde estou chamando esta nesse botão...
O que preciso é formas de acessar esse metodo SistemaLogin mas que consiga recuperar os valores atribuidos no objeto..
Desculpe a falta de imagem sou novo no forum ... mas logo aprendo a formatar de forma que fique mais compreensivo..
Tentei assim :
- Código:
GetComponent<TransitionPoint>().SistemaLogin2();
Porem me retornou o seguinte erro :UnityException: GetComponentFastPath can only be called from the main thread.Constructors and field initializers will be executed from the loading thread when loading a scene.Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.UnityEngine.Component.GetComponent[T] () (at <29ad182faa3f478c9310d6a2e7143c15>:0)
elizandro159@gmail.com- Iniciante
- PONTOS : 2098
REPUTAÇÃO : 0
Áreas de atuação : Morador de Rua e Desempregado
Respeito as regras :
Re: Acessar metodo utilizando como trajeto objeto
Singleton Simples pode Resolver:
Modo de Usar:
- Código:
using UnityEngine;
public class ClasseTeste : MonoBehaviour
{
private static ClasseTeste _Teste;
public int VarInt;
private ClasseTeste() { } // CONSTRUTOR PRIVADO
private void Awake()
{
if (_Teste == null)
_Teste = this;
else if (_Teste != this)
Destroy(gameObject.GetComponent(_Teste.GetType()));
}
public static ClasseTeste Instancia()
{
return _Teste;
}
}
Modo de Usar:
- Código:
ClasseTeste.Instancia().VarInt = 6;
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Tópicos semelhantes
» Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
» Unity - Erro ao Acessar Classe de Objeto
» Como acessar uma variável de outro script sem saber o objeto?
» COMO INTRODUZO O NPC NO VEÍCULO UTILIZANDO O MS VEHICLE SYSTEM?
» Como ativar e desativar o Box Collider utilizando o RayCast.
» Unity - Erro ao Acessar Classe de Objeto
» Como acessar uma variável de outro script sem saber o objeto?
» COMO INTRODUZO O NPC NO VEÍCULO UTILIZANDO O MS VEHICLE SYSTEM?
» Como ativar e desativar o Box Collider utilizando o RayCast.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos