public void RemoveMissionInfo(int missIndex) { _OWN_MISSION OwnMission = CDetailAttrib_Player.Instance.GetMission(missIndex); // 统一修改为使用任务ID来管理任务信息 [7/4/2011 ivan edit] int missId = OwnMission.m_idMission; _MISSION_INFO MissionInfo = GetMissionInfo(missId); for (int i = 0; i < MissionInfo.m_vecQuestDemandItem.Count; i++) { if (MissionInfo.m_vecQuestDemandItem[i].pItemImpl != null) { ObjectSystem.Instance.DestroyItem(MissionInfo.m_vecQuestDemandItem[i].pItemImpl); } } for (int i = 0; i < MissionInfo.m_vecQuestRewardItem.Count; i++) { if (MissionInfo.m_vecQuestRewardItem[i].pItemImpl != null) { ObjectSystem.Instance.DestroyItem(MissionInfo.m_vecQuestRewardItem[i].pItemImpl); } } MissionInfo.m_misName = ""; MissionInfo.m_misDesc = ""; if (MisInfo.ContainsKey(missId)) { MisInfo.Remove(missId); } }
public bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadByte(ref m_Count) != sizeof(byte)) { return(false); } for (int i = 0; i < GAMEDEFINE.MAX_CHAR_MISSION_NUM; i++) { m_aMission[i] = new _OWN_MISSION(); if (!m_aMission[i].readFromBuff(ref buff)) { return(false); } } for (int j = 0; j < GAMEDEFINE.MAX_CHAR_MISSION_FLAG_LEN; j++) { if (buff.ReadUint(ref m_aMissionHaveDoneFlags[j]) != sizeof(uint)) { return(false); } } for (int k = 0; k < GAMEDEFINE.MAX_CHAR_MISSION_DATA_NUM; k++) { if (buff.ReadInt(ref m_aMissionData[k]) != sizeof(int)) { return(false); } } return(true); }
public int[] m_aMissionData = new int[GAMEDEFINE.MAX_CHAR_MISSION_DATA_NUM]; //角色身上的任务自定义数据 public _MISSION_DB_LOAD() { for (int i = 0; i < GAMEDEFINE.MAX_CHAR_MISSION_NUM; i++) { m_aMission[i] = new _OWN_MISSION(); } CleanUp(); }
public void AddMission(byte yIndex, _OWN_MISSION pMission) { if (yIndex < GAMEDEFINE.MAX_CHAR_MISSION_NUM) { m_uMissionListFlags |= (uint)(0x00000001 << yIndex); m_listMission.m_aMission[yIndex] = pMission; } }
internal int GetMissionIdByIndex(int index) { _OWN_MISSION miss = CDetailAttrib_Player.Instance.GetMission(index); if (miss == null) { return(-1); } else { return(miss.m_idMission); } }
public override void AddMission(_OWN_MISSION pMission) { if (m_listMission.m_Count == (byte)GAMEDEFINE.MAX_CHAR_MISSION_NUM) { return; } int dwIndex = GetMissionIndexByID(pMission.m_idMission); if (dwIndex != MacroDefine.INVALID_ID) { return; } dwIndex = MacroDefine.INVALID_ID; for (int i = 0; i < GAMEDEFINE.MAX_CHAR_MISSION_NUM; i++) { if (m_listMission.m_aMission[i].m_idMission == MacroDefine.INVALID_ID) { dwIndex = i; break; } } if (dwIndex == MacroDefine.INVALID_ID) { return; } m_listMission.m_aMission[dwIndex] = pMission; m_listMission.m_Count++; // 添加到任务追? AddTraceMission(pMission.m_idMission); // �解析任务 DataPool.Instance.ParseMission(pMission.m_idMission, pMission.m_idScript); // 自动执行任务 AutoExecuteMission(pMission.m_idMission); ////任务增加,播放声音? //CSoundSystemFMod::_PlayUISoundFunc(70); //if(CGameProcedure::s_pUISystem && CGameProcedure::s_pUISystem->IsWindowShow("QuestLog")) // CEventSystem::GetMe()->PushEvent(GE_UPDATE_MISSION); }
public override void ModifyMission(_OWN_MISSION pMission) { int dwIndex = GetMissionIndexByID(pMission.m_idMission); if (dwIndex == MacroDefine.INVALID_ID) { return; } m_listMission.m_aMission[dwIndex] = pMission; //// 如果境界任务处于可完成状态则给客户端发送消?[8/18/2011 edit by ZL] //if (DataPool::GetMe()->GetAmbitMissionPojieByScriptID(pMission->m_idScript) != -1 && // m_listMission.m_aMission[dwIndex].m_anParam[0] == 0 ) { // CEventSystem::GetMe()->PushEvent(GE_AMBITMISSION_FINISHED); // } AutoReplyMission(pMission.m_idMission); //�删除只限QuestLog窗口显示时才发送消息的限制,任务跟踪系统也需要这个消? if (GameProcedure.s_pUISystem != null) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_UPDATE_MISSION, pMission.m_idMission); } }
public void SetMission(_OWN_MISSION Mission) { m_Mission = Mission; }
internal _MISSION_INFO GetPlayerMissionByIndex(int index) { _OWN_MISSION miss = CDetailAttrib_Player.Instance.GetMission(index); return(GetPlayerMissionById(miss.m_idMission)); }
public _OWN_MISSION GetMissionByID(uint dwMissionID) { _OWN_MISSION a = new _OWN_MISSION(); return(a); }
public abstract void ModifyMission(_OWN_MISSION pMission);
//public virtual void ChangeSkillAttrib( const _OWN_SKILL *pSkillInit ){} //public virtual void ChangeXinFaAttrib( const _OWN_XINFA *pXinFaInit ){} //生活技能数据发生改变 //public virtual void ChangeLifeAbilityAttrib( INT idAbility, _OWN_ABILITY pAbility) {} //生活技能数据发生改变 //public virtual void ChangeLifeAbilityAttrib( INT idAbility, BYTE type, UINT value) {} public abstract void AddMission(_OWN_MISSION pMission);