예제 #1
0
    void OnMouseExit()
    {
        NodeFunctions  n    = GetComponentInParent <NodeFunctions> ();
        testBrain      b    = n.player.GetComponent("testBrain") as testBrain;
        SpriteRenderer rend = gameObject.GetComponent("SpriteRenderer") as SpriteRenderer;

        if (!b.done)
        {
            rend.sprite = null; renderer.material.color = Color.white;
        }
    }
예제 #2
0
    void OnMouseOver()
    {
        NodeFunctions  n    = GetComponentInParent <NodeFunctions> ();
        testBrain      b    = n.player.GetComponent("testBrain") as testBrain;
        SpriteRenderer rend = gameObject.GetComponent("SpriteRenderer") as SpriteRenderer;

        if (n.firstClick && !b.done)
        {
            rend.sprite = n.sprite; renderer.material.color = Color.yellow;
        }
        else if (!n.firstClick && !n.secondClick)
        {
            rend.sprite = n.sprite; renderer.material.color = Color.red;
        }
    }
    public void recieveClick()
    {
        if (!firstClick)
        {
            testBrain brain = player.GetComponent("testBrain") as testBrain;
            firstClick = true;
            player.transform.position = activeNode.transform.position;
            brain.startNode           = activeNode.gameObject;
            activeNode.Inhabited      = player;
            rend        = activeNode.GetComponent <SpriteRenderer>();
            rend.sprite = null;
        }

        else if (firstClick && !secondClick && activeNode.Inhabited == null && !SecondMode)
        {
            secondClick = true;
            floater.transform.position = activeNode.transform.position;
            activeNode.Inhabited       = floater;
            floater.SetActive(true);
            player.SetActive(true);
        }

        else if (firstClick && !secondClick && activeNode.Inhabited == null && SecondMode)
        {
            senTest radar = player.GetComponent("senTest") as senTest;
            if (radar.prevNodes.Length > 0)
            {
                GameObject minDist = null;
                for (int i = 0; i < radar.prevNodes.Length; i++)
                {
                    if (minDist == null)
                    {
                        minDist = radar.prevNodes[i].gameObject;
                    }
                    else
                    {
                        float nodeDist = Vector3.Distance(player.transform.position, radar.prevNodes[i].transform.position);
                        float currDist = Vector3.Distance(player.transform.position, minDist.transform.position);
                        if (nodeDist < currDist)
                        {
                            minDist = radar.prevNodes[i].gameObject;
                        }
                    }
                }

                secondClick = true;
                testBrain brain = player.GetComponent("testBrain") as testBrain;
                brain.startNode = minDist;
                NodeData min = minDist.GetComponent("NodeData") as NodeData;
                player.transform.position = minDist.transform.position;
                min.Inhabited             = player;



                floater.transform.position = activeNode.transform.position;
                activeNode.Inhabited       = floater;
                floater.SetActive(true);

                brain.Initiate();
            }
        }
    }