public void world_createNPC(NPCCreateData npc) { BaseNPC_Client newNPC = GameObject.Instantiate(NPCPrefabs.NPC[npc.type], npc.position.V3, Quaternion.Euler(npc.rotation.V3)).GetComponent <BaseNPC_Client>(); newNPC.createFromState(npc); e.getUI().ui_world_CreateNPCNameplate(newNPC); if (newNPC.QuestsGiven.Count > 0 || newNPC.QuestsTaken.Count > 0) { world_updateNPCQuestMarker(newNPC); newNPC.onMouseRightClick.AddListener(delegate { e.getUI().ui_ingame_onNPCQuestDisplay(newNPC); }); } newNPC.onMouseLeftClick.AddListener(delegate { e.getCombat().combat_setTarget(newNPC); }); /*newNPC.onMouseOver.AddListener(delegate * { * e.getUI().ui_ingame_onNPCHoverStart(newNPC); * }); * * newNPC.onMouseExit.AddListener(delegate * { * e.getUI().ui_ingame_onNPCHoverEnd(); * });*/ NPCList.Add(npc.uniqueID, newNPC); }
public void createFromState(NPCCreateData data) { uniqueID = data.uniqueID; typeID = data.type; Name = data.name; Faction = (AI_Faction)data.faction; currentHealth = data.cHP; maxHealth = data.mHP; targetPosition = data.position.V3; targetRotation = Quaternion.Euler(data.rotation.V3); QuestsGiven = data.GivenQuests; QuestsTaken = data.TakenQuests; }