static void DrawGizmoForMyScript(Imported_ActivateInformation scr, GizmoType gizmoType) { if (scr.UseLine && scr.UseIconsForPoints) //se está ativada a opcao usar linhas e usar icono para pontos { if (scr.Points != null) //se vetor já está inicializado { if (scr.MyObject != null) //se o objeto principal ja foi atribuido no campo (nesse caso, terá que validar uma condicao a mais para criar os gizmos(ou icones)) { if (scr.MyObject.activeSelf) //se o objeto esta ativado { //criar os gizmos (ou icones) foreach (GameObject point in scr.Points) { if (point != null && point.activeSelf) //se o ponto (gameobject vazio que representa ele) já foi atribuido no campo, e está ativado { Gizmos.DrawIcon(point.transform.position, "Gizmo1", false); //criar os gizmos (ou icones) } } } } else //se objeto principal ainda nao foi atribuido no campo { //criar os gizmos (ou icones) foreach (GameObject point in scr.Points) { if (point != null && point.activeSelf) //se o ponto (gameobject vazio que representa ele) já foi atribuido no campo, e está ativado { Gizmos.DrawIcon(point.transform.position, "Gizmo1", false); //criar os gizmos (ou icones) } } } } } }
// Start is called before the first frame update void Start() { imported = false; importerUI = importer.GetComponent <ObjectImporterUI>(); QuestionControler_class = First_question.GetComponent <I_QuestionController1>(); ActivateInformation_class = ActivateInformation.GetComponent <Imported_ActivateInformation>(); }
private void OnEnable() { activateInformation = (Imported_ActivateInformation)target;//NOTA:foi necessario para acessar ao MyCanvas e obter o numero dos seus filhos, o que permitirá inicializar o vetor dos pontos (points) no valor obtido marker1 = serializedObject.FindProperty("marker1"); marker2 = serializedObject.FindProperty("marker2"); myObject = serializedObject.FindProperty("myObject"); informationFollowARCamera = serializedObject.FindProperty("informationFollowARCamera"); myARCamera = serializedObject.FindProperty("myARCamera"); informationSpeed = serializedObject.FindProperty("informationSpeed"); myCanvas = serializedObject.FindProperty("myCanvas");//notar que se acessa ao campo myCanvas, e nao a propriedade MyCanvas. texts3D = serializedObject.FindProperty("texts3D"); //sprites = serializedObject.FindProperty("sprites"); points = serializedObject.FindProperty("points"); //typeOfInformation = serializedObject.FindProperty("typeOfInformation"); useLine = serializedObject.FindProperty("useLine"); startWidthLine = serializedObject.FindProperty("startWidthLine"); endWidthLine = serializedObject.FindProperty("endWidthLine"); startColorLine = serializedObject.FindProperty("startColorLine"); endColorLine = serializedObject.FindProperty("endColorLine"); useIconsForPoints = serializedObject.FindProperty("useIconsForPoints"); }