bool HandleJoinActionInfo(NetCmdBase obj) { LC_Cmd_JoinAction ncb = (LC_Cmd_JoinAction)obj; tagActionConfig pConfig = null; if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.ActionID, out pConfig)) { return(false); } RoleActionBase pBase = CreateAction((EventTargetType)pConfig.EventID); tagRoleActionInfo pInfo = new tagRoleActionInfo(); pInfo.ActionID = ncb.ActionID; pInfo.ActionValue = 0; if (pBase == null || !pBase.OnInit(pInfo, this)) { return(false); } m_ActionMap.Remove(ncb.ActionID); m_ActionMap.Add(ncb.ActionID, pBase); PlayerRole.Instance.UpdateRoleEventHandle(); // CheckIsExistsFinishItem(); tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionID); MsgEventHandle.HandleMsg(pEvent); return(true); }
void ShowFinshActivity(tagActionConfig pMap) { byte Indx = 0; foreach (KeyValuePair <uint, tagActionEventConfig> map in pMap.EventMap) { m_LevelNodeItem[Indx].m_LevelNodeBtn.isEnabled = false; m_LevelNodeItem[Indx].m_LevelBg.spriteName = "Level_Bg1"; m_LevelNodeItem[Indx].m_LightObj.SetActive(true); m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " 级"; switch (Indx) { case 0: ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level5_Btn0"); break; case 1: ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level10_Btn0"); break; case 2: ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level15_Btn0"); break; case 3: ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level20_Btn0"); break; } ++Indx; } }
bool HandleGetRoleActionInfo(NetCmdBase obj) { LC_Cmd_GetRoleActionInfo ncb = (LC_Cmd_GetRoleActionInfo)obj; if ((ncb.States & FishDataInfo.MsgBegin) != 0) { m_ActionMap.Clear(); } for (UInt16 i = 0; i < ncb.Sum; ++i) { tagActionConfig pConfig = null; if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.Array[i].ActionID, out pConfig)) { continue; } RoleActionBase pBase = CreateAction((EventTargetType)pConfig.EventID); if (pBase == null || !pBase.OnInit(ncb.Array[i], this)) { continue; } m_ActionMap.Add(ncb.Array[i].ActionID, pBase); } if ((ncb.States & FishDataInfo.MsgEnd) != 0) { m_IsLoadInfo = true; tagActionChangeEvent pEvent = new tagActionChangeEvent(); MsgEventHandle.HandleMsg(pEvent); } return(true); }
public void UpdateLimitTimeActivityData() { if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true) { return; } if (m_BaseWndObject.activeSelf != true) { return; } ClearGrid(); m_NodeList.Clear(); if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID)) { //当前活动已经完成了 tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID]; //活动结束了 if (!pActivityMap.IsInTime()) { m_BaseWndObject.SetActive(false); return; } foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.EventMap) { InitTimeLimitItem(map.Value, 3); } AddGrid(); } else if (PlayerRole.Instance.ActionManager.GetActionArray() != null) { if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null) { RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID); foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap) { //该结点任务完成既领取了 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0) { InitTimeLimitItem(map.Value, 3); } else { //该活动结点达到完成条件可以领取奖励了 if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue) { InitTimeLimitItem(map.Value, 1, map.Value.FinishValue); } else { InitTimeLimitItem(map.Value, 2, pActivityMap.pActionInfo.ActionValue); } } } m_NodeList.Sort(CompareItemBySate); AddGrid(); } } }
public virtual bool OnInit(tagRoleActionInfo pInfo, RoleActionManager pManager) { //初始化任务 的数据 m_pManger = pManager; pActionInfo = pInfo;//客户端在加载的时候 无须判断是否需要进行每日清空 pConfig = FishConfig.Instance.m_ActionInfo.m_ActionMap[pActionInfo.ActionID]; //m_ActionEventIsFinish = (pConfig..FinishValue <= pInfo.ActionValue); OnJoinAction(); return(true); }
bool HandleChangeActionInfo(NetCmdBase obj) { LC_Cmd_GetOnceActionInfo ncb = (LC_Cmd_GetOnceActionInfo)obj; RoleActionBase pAction = GetAction(ncb.ActionInfo.ActionID); if (pAction == null) { //直接添加 tagActionConfig pConfig = null; if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.ActionInfo.ActionID, out pConfig)) { return(false); } pAction = CreateAction((EventTargetType)pConfig.EventID); if (pAction == null || !pAction.OnInit(ncb.ActionInfo, this)) { return(false); } m_ActionMap.Add(ncb.ActionInfo.ActionID, pAction); // CheckIsExistsFinishItem(); tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionInfo.ActionID); MsgEventHandle.HandleMsg(pEvent); return(true); } else { UInt32 ID = (ncb.ActionInfo.ActionStates ^ pAction.pActionInfo.ActionStates); pAction.pActionInfo = ncb.ActionInfo; // CheckIsExistsFinishItem(); tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionInfo.ActionID); MsgEventHandle.HandleMsg(pEvent); RoleActionBase pBase = GetAction(ncb.ActionInfo.ActionID); if (pBase != null && pBase.pConfig.EventMap.ContainsKey(ID)) { tagActionEventConfig pEventConfig = pBase.pConfig.EventMap[ID]; tagActionOnceRewardEvent pReward = new tagActionOnceRewardEvent(ncb.ActionInfo.ActionID, ID, pEventConfig.RewardID); MsgEventHandle.HandleMsg(pReward); tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Sucess); MsgEventHandle.HandleMsg(pUOM); } //pAction.ChangeActionErrorInfo(ncb.ActionInfo); } return(true); }
public void UpdatePayActivityData() { if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true) { return; } if (m_BaseWndObject.activeSelf != true) { return; } if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID)) { //当前活动已经完成了 tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID]; //活动结束了 if (!pActivityMap.IsInTime()) { m_BaseWndObject.SetActive(false); return; } byte Indx = 0; foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.EventMap) { SetNodeState(Indx, map.Value.RewardID, map.Value.ID, map.Value.FinishValue); Indx++; } } else if (PlayerRole.Instance.ActionManager.GetActionArray() != null) { if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null) { RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID); byte Indx = 0; bool bGetReward = false; foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap) { //该结点任务完成既领取了 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0) { if (m_PayNodeItem[Indx].m_GetAnimObj.activeSelf) { m_PayNodeItem[Indx].m_GetAnimObj.SetActive(false); } SetNodeState(Indx, map.Value.RewardID, map.Value.ID, map.Value.FinishValue); } else { //该活动结点达到完成条件可以领取奖励了 if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue) { m_PayNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " RMB"; m_PayNodeItem[Indx].m_LevelBg.spriteName = "Activity_Pay_NumBg0"; m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod1"; ChangeButtonBg(m_PayNodeItem[Indx].m_LevelNodeBtn, "123"); m_PayNodeItem[Indx].m_NodeID = map.Value.ID; m_PayNodeItem[Indx].m_RewardID = map.Value.RewardID; m_PayNodeItem[Indx].m_bGetReward = true; bGetReward = true; // m_PayNodeItem[Indx].m_LevelNodeBg.spriteName = "123"; m_PayNodeItem[Indx].m_GetAnimObj.SetActive(true); } else { m_PayNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " RMB"; m_PayNodeItem[Indx].m_LevelBg.spriteName = "Activity_Pay_NumBg0"; ChangeButtonBg(m_PayNodeItem[Indx].m_LevelNodeBtn, "Activity_Pay_Chests0"); m_PayNodeItem[Indx].m_NodeID = map.Value.ID; m_PayNodeItem[Indx].m_RewardID = map.Value.RewardID; m_PayNodeItem[Indx].m_bGetReward = false; //if (!bGetReward) //{ // bGetReward = true; // m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod1"; //} //else // m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod0"; } } ++Indx; } } } else { //错误情况 // m_BaseWndObject.SetActive(false); } }
public void UpdateActivityLevelData() { if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true) { return; } if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID)) { //当前活动已经完成了 tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID]; //活动结束了 if (!pActivityMap.IsInTime()) { m_BaseWndObject.SetActive(false); return; } ShowFinshActivity(pActivityMap); m_bError = false; } else if (PlayerRole.Instance.ActionManager.GetActionArray() != null) { if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null) { RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID); byte Indx = 0; m_bError = false; foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap) { //该结点任务完成既领取了 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0) { m_LevelNodeItem[Indx].m_LightObj.SetActive(true); m_LevelNodeItem[Indx].m_LevelBg.spriteName = "Level_Bg1"; m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " 级"; m_LevelNodeItem[Indx].m_LevelNodeBtn.isEnabled = false; string str = "Activity_Level" + map.Value.FinishValue.ToString() + "_Btn0"; ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, str); m_LevelNodeItem[Indx].m_bGetReward = false; m_LevelNodeItem[Indx].m_NodeID = map.Value.ID; m_LevelNodeItem[Indx].m_RewardAnim.SetBool("Reward", false); } else { //该活动结点达到完成条件可以领取奖励了 if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue) { string str = "Activity_Level" + map.Value.FinishValue.ToString() + "_Btn0"; ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, str); m_LevelNodeItem[Indx].m_NodeID = map.Value.ID; m_LevelNodeItem[Indx].m_bGetReward = true; m_LevelNodeItem[Indx].m_RewardID = map.Value.RewardID; m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " 级"; m_LevelNodeItem[Indx].m_RewardAnim.SetBool("Reward", true); } else { m_LevelNodeItem[Indx].m_bGetReward = false; m_LevelNodeItem[Indx].m_RewardID = map.Value.RewardID; m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + " 级"; } } ++Indx; } } else { m_bError = true; } } else { //错误情况 m_bError = true; // m_BaseWndObject.SetActive(false); } }