public void UpdateRelationshipStatus(AI_NPC otherNPC) { otherNPC.UpdateRelationshipStatus(this); if (KnownNPCs.ContainsKey(otherNPC)) { KnownNPCs[otherNPC]++; } return; }
public void EndNpcDialogue() { AI_NPC ai = gameObject.GetComponent <AI_NPC>(); ai.StartCurrentState(); Managers.player.moveBlock = false; Cursor.visible = false; Managers.inventory.QuickBar.SetActive(true); QuickBar Qb = Managers.inventory.QuickBar.GetComponent <QuickBar>(); Qb.useBlock = false; }
public void ExploreNpc() { if (!battleMode && currentHP > 0) { NPC_Dialogue npcDialogue = gameObject.GetComponent <NPC_Dialogue>(); if (npcDialogue != null) { //Проверить есть ли хоть 1 активный вариант диалога с этим NPC AI_NPC ai = gameObject.GetComponent <AI_NPC>(); //Блокировка движения обеих персонажей if (ai != null) { ai.StartState(AI_STATE.IDLE_STATE); } Managers.player.moveBlock = true; Managers.player.myAnimator.SetFloat("speed", 0); gameObject.transform.LookAt(Managers.player.playerT);//Повернуть лицом к персонажу Managers.player.playerT.LookAt(gameObject.transform); npcDialogue.UpdateDialogButton(); Managers.textDialogMgr.TextDialogWindow.SetActive(true); Managers.textDialogMgr.TextDialogArea.SetActive(true); Cursor.visible = true; Managers.inventory.QuickBar.SetActive(false); QuickBar Qb = Managers.inventory.QuickBar.GetComponent <QuickBar>(); Qb.useBlock = true; } } else if (isDead) { if (gameItemList.Count > 0) { Managers.itemCollectionInterface.npc = this; Managers.itemCollectionInterface.UpdateItemCollectionInterface(); Managers.itemCollectionInterface.itemCollectionlWindow.SetActive(true); Cursor.visible = true; Managers.player.moveBlock = true; } } }
public override void GetDamage(int damage, Transform damageObject) { AI_NPC ai = gameObject.GetComponent <AI_NPC>(); if (ai != null) { ai.AddNewTarget(damageObject); } //battleMode = true; currentHP -= damage; if (currentHP <= 0) { currentHP = 0; isDead = true; thisAnimator.SetFloat("speed", 0.0f); thisAnimator.SetBool("IsDead", true); thisAgent.isStopped = true; AI_NPC thisNPC = gameObject.GetComponent <AI_NPC>(); if (thisNPC != null) { thisNPC.StopAllCoroutines(); } //Дать возможность забрать оружие if (currentWeapon != null) { currentWeapon.isEquipped = false; Collider weaponCollider = currentWeapon.GetComponent <Collider>(); if (weaponCollider != null) { weaponCollider.enabled = true; } } } }