Exemplo n.º 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);
        }
        /*public void ui_world_TargetNPCNameplate(NPCData p, bool left)
         * {
         *  foreach (Nameplate n in nameplate_Parent.transform.GetComponentsInChildren<Nameplate>())
         *  {
         *      if (n.ID == p.uniqueID)
         *      {
         *          n.isTargeted = true;
         *      }
         *      else
         *      {
         *          n.isTargeted = false;
         *      }
         *  }
         *  e.getCombat().combat_setTarget(p);
         *  if (!left)
         *      Debug.Log("attack");
         * }*/

        public void ui_world_DeselectTarget()
        {
            e.getCombat().combat_clearTarget();
        }