소스 검색

fixed: 增加更新任务卡数据接口.

gwang 4 년 전
부모
커밋
490321f74e

+ 4 - 1
Gameserver/Amfphp/base/CmdCode.php

@@ -310,7 +310,10 @@ class CmdCode {
      */
     const cmd_taskCard_reward = 6216;
 
-
+    /**
+     * 任务卡 - 更新信息
+     */
+    const cmd_taskCard_info = 6217;
 
 
     // 

+ 17 - 1
Gameserver/Amfphp/model/Const/GameConfig.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-12-16 15:18:06
+ // 日期: 2020-12-16 20:54:23
 ////////////////////
 
 /**
@@ -503,6 +503,22 @@ class GameConfig {
         return self::get_hash_item('task_node', $itemid);
     }
     /**
+    * 动作事件表
+    * @return \eventAction
+    */
+    public static function eventAction()
+    { 
+        static $a = null; 
+        return self::initValue($a, 'eventAction');
+    }
+    /**
+    * @return \sm_eventAction eventAction item数据 
+    */
+    public static function eventAction_getItem($itemid)
+    { 
+        return self::get_hash_item('eventAction', $itemid);
+    }
+    /**
     * 碎片
     * @return \segment
     */

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_drop.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-12-09 14:17:22
+ // 日期: 2020-12-16 20:53:33
 ////////////////////
 
 

+ 33 - 0
Gameserver/Amfphp/model/Const/sm_eventAction.php

@@ -0,0 +1,33 @@
+<?php
+
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2020-12-16 16:48:14
+////////////////////
+
+
+/**
+ * Static Model eventAction 动作事件表
+ */
+class sm_eventAction
+{
+
+    /**
+    * @var Int32 动作id(枚举值) default(0) 
+    */
+    public $cmd;
+
+    /**
+    * @var String 动作所需参数:逗号分隔,(约定: 每个参数都是int)  
+    */
+    public $parameters;
+
+    /**
+    * @var String 备注(每个动作类型,自己注释好自己的参数解析方案)  
+    */
+    public $desc;
+
+}
+

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_gatelevel.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-12-15 15:18:47
+ // 日期: 2020-12-16 20:52:07
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_hero.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-12-15 15:19:51
+ // 日期: 2020-12-16 15:57:40
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_base.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-12-16 15:11:56
+ // 日期: 2020-12-16 15:38:07
 ////////////////////
 
 

+ 21 - 0
Gameserver/Amfphp/model/User/Enum_EventActionType.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace loyalsoft;
+
+/**
+ * 动作事件类型枚举
+ * @author gwang
+ */
+class Enum_EventActionType extends Enum {
+
+    /**
+     * 触发场景剧情:场景id,剧情stage id
+     */
+    public const StartPlotScene = 101;
+
+    /**
+     * 触发NPC对话剧情: NPCid,剧情stage id
+     */
+    public const StartPlotNPC = 102;
+
+}

+ 1 - 0
Gameserver/Amfphp/model/User/Ins_TaskStep.php

@@ -81,6 +81,7 @@ class Ins_TaskStep extends Object_ext {
         if ($taskCardEvent->taskType != $this->mo()->cmd) {                     # 事件类型匹配
             return false;
         }
+
         if (strlen($this->mo()->paras) <= 0) {                                  # 无参数
             return true;
         }

+ 19 - 6
Gameserver/Amfphp/process/TaskProc.php

@@ -43,6 +43,9 @@ class TaskProc {
                 return self::OnTaskCard_active($req);
             case CmdCode::cmd_taskCard_reward:                                  # 6216 领取任务卡奖励
                 return self::OnTaskCard_reward($req);
+            case CmdCode::cmd_taskCard_info:                                    # 6217 任务卡 - 更新信息
+                return self
+
 // --------------   任务卡商城 -----------------------------                
             case CmdCode::cmd_taskcard_shop_open:                               # 6231 任务卡商店 - 开启
                 return self::OnTaskCardShopOpen($req);
@@ -256,8 +259,7 @@ class TaskProc {
         $taskCard = new Ins_TaskCard($store->taskcards->$taskCardUID);          # 任务卡对象
 
         my_Assert($taskCard->state <= Enum_TaskCardStateType::notopen, ErrCode::taskCard_state); # 任务卡状态异常 
-
-        my_Assert(self::FindSameIngCard($taskCard->typeId), ErrCode::taskCard_active_multi); # 不可激活多张任务卡
+        my_Assert(true != self::FindSameIngCard($taskCard->typeId), ErrCode::taskCard_active_multi); # 不可激活多张任务卡
         $taskCard->state = Enum_TaskCardStateType::ing;
         $store->taskcards->$taskCardUID = $taskCard;
         UserProc::updateUserInfo();                                             # 回存玩家数据
@@ -267,13 +269,14 @@ class TaskProc {
 
     static function FindSameIngCard($typeId) {
         $cardDic = req()->userInfo->game->store->taskcards;
-        array_walk($cardDic, function ($inst) use($typeId) {
-//             $inst = new Ins_TaskCard($inst);
+        $find = false;
+        array_walk($cardDic, function ($inst) use($typeId, &$find) {
+//             $inst = new Ins_TaskCard($inst); 
             if ($inst->state == Enum_TaskCardStateType::ing && $inst->typeId == $typeId) {
-                return true;
+                $find = true;
             }
         });
-        return false;
+        return $find;
     }
 
     /**
@@ -296,6 +299,13 @@ class TaskProc {
         return Resp::ok(array('store' => $req->userInfo->game->store));         # 返回值更新背包
     }
 
+    /**
+     * [6217] 任务卡 - 更新信息
+     */
+    static function OnTaskCard_GetInfo($req) {
+        return Resp::ok(array('store' => $req->userInfo->game->store));         # 返回值更新背包
+    }
+
     // 
 // </editor-fold>
     // <editor-fold defaultstate="collapsed" desc="  任务接口 ">
@@ -690,6 +700,9 @@ class TaskProc {
 
         foreach ($tasks as $tid => &$task) {
             $task = new Ins_TaskCard($task);
+            if ($task->state != Enum_TaskCardStateType::ing) {
+                continue;
+            }
             foreach ($task->curSteps as &$tsp) {                                 # 初期里面只有一个任务
                 $tsp = new Ins_TaskStep($tsp);
                 $bUpdate = $tsp->check_new($taskParam);