public void Die() { if (deathDialogue != null) { GameObject newDialogue = new GameObject("BossDeathDialogue"); if (activeTargetGO != null) { ActionObject actionObj = newDialogue.AddComponent <ActionObject>(); actionObj.activeActionTarget = activeTargetGO; } DialogueObject dialogueObj = newDialogue.AddComponent <DialogueObject>(); dialogueObj.dialogueData = deathDialogue; dialogueObj.StartConversation(); } Destroy(gameObject); }
private void Update() { if (!dialogueMode) { float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); if (h > 0.5f) { dirEnum = Direction.RIGHT; } else if (h < -0.5f) { dirEnum = Direction.LEFT; } if (v > 0.5f) { dirEnum = Direction.UP; } else if (v < -0.5f) { dirEnum = Direction.DOWN; } Vector2 rayDir = GetDirection(); RaycastHit2D rayHit = Physics2D.Raycast(playerTransform.position, rayDir * 2f); if (rayHit.collider == null) { return; } if (rayHit.collider.tag == "Dialogue") { if (Input.GetKeyDown(KeyCode.C)) { DialogueObject dialogueObj = rayHit.collider.gameObject.GetComponent <DialogueObject>(); dialogueObj.StartConversation(); } } } }