private void OnMouseOverEnemy(EnemyAI enemy) { if (Input.GetMouseButtonDown(0)) { if (!player.WeaponSystem.IsInRange(enemy.transform.position)) { if (movementCoroutine == null) { currentTarget = enemy; StartCoroutine(MoveInRange(enemy.transform, () => MoveToAttackEnemyCallback())); } } else { var health = enemy.GetComponent <Health>(); if (health != null) { player.WeaponSystem.TryAttack(health); } } } if (Input.GetMouseButtonDown(1)) { if (movementCoroutine == null) { currentTarget = enemy; StartCoroutine(MoveInRange(enemy.transform, () => MoveToPowerAttackEnemyCallback())); } else { specialAbilities.TryPerformPowerAttack(enemy.Health); } } }
void onMouseOverNPC(EnemyAI NPC) { if (Input.GetMouseButton(0)) { // TODO@: Go To NPC StartCoroutine(MoveToTarget(NPC.gameObject)); // Start Dialogue Seuquence. if (Vector3.Distance(NPC.transform.position, this.gameObject.transform.position) < 5) { var dialogueTrigger = NPC.GetComponent <DialogueTrigger>(); if (dialogueTrigger) { dialogueTrigger.TriggerDialogue(); NPC.transform.LookAt(gameObject.transform); } } } }