Esempio n. 1
0
    public void OnEndDrag(PointerEventData eventData)
    {
        List <RaycastResult> raycastResult = raycaster.Raycast();

        if (raycastResult[0].gameObject.GetComponent <Button>() != null)
        {
            Debug.Log(raycastResult[0]);

            Button button = raycastResult[0].gameObject.GetComponent <Button>();
            button.GetComponent <Image>().sprite = GetComponent <Image>().sprite;

            button.onClick = GetComponent <Button>().onClick;
        }

        transform.localPosition = startPos;
        GetComponent <Image>().raycastTarget = true;

        TPS_Hotbar hotbar = raycastResult[0].gameObject.GetComponentInParent <TPS_Hotbar>();

        for (int i = 0; i < hotbar.buttons.Length; i++)
        {
            if (raycastResult[0].gameObject.GetComponent <Button>() == hotbar.buttons[i])
            {
                Debug.Log("Button Match!  Index: " + i);
                hotbar.abilities[i] = GetComponent <RPG3_ButtonHandler>().ability;
            }
        }
    }
Esempio n. 2
0
    // #########################################################
    // -------------------- INITIALIZATION ------------------- #
    // #########################################################

    protected override void Awake()
    {
        base.Awake();

        entity     = GetComponent <TPS_Entity>();
        controller = GetComponent <CharacterController>();
        hotbar     = GetComponent <TPS_Hotbar>();

        // Values
        isFalling = true;

        if (owner != null)
        {
            // Cursor
            Cursor.lockState = CursorLockMode.Locked;
            Cursor.visible   = false;
        }

        else
        {
            guiCanvas.enabled = false;
        }

        switch (selectClass)
        {
        default:
        case RPG3_ClassList.Warrior:
            currentClass = ScriptableObject.CreateInstance <RPG3_Warrior>();
            break;

        case RPG3_ClassList.Rogue:
            currentClass = ScriptableObject.CreateInstance <RPG3_Rogue>();
            break;

        case RPG3_ClassList.Mage:
            currentClass = ScriptableObject.CreateInstance <RPG3_Mage>();
            break;
        }

        for (int i = 0; i < currentClass.abilities.Count; i++)
        {
            abilityManager.GetComponent <RPG3_AbilityPanel>().Initialize(this, currentClass.abilities[i]);
        }

        switch (currentClass.resourceType)
        {
        case RPG3_ResourceType.Rage:
            resourceBar.color  = Color.red;
            entity.maxHealth   = currentClass.baseHealth + (currentClass.stamina * 8);
            entity.maxResource = currentClass.baseResource;
            entity.resource    = 0;
            break;

        case RPG3_ResourceType.Mana:
            resourceBar.color  = Color.blue;
            entity.maxHealth   = currentClass.baseHealth + (currentClass.stamina * 8);
            entity.maxResource = currentClass.baseResource + (currentClass.intellect * 8);
            entity.resource    = entity.maxResource;
            break;

        case RPG3_ResourceType.Energy:
            resourceBar.color  = Color.yellow;
            entity.maxHealth   = currentClass.baseHealth + (currentClass.stamina * 8);
            entity.maxResource = currentClass.baseResource;
            entity.resource    = entity.maxResource;
            break;

        default: break;
        }

        currentClass.entity = entity;
        characterInfo.GetComponent <RPG3_CharacterInfoManager>().controller = this;
        //hotbar.UpdateIcons();
    }