Exemple #1
0
        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);
        }
Exemple #2
0
 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;
 }