// 复活答复 private void onReliveRespond(EventBase evt) { StageReliveEvent e = evt as StageReliveEvent; if (e == null) { return; } Player player = PlayerController.Instance.GetControlObj() as Player; if (player == null) { return; } mReliveTimes++; if (e.mReliveType == ReliveType.ReliveType_Normal) { player.Relive((int)(player.GetMaxHP() * GameConfig.NormalReliveRate), (int)(player.GetMaxMana() * GameConfig.NormalReliveRate)); } else if (e.mReliveType == ReliveType.ReliveType_Extra) { player.Relive((int)(player.GetMaxHP() * GameConfig.ExtraReliveRate), (int)(player.GetMaxMana() * GameConfig.ExtraReliveRate)); } }
// 请求复活 private void onReliveRequest(EventBase evt) { StageReliveEvent e = evt as StageReliveEvent; if (e == null) { return; } if (e.mReliveType == ReliveType.ReliveType_Normal) { if (!ConditionManager.Instance.CheckCondition(mRes.mReliveCostId0)) { PopTipManager.Instance.AddNewTip(StringHelper.GetErrorString(ERROR_CODE.ERR_SCENE_RELIVE_FAILED_NOCOST, FontColor.Red)); return; } } else if (e.mReliveType == ReliveType.ReliveType_Extra) { if (!ConditionManager.Instance.CheckCondition(mRes.mReliveCostId1)) { PopTipManager.Instance.AddNewTip(StringHelper.GetErrorString(ERROR_CODE.ERR_SCENE_RELIVE_FAILED_NOCOST, FontColor.Red)); return; } } mModule.WaitRelive = true; WindowManager.Instance.CloseUI("stagerelive"); ReliveActionParam param = new ReliveActionParam(); param.scenetype = SceneType.SceneType_Stage; param.sceneid = mRes.resID; param.relivetype = (int)e.mReliveType; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_SCENE_RELIVE, param); }