Ejemplo n.º 1
0
    private GameManager gameManager;                    // Game manager reference
    #endregion

    #region Main Methods
    public void AwakeBehaviour(Character player)
    {
        // Get references
        gameManager = GameManager.Instance;
        playerChar  = player;

        // Initialize values
        brilliantMat = pilarRenderer.materials[index];
        shadowColor  = brilliantMat.GetColor("_SColor");
        rimColor     = brilliantMat.GetColor("_RimColor");

        // Instantiate interact game object
        GameObject newObject = (GameObject)Instantiate(interactPrefab, Vector3.zero, Quaternion.identity);

        // Get input UI reference from new object
        InputUI newUI = newObject.GetComponent <InputUI>();

        // Add new input UI reference to interface manager inputs list
        interfaceManager.Inputs.Add(newUI);

        // Initialize new input UI reference
        newUI.AwakeBehaviour();

        // Set new interact object parent to the interact root transform
        newObject.transform.SetParent(interactRoot, false);

        // Get transform and rect transform references from new object
        interactUI   = newObject.transform;
        interactRect = newObject.GetComponent <RectTransform>();
        interactRect.anchoredPosition = Vector2.zero;

        // Disable interact game object by default
        interactUI.gameObject.SetActive(false);

        if (lineRenderer)
        {
            // Initialize line renderer positions and get values
            linePositions = new Vector3[lineRenderer.transform.childCount];
            for (int i = 0; i < linePositions.Length; i++)
            {
                linePositions[i] = lineRenderer.transform.GetChild(i).position;
            }

            // Initialize line renderer
            lineRenderer.useWorldSpace = true;
            lineRenderer.SetVertexCount(linePositions.Length);
            lineRenderer.SetPositions(linePositions);
            laserEnd.position = linePositions[1];
        }
    }
Ejemplo n.º 2
0
    private float vibrationCounter;                     // Gamepad vibration time counter
    #endregion

    #region Main Methods
    public void AwakeBehaviour(Character player)
    {
        // Get references
        gameManager = GameManager.Instance;
        playerChar  = player;

        // Initialize values
        canInvoke = true;
        Renderer[] renderers = GetComponentsInChildren <Renderer>();
        materials = new Material[renderers.Length];

        // Get references
        for (int i = 0; i < renderers.Length; i++)
        {
            materials[i] = renderers[i].material;
        }

        // Instantiate interact game object
        GameObject newObject = (GameObject)Instantiate(interactPrefab, Vector3.zero, Quaternion.identity);

        // Get input UI reference from new object
        InputUI newUI = newObject.GetComponent <InputUI>();

        // Add new input UI reference to interface manager inputs list
        interfaceManager.Inputs.Add(newUI);

        // Initialize new input UI reference
        newUI.AwakeBehaviour();

        // Set new interact object parent to the interact root transform
        newObject.transform.SetParent(interactRoot, false);

        // Get transform and rect transform references from new object
        interactUI   = newObject.transform;
        interactRect = newObject.GetComponent <RectTransform>();
        interactRect.anchoredPosition = Vector2.zero;

        // Disable interact game object by default
        interactUI.gameObject.SetActive(false);
    }