public bool CloseMission(int id, EMissionResult result) { if (m_Scenario.IsMissionRunning(id)) { if (onCloseMission != null) { onCloseMission(id, result); } if (m_Goals != null) { FreeGoals(id); m_Goals.Remove(id); } if (m_Scenario.CloseMission(id)) { m_MissionIDs.Remove(id); m_MissionProperties.Remove(id); m_MissionTrack.Remove(id); return(true); } } else { Debug.LogError("Close mission [" + id + "] failed !"); } return(false); }
void OnCloseMission(int id, EMissionResult result) { int index = m_MainStoryIds.FindIndex(item0 => item0 == id); if (index != -1) { missionWnd.RemoveMainStoryNode(index); m_MainStoryIds.RemoveAt(index); } else { index = m_SideQuestIdes.FindIndex(item0 => item0 == id); if (index != -1) { missionWnd.RemoveSideQuestNode(index); m_SideQuestIdes.RemoveAt(index); } } RefreshNodeSelected(); // Clear Goal if (missionWnd.selectedNode == null) { DetachGoalEvent(); _currentMissionId = -1; } }
void OnCloseMission(int mission_id, EMissionResult r) { int index = m_TrackedIds.FindIndex(item0 => item0 == mission_id); if (index != -1) { missionTrackWnd.RemoveViewNode(index); m_TrackedIds.RemoveAt(index); } }
public void OnResponse(int mId, EMissionResult res) { if (missionId == -1 || // Any mission mission != null && missionId == 0 && mId == mission.dataId || // Current mission mission != null && missionId == -2 && mId != mission.dataId || // Any other mission missionId == mId) // Specified mission { if (result == res || result == EMissionResult.Any) // Check result { Post(); } } }
// 执行动作 // 若为瞬间动作,返回true; // 若为持续动作,该函数会每帧被调用,直到返回true public override bool Logic() { if (owner && missionId > 0) { if (PeCustomScene.Self != null && PeCustomScene.Self.scenario != null && PeCustomScene.Self.scenario.missionMgr != null) { if (result == EMissionResult.Any) { result = EMissionResult.Accomplished; } PeCustomScene.Self.scenario.missionMgr.CloseMission(missionId, result); } } return(true); }
// 在此初始化参数 protected override void OnCreate() { missionId = Utility.ToEnumInt(parameters["mission"]); player = Utility.ToObject(parameters["player"]); result = (EMissionResult)Utility.ToEnumInt(parameters["result"]); if (missionId == 0) { missionId = mission != null ? mission.dataId : -1; } if (PeCustomScene.Self != null && PeCustomScene.Self.scenario != null) { int curr_player = PeCustomScene.Self.scenario.playerId; owner = PeScenarioUtility.OwnerCheck(curr_player, curr_player, player); } else { owner = false; } }
// 在此初始化参数 protected override void OnCreate() { missionId = Utility.ToEnumInt(parameters["mission"]); result = (EMissionResult)Utility.ToEnumInt(parameters["result"]); }