|
@@ -676,20 +676,23 @@ class TaskProc {
|
|
|
|
|
|
foreach ($tasks as $tid => &$task) {
|
|
|
$task = new Ins_TaskCard($task);
|
|
|
- foreach ($task->curSteps as $stp) { # 初期里面只有一个任务
|
|
|
- $tsp = new Ins_TaskStep($stp);
|
|
|
+ foreach ($task->curSteps as &$tsp) { # 初期里面只有一个任务
|
|
|
+ $tsp = new Ins_TaskStep($tsp);
|
|
|
$bUpdate = $tsp->check_new($taskParam);
|
|
|
+
|
|
|
if ($bUpdate) {
|
|
|
- NormalEventProc::OnTaskCardStep_Complete($task->typeId, $tsp->typeId); # 广播任务步骤完成事件
|
|
|
+ NormalEventProc::OnTaskCardStep_Complete($task->uid, $tsp->typeId); # 广播任务步骤完成事件
|
|
|
$tsp->propel($taskParam);
|
|
|
+
|
|
|
if ($tsp->isFinish()) {
|
|
|
- NormalEventProc::OnTaskCard_Finish($task->typeId, null); # 广播卡完成事件
|
|
|
+ NormalEventProc::OnTaskCard_Finish($task->uid, null); # 广播卡完成事件
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if ($bUpdate) { # 带回数据到客户端
|
|
|
+ req()->userInfo->game->store->taskcards = $tasks;
|
|
|
UserProc::updateUserInfo(); # 更新玩家数据
|
|
|
}
|
|
|
|
|
@@ -697,7 +700,8 @@ class TaskProc {
|
|
|
}
|
|
|
|
|
|
static function OnKillMonster($monsterID, $num) {
|
|
|
- $taskParam = new Ins_TaskParams(Enum_TaskCmdType::KillMonster, $monsterID, $num);
|
|
|
+ $taskParam = new Ins_TaskEventArgs(Enum_TaskCmdType::KillMonster, Enum_PropelType::add, $num, array($monsterID));
|
|
|
+ var_dump($taskParam);
|
|
|
return self::CheckTaskCardConditions($taskParam);
|
|
|
}
|
|
|
|
|
@@ -705,13 +709,13 @@ class TaskProc {
|
|
|
* 获得道具
|
|
|
*/
|
|
|
static function OnGainItem($itemId, $num) {
|
|
|
- $taskParam = new Ins_TaskParams(Enum_TaskCmdType::GainItem, $itemId, $num);
|
|
|
+ $taskParam = new Ins_TaskEventArgs(Enum_TaskCmdType::GainItem, Enum_PropelType::add, $num, array($itemId));
|
|
|
self::CheckTaskCardConditions($taskParam);
|
|
|
NormalEventProc::OnBag_new_Item($itemId, $num);
|
|
|
}
|
|
|
|
|
|
static function OnPlotOver($gate_or_npc_id, $stage) {
|
|
|
- $taskParam = new Ins_TaskParams(Enum_TaskCmdType::PlotOver, $gate_or_npc_id, "$stage");
|
|
|
+ $taskParam = new Ins_TaskEventArgs(Enum_TaskCmdType::PlotOver, Enum_PropelType::set, 1, array($gate_or_npc_id, "$stage"));
|
|
|
return self::CheckTaskCardConditions($taskParam);
|
|
|
}
|
|
|
|