Example #1
0
    void selectBlock()
    {
        GameObject[] cubes = GameObject.FindGameObjectsWithTag("level");

        BlockDestroy selectboolget;
        bool         selectbool = false;
        int          iterations = 50;

        bool isedge = false;

        if (cubes.Length > 0)
        {
            do
            {
                int selector = Random.Range(0, cubes.Length);

                target = cubes[selector];

                if (target != null)
                {
                    selectboolget = target.GetComponent <BlockDestroy>();

                    selectbool = selectboolget.canBeSelected;
                    isedge     = levelSettings.isEdge(target.transform.position);
                    if (isedge)
                    {
                        break;
                    }
                }
                else
                {
                    continue;
                }
                iterations--;
            }while(iterations > 0);
            if (iterations <= 0)
            {
                iterations = 50;
                do
                {
                    iterations--;
                    int selector = Random.Range(0, cubes.Length);

                    target = cubes[selector];

                    if (target != null)
                    {
                        selectboolget = target.GetComponent <BlockDestroy>();
                        selectbool    = selectboolget.canBeSelected;
                        break;
                    }
                } while(iterations > 0);
            }

            if (selectbool && pathfinder.nodeGridInitialised)
            {
                target.SendMessage("canSelect", false);
                target.SendMessage("attachedRobot", this.gameObject);
                pathfinder.setTargetNode(target.transform.position);
                pathfinder.findPath = true;
                needsSelection      = false;
            }
        }
    }