Esempio 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 combat_clearTarget()
 {
     if (CombatTarget != null)
     {
         CombatTarget.UI_Nameplate.setTargetted(false);
         CombatTarget = null;
     }
 }
Esempio n. 3
0
 public void Open(BaseNPC_Client n)
 {
     if (NPCRef != n)
     {
         NPCRef = n;
     }
     RebuildListWindow();
     ShowListWindow();
 }
        public void ui_ingame_onNPCQuestDisplay(BaseNPC_Client n)
        {
            float Distance = Vector3.Distance(e.getWorld().Player_Self.transform.position, n.gameObject.transform.position);

            if (Distance < 5f)
            {
                QuestPopup.Open(n);
            }
        }
        public void combat_setTarget(BaseNPC_Client n)
        {
            if (CombatTarget != null)
            {
                CombatTarget.UI_Nameplate.setTargetted(false);
            }

            CombatTarget = n;
            CombatTarget.UI_Nameplate.setTargetted(true);
        }
Esempio n. 6
0
        public void Create(Client_Engine eng, BaseNPC_Client n)
        {
            e = eng;
            gameObject.name = n.uniqueID + "_Nameplate";
            Vector3 viewPos = Camera.main.WorldToViewportPoint(n.gameObject.transform.position);

            transform.position = new Vector3((viewPos.x - 0.5f) * Camera.main.pixelWidth, (viewPos.y - 0.5f) * Camera.main.pixelHeight, 0f);
            playerTarget       = n.gameObject;
            setNameplateName(n.Name);
            setNameplateColor((int)n.Faction);
            setNameplateHealthValues(n.currentHealth, n.maxHealth);
            //parent.Nameplate.GetComponent<Nameplate>().setNameplateEnergyValues(state.curEnergy, state.maxEnergy);
            ID = n.uniqueID;
        }
Esempio n. 7
0
        public void world_updateNPCQuestMarker(BaseNPC_Client n)
        {
            // Available & acceptable quest > unfinished quest turnin
            // unfinished quest turnin > unavailable quest
            // finished quest turnin > Available & acceptable quest
            // unavailable quest > no turn ins

            if (n.QuestsGiven.Count > 0 || n.QuestsTaken.Count > 0)
            {
                bool hasFinished       = false;
                bool isFinalStage      = false;
                bool hasQuestAvailable = false;

                if (Player_Self.ActiveQuests.Count > 0)
                {
                    foreach (string s in n.QuestsTaken)
                    {
                        foreach (QuestData q in Player_Self.ActiveQuests)
                        {
                            if (q.ID == s)
                            {
                                if (Quests.QList[q.ID].isQuestFinished(q))
                                {
                                    Debug.Log("Taken quests, Has active, is finished");
                                    hasFinished = true;
                                    break;
                                }
                                else if (Quests.QList[q.ID].isQuestFinalStage(q))
                                {
                                    Debug.Log("Taken quests, Has active, is final stage");
                                    isFinalStage = true;
                                }
                            }
                        }
                    }
                }
                foreach (string s in n.QuestsGiven)
                {
                    if (Player_Self.FinishedQuests.Count > 0)
                    {
                        if (!Player_Self.FinishedQuests.Contains(s))
                        {
                            if (Quests.QList[s].isQuestAvailable(Player_Self))
                            {
                                Debug.Log("Given quests, Has finished quests, has not done quest");
                                hasQuestAvailable = true;
                            }
                        }
                    }

                    if (Player_Self.ActiveQuests.Count > 0)
                    {
                        if (!Player_Self.ActiveQuests.Any(x => x.ID == s))
                        {
                            if (Quests.QList[s].isQuestAvailable(Player_Self))
                            {
                                Debug.Log("Given quests, has active quests, does not already have quest");
                                hasQuestAvailable = true;
                            }
                        }
                    }
                    else if (Quests.QList[s].isQuestAvailable(Player_Self))
                    {
                        Debug.Log("Given quests, no active quests, does not already have quest");
                        hasQuestAvailable = true;
                    }
                }

                Debug.Log(hasFinished + " " + hasQuestAvailable + " " + isFinalStage);
                if (hasFinished)
                {
                    n.toggleQuestMarkers(false, true, true);
                }
                else if (hasQuestAvailable)
                {
                    n.toggleQuestMarkers(true, false, true);
                }
                else if (isFinalStage)
                {
                    n.toggleQuestMarkers(false, true, false);
                }
                else
                {
                    n.toggleQuestMarkers(false, false, false);
                }
            }
            else
            {
                n.toggleQuestMarkers(false, false, false);
            }
        }
 public void ui_ingame_onNPCHoverStart(BaseNPC_Client n)
 {
     //if (ActionbarButtons[i].GetSkill() != null)
     //    ui_ingame_showTooltip(0, ActionbarButtons[i].GetSkill().skillName, ActionbarButtons[i].GetSkill().getDescription());
     ui_ingame_showTooltip(0, n.Name, "Level " + n.Level);
 }
 public void ui_world_CreateNPCNameplate(BaseNPC_Client parent)
 {
     parent.UI_Nameplate = GameObject.Instantiate(nameplateNPC_Prefab, nameplate_Parent.transform).GetComponent <Nameplate>();
     parent.UI_Nameplate.Create(e, parent);
 }