void OnMissionDeleteBtnClick(UIMissionGoalNode node) { if (onMissionDeleteClick != null) { onMissionDeleteClick(node); } }
void OnDestroyViewNode(UIMissionGoalNode node) { if (onDestroyViewNode != null) { onDestroyViewNode(node); } }
void OnSetViewNodeChildContent(int index, GameObject child) { UIMissionGoalNode node = child.GetComponent <UIMissionGoalNode>(); MissionGoal mg = _goals[index]; string txt = ""; if (mg is MissionGoal_Bool) { MissionGoal_Bool mb = mg as MissionGoal_Bool; txt = mb.text; node.value2 = mg.id; } else if (mg is MissionGoal_Item) { MissionGoal_Item mi = mg as MissionGoal_Item; txt = mi.text + " " + mi.current.ToString() + "/" + mi.target.ToString(); node.value0 = mi.current; node.value1 = mi.target; node.value2 = mg.id; } else if (mg is MissionGoal_Kill) { MissionGoal_Kill mi = mg as MissionGoal_Kill; txt = mi.text + " " + mi.current.ToString() + "/" + mi.target.ToString(); node.value0 = mi.current; node.value1 = mi.target; node.value2 = mg.id; } node.SetContent(txt, false, false); }
void OnMissionTrackBoxChecked(bool active, UIMissionGoalNode node) { int type = 0; if (m_MainStoryNodes.Count > node.index && m_MainStoryNodes[node.index] == node) { type = 0; } else if (m_SideQuestNodes.Count > node.index && m_SideQuestNodes[node.index] == node) { type = 1; } else { type = -1; } if (type != -1) { if (onTrackBoxSelected != null) { onTrackBoxSelected(active, type, node); } } }
public void AddMainStoryNode() { UIMissionGoalNode node = UIUtility.CreateItem <UIMissionGoalNode>(missionNodePrefab, mainStoryTb.transform); m_MainStoryNodes.Add(node); OnSetMainStoryNodeContent(m_MainStoryNodes.Count - 1, node); mainStoryTb.repositionNow = true; }
public void AddSideQuestNode() { UIMissionGoalNode node = UIUtility.CreateItem <UIMissionGoalNode>(missionNodePrefab, sideQuestTb.transform); m_SideQuestNodes.Add(node); OnSetSideQuestNodeContent(m_SideQuestNodes.Count - 1, node); sideQuestTb.repositionNow = true; }
void OnSetViewNodeContent(int index, UIMissionGoalNode node) { node.index = index; if (onSetViewNodeContent != null) { onSetViewNodeContent(node); } }
public void AddViewNode() { UIMissionGoalNode node = UIUtility.CreateItem <UIMissionGoalNode>(viewNodePrefab, viewTable.transform); m_ViewNodes.Add(node); OnSetViewNodeContent(m_ViewNodes.Count - 1, node); viewTable.repositionNow = true; return; }
void OnSetSideQuestNodeContent(int index, UIMissionGoalNode node) { node.index = index; node.onTitleClick += OnMissionTitileClick; node.onDeleteBtnClick += OnMissionDeleteBtnClick; node.onTrackBoxActive += OnMissionTrackBoxChecked; if (onSetNodeContent != null) { onSetNodeContent(1, node); } }
public void RemoveViewNode(int index) { if (index < 0 && index >= m_ViewNodes.Count) { return; } UIMissionGoalNode node = m_ViewNodes[index]; OnDestroyViewNode(node); Destroy(node.gameObject); node.transform.parent = null; m_ViewNodes.RemoveAt(index); return; }
void OnUnsetMissionGoal(int goal_id, int mission_id) { int index = m_TrackedIds.FindIndex(item0 => item0 == mission_id); if (index != -1) { SortedList <int, MissionGoal> goals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_TrackedIds[index]); if (goals != null) { int goal_index = goals.IndexOfKey(goal_id); if (goal_index != -1) { UIMissionGoalNode node = missionTrackWnd.GetNode(index); node.RemoveChildeNode(goal_index); } } } }
void OnGoalAchieve(int goal_id, int mission_id) { int index = m_TrackedIds.FindIndex(item0 => item0 == mission_id); if (index != -1) { SortedList <int, MissionGoal> goals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_TrackedIds[index]); if (goals != null) { int goal_index = goals.IndexOfKey(goal_id); UIMissionGoalNode child_node = missionTrackWnd.GetNode(index).childNode[goal_index].GetComponent <UIMissionGoalNode>(); if (child_node != null) { child_node.titleColor = new Color(0.65f, 0.65f, 0.65f); } } } }
void OnTrackBoxSelected(bool active, int type, UIMissionGoalNode node) { int mission_id = -1; if (type == 0) { mission_id = m_MainStoryIds[node.index]; } else if (type == 1) { mission_id = m_SideQuestIdes[node.index]; } if (mission_id != -1) { PeCustomScene.Self.scenario.missionMgr.SetMissionIsTracked(mission_id, active); Debug.Log("Do mission [" + mission_id.ToString() + "] track"); } }
void OnMissionTrackChanged(int mission_id, bool is_tracked) { int index = m_MainStoryIds.FindIndex(item0 => item0 == mission_id); if (index != -1) { UIMissionGoalNode node = missionWnd.mainStoryNodes[index]; node.isTracked = is_tracked; } else { index = m_SideQuestIdes.FindIndex(item0 => item0 == mission_id); if (index != -1) { UIMissionGoalNode node = missionWnd.sidQuestNodes[index]; node.isTracked = is_tracked; } } }
void OnViewNodeSetContent(UIMissionGoalNode node) { MissionProperty mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(m_TrackedIds[node.index]); node.SetContent("[C8C800]" + mp.name + "[-]", false, false); node.onSetChildNodeContent += OnSetViewNodeChildContent; SortedList <int, MissionGoal> goals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_TrackedIds[node.index]); if (goals != null) { _goals = goals.Values; node.UpdateChildNode(_goals.Count, missionTrackWnd.childNodePrefab); node.PlayTween(true); } else { node.UpdateChildNode(0, missionTrackWnd.childNodePrefab); } }
void OnMissionTitileClick(UIMissionGoalNode node) { int type = -1; Transform trans = node.transform; if (trans.parent == mainStoryTb.transform) { type = 0; node.IsSelected = true; selectedNode = node; for (int i = 0; i < m_MainStoryNodes.Count; i++) { if (m_MainStoryNodes[i] != node) { m_MainStoryNodes[i].IsSelected = false; } } } else if (trans.parent = sideQuestRoot.transform) { type = 1; node.IsSelected = true; selectedNode = node; for (int i = 0; i < m_SideQuestNodes.Count; i++) { if (m_SideQuestNodes[i] != node) { m_SideQuestNodes[i].IsSelected = false; } } } if (onMissionNodeClick != null) { onMissionNodeClick(type, node); } }
void OnSetMissionGoal(int goal_id, int mission_id) { int index = m_TrackedIds.FindIndex(item0 => item0 == mission_id); if (index != -1) { UIMissionGoalNode node = missionTrackWnd.GetNode(index); SortedList <int, MissionGoal> goals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_TrackedIds[node.index]); if (goals != null) { _goals = goals.Values; node.UpdateChildNode(goals.Count, missionTrackWnd.childNodePrefab); node.PlayTween(true); } else { node.UpdateChildNode(0, missionTrackWnd.childNodePrefab); } missionTrackWnd.repositionNow = true; } }
void OnMissionDeleteClick(UIMissionGoalNode node) { //MessageBox_N.ShowYNBox("Sure to") _deleteMissionId = -1; // Main Stroy if (missionWnd.MissionType == 0) { _deleteMissionId = m_MainStoryIds[node.index]; } else if (missionWnd.MissionType == 1) { _deleteMissionId = m_SideQuestIdes[node.index]; } if (_deleteMissionId != -1) { MissionProperty mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(_deleteMissionId); if (mp != null) { if (mp.canAbort) { MessageBox_N.ShowYNBox(PELocalization.GetString(8000066), DeleteMissionOk); } else { //lz-2016.10.31 The mission can't be aborted. new PeTipMsg(PELocalization.GetString(8000850), PeTipMsg.EMsgLevel.Warning); } } else { Debug.LogError("Get the Deleted Mission property is error"); } } }
void OnSetNodeContent(int type, UIMissionGoalNode node) { // Main Story MissionProperty mp = null; bool can_track = false; if (type == 0) { mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(m_MainStoryIds[node.index]); can_track = PeCustomScene.Self.scenario.missionMgr.MissionIsTracked(m_MainStoryIds[node.index]); } else if (type == 1) { mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(m_SideQuestIdes[node.index]); can_track = PeCustomScene.Self.scenario.missionMgr.MissionIsTracked(m_SideQuestIdes[node.index]); } if (mp != null) { node.SetContent(mp.name, mp.canAbort, true); node.IsSelected = false; node.isTracked = can_track; } }
void OnMissionNodeClick(int type, UIMissionGoalNode node) { RefreshNodeSelected(); DetachGoalEvent(); MissionProperty mp = null; if (type == 0) { mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(m_MainStoryIds[node.index]); _currentGoals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_MainStoryIds[node.index]); if (_currentGoals != null) { _goals = _currentGoals.Values; } _currentMissionId = m_MainStoryIds[node.index]; } else if (type == 1) { mp = PeCustomScene.Self.scenario.missionMgr.GetMissionProperty(m_SideQuestIdes[node.index]); _currentGoals = PeCustomScene.Self.scenario.missionMgr.GetGoals(m_SideQuestIdes[node.index]); if (_currentGoals != null) { _goals = _currentGoals.Values; } _currentMissionId = m_SideQuestIdes[node.index]; } else { _currentMissionId = -1; _currentGoals = null; _goals = null; _rewardItemIds = null; _rewardItemCount = null; } if (mp != null) { // Begin Npc if (CustomGameData.Mgr.Instance != null && CustomGameData.Mgr.Instance.curGameData.WorldIndex == mp.beginNpcWorldIndex) { SpawnPoint sp = PeCustomScene.Self.spawnData.GetSpawnPoint(mp.beginNpcId); if (sp as NPCSpawnPoint != null) { NpcProtoDb.Item proto = NpcProtoDb.Get(sp.Prototype); missionWnd.SetMissionAbout(sp.Name, proto.iconBig, mp.objective); } else if (sp as MonsterSpawnPoint != null) { MonsterProtoDb.Item proto_mst = MonsterProtoDb.Get(sp.Prototype); missionWnd.SetMissionAbout(sp.Name, proto_mst.icon, mp.objective); } else { missionWnd.SetMissionAbout("None", "npc_big_Unknown", mp.objective); //Debug.LogWarning("The Npc Id [" + mp.beginNpcId.ToString() + "] spawn point is not exist"); } } else { missionWnd.SetMissionAbout("None", "npc_big_Unknown", mp.objective); } // End Npc if (CustomGameData.Mgr.Instance != null && CustomGameData.Mgr.Instance.curGameData.WorldIndex == mp.endNpcWorldIndex) { SpawnPoint sp = PeCustomScene.Self.spawnData.GetSpawnPoint(mp.endNpcId); if (sp as NPCSpawnPoint != null) { NpcProtoDb.Item proto = NpcProtoDb.Get(sp.Prototype); missionWnd.SetRewardInfo(sp.Name, proto.iconBig); } else if (sp as MonsterSpawnPoint != null) { MonsterProtoDb.Item proto_mst = MonsterProtoDb.Get(sp.Prototype); missionWnd.SetRewardInfo(sp.Name, proto_mst.icon); } else { missionWnd.SetRewardInfo("None", "npc_big_Unknown"); Debug.LogWarning("The Npc Id [" + mp.endNpcId.ToString() + "] spawn point is not exist"); } } else { missionWnd.SetRewardInfo("None", "npc_big_Unknown"); } // Reward if (mp.rewardDesc != null) { missionWnd.SetRewardDesc(mp.rewardDesc); } else { _rewardItemIds = mp.rewardItemIds; _rewardItemCount = mp.rewardItemCount; missionWnd.UpdateRewardItem(mp.rewardItemIds.Count); } } // goal if (_currentGoals != null) { AttachGoalEvent(); missionWnd.UpdateGoalItem(_currentGoals.Count); } }
void OnDestroyMissionNode(UIMissionGoalNode node) { node.onTitleClick -= OnMissionTitileClick; node.onDeleteBtnClick -= OnMissionDeleteBtnClick; node.onTrackBoxActive -= OnMissionTrackBoxChecked; }
void OnDestroyViewNode(UIMissionGoalNode node) { node.onSetChildNodeContent -= OnSetViewNodeChildContent; }
void Update() { if (!_initialized) { return; } if (missionTrackWnd.isShow) { for (int i = 0; i < missionTrackWnd.viewNodes.Count; i++) { UIMissionGoalNode vNode = missionTrackWnd.viewNodes[i]; int mission_id = m_TrackedIds[i]; for (int j = 0; j < vNode.childNode.Count; j++) { UIMissionGoalNode child_node = vNode.childNode[j].GetComponent <UIMissionGoalNode>(); MissionGoal mg = PeCustomScene.Self.scenario.missionMgr.GetGoal(child_node.value2, mission_id); if (mg != null) { if (mg is MissionGoal_Item) { MissionGoal_Item mgi = mg as MissionGoal_Item; int current = mgi.current; int target = mgi.target; if (current != child_node.value0 || target != child_node.value1) { if (mgi.achieved) { child_node.titleColor = new Color(0.65f, 0.65f, 0.65f); } else { child_node.titleColor = Color.white; } string text = mgi.text + " " + mgi.current.ToString() + "/" + mgi.target.ToString(); child_node.SetContent(text, false, false); child_node.value0 = current; child_node.value1 = target; } } else if (mg is MissionGoal_Kill) { MissionGoal_Kill mgi = mg as MissionGoal_Kill; int current = mgi.current; int target = mgi.target; if (current != child_node.value0 || target != child_node.value1) { if (mgi.achieved) { child_node.titleColor = new Color(0.75f, 0.75f, 0.75f); } else { child_node.titleColor = Color.white; } string text = mgi.text + " " + mgi.current.ToString() + "/" + mgi.target.ToString(); child_node.SetContent(text, false, false); child_node.value0 = current; child_node.value1 = target; } } } } } } }