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; } } }
// ######################################################### // -------------------- 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(); }