How to check/find if a Gameobject present under a Transform is hidden or active?

How to check/find if a Gameobject present under a Transform is hidden or active?

I am clicking a button accordingly models display in the scene.When I click the same button again the same model appears twice.How to stop this. i.e. If model/Gameobject already loaded then no need to load again.

I am clicking a button accordingly models display in the scene.When I click the same button again the same model appears twice.How to stop this. i.e. If model/Gameobject already loaded then no need to load again.

I am using Gameobject.find here.When I click one button models corresponding model comes and other model present in the scene disappears.At this time Gameobject.find will not work since other model is hidden.Any better solution.Please look at the code below too many if else. :)

private string _assetname;

public void LoadAsstBundles(int choice) { if (choice == 1) { _assetname = “Chair1”; } else if (choice == 2) { _assetname = “Chair2”; } else if (choice == 3) { _assetname = “Chair3”;

}


if (_assetsBundle == null)
{
    Debug.Log("Could Not load AssetBundles");
}
else
{


    if (GameObject.Find(_assetname + "(Clone)"))
    {
        Debug.Log("Already Loaded");
    }

    else
    {

        var asset = _assetsBundle.LoadAsset(_assetname);

        int childcounts = ParentTransform.childCount;

        Debug.Log("Asset name nw ==" + asset.name);


        Debug.Log("Asset Bundles Loaded");

        var go = (GameObject)Instantiate(asset, ParentTransform);

        int option = go.transform.GetSiblingIndex();


        int childcount = ParentTransform.childCount;

        for (int i = 0; i < childcount; i++)
        {

            if (option == i)
            {
                ParentTransform.GetChild(i).gameObject.SetActive(true);
                continue;
            }
            ParentTransform.GetChild(i).gameObject.SetActive(false);

        }

    }

}

}

c# unity3d augmented-reality arkit

shareimprove this question

edited 2 mins ago


asked 34 mins ago

zyonneo

4082720

add a comment

1 Answer

active

oldest

votes


0


I used the Parenttransform.find to get the child hidden objects.Bit lengthy.Any updated code are welcome.

public void LoadAsstBundles(int choice)
        {
            if(choice==1)
            {
                _assetname = "Chair1";
            }
            else if(choice == 2)
            {
                _assetname = "Chair2";
            }
            else if(choice == 3)
            {
                _assetname = "Chair3";

        }

if (_assetsBundle==null)
{
    Debug.Log("Could Not load AssetBundles");
}
else
{

   var asset= _assetsBundle.LoadAsset(_assetname);

    //if (GameObject.Find(_assetname + "(Clone)"))
    //{
    //    Debug.Log("Already Loaded");
    //}


    if(ParentTransform.Find(_assetname+ "(Clone)")== true)
    {
        Debug.Log("Already Loaded");

        int childcount = ParentTransform.childCount;
        for (int i = 0; i < childcount; i++)
        {

            if (choice == i)
            {
                ParentTransform.GetChild(i).gameObject.SetActive(true);
                continue;
            }
            ParentTransform.GetChild(i).gameObject.SetActive(false);

        }


    }

    else
    {


        Debug.Log("Asset Bundles Loaded");

        var go = (GameObject)Instantiate(asset, ParentTransform);

        int option = go.transform.GetSiblingIndex();
        _loadednames.Add(go.name);




        Debug.Log("Sibling index == " + go.transform.GetSiblingIndex());

        int childcount = ParentTransform.childCount;

        for (int i = 0; i < childcount; i++)
        {

            if (option == i)
            {
                ParentTransform.GetChild(i).gameObject.SetActive(true);
                continue;
            }
            ParentTransform.GetChild(i).gameObject.SetActive(false);

        }


    }

}

}


Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

Brave, Chrome, Firefox, Opera or Edge: Which is Better and Faster?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

C/C++ vs. Rust: A developer’s perspective

In this post, you'll see the difference between Rust and C/C++ in a developer’s perspective

some issues with a c# jumping code in unity

This the code I am having issues with, in fact when I press the space button, the player will just repeat the animation of jump and even the right arrow doesn't work anymore.