bool IsTimeLimitReward() { if (!m_bTimeLimitExist) { return(false); } if (PlayerRole.Instance.ActionManager.GetActionArray() != null) { if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityTimeLimitWnd.ActivityID) != null) { RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityTimeLimitWnd.ActivityID); foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap) { if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) == 0) { //该活动结点达到完成条件可以领取奖励了 if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue) { m_WarningObj[(byte)ActivityType.TimeLimitActivity_UI].SetActive(true); return(true); } } } } } m_WarningObj[(byte)ActivityType.TimeLimitActivity_UI].SetActive(false); return(false); }
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); }
//bool HandleGetRoleActionInfoFinish(NetCmdBase obj) //{ // LC_Cmd_GetRoleActionInfoFinish ncb = (LC_Cmd_GetRoleActionInfoFinish)obj; // //CheckIsExistsFinishItem(); // return true; //} //bool HandleActionAllEventFinish(NetCmdBase obj) //{ // LC_Cmd_ActionAllEventFinish ncb = (LC_Cmd_ActionAllEventFinish)obj; // RoleActionBase pAction = GetAction(ncb.ActionID); // if (pAction == null) // { // SendGetActionInfoByServer(ncb.ActionID); // return true; // } // pAction.SetActionIsFinish(); // return true; //} bool HandleGetActionReward(NetCmdBase obj) { LC_Cmd_GetActionReward ncb = (LC_Cmd_GetActionReward)obj; RoleActionBase pBase = GetAction(ncb.ActionID); tagActionOnceRewardEvent pReward = null; if (pBase != null) { foreach (tagActionEventConfig var in pBase.pConfig.EventMap.Values) { if ((var.ID & pBase.pActionInfo.ActionStates) == 0) { //为完成的条件 pReward = new tagActionOnceRewardEvent(ncb.ActionID, var.ID, var.RewardID); break; } } } m_ActionMap.Remove(ncb.ActionID);//将任务移除掉 // CheckIsExistsFinishItem(); tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionID); MsgEventHandle.HandleMsg(pEvent); if (pReward != null) { MsgEventHandle.HandleMsg(pReward); tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Sucess); MsgEventHandle.HandleMsg(pUOM); } return(true); }
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(); } } }
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); }
private bool SendGetActionReward(Byte ActionID, UInt32 OnceID) { //判断任务是否完成了 RoleActionBase pAction = GetAction(ActionID); if (pAction == null) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_1); MsgEventHandle.HandleMsg(pUOM); return(false); } if (!pAction.pConfig.EventMap.ContainsKey(OnceID)) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_2); MsgEventHandle.HandleMsg(pUOM); return(false); } if (pAction.pConfig.EventMap[OnceID].FinishValue > pAction.pActionInfo.ActionValue) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_3); MsgEventHandle.HandleMsg(pUOM); return(false); } if ((pAction.pActionInfo.ActionStates & OnceID) != 0) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_4); MsgEventHandle.HandleMsg(pUOM); return(false); } if (!pAction.pConfig.IsInTime()) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_5); MsgEventHandle.HandleMsg(pUOM); return(false); } CL_Cmd_GetActionReward ncb = new CL_Cmd_GetActionReward(); ncb.SetCmdType(NetCmdType.CMD_CL_GetActionReward); ncb.ActionID = ActionID; ncb.OnceID = OnceID; NetServices.Instance.Send <CL_Cmd_GetActionReward>(ncb); return(true); }
bool IsPayReward() { if (PlayerRole.Instance.ActionManager.GetActionArray() != null) { if (PlayerRole.Instance.ActionManager.GetAction(2) != null) { RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(2); foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap) { if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) == 0) { //该活动结点达到完成条件可以领取奖励了 if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue) { m_WarningObj[2].SetActive(true); return(true); } } } } } m_WarningObj[2].SetActive(false); return(false); }
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); } }