<?php

//
//namespace loyalsoft;
//
///**
// * 事件模块.
// * @version
// *          1.0.0 Created at 2017-8-28.   by --gwang
// * @author gwang (mail@wanggangzero.cn)
// * @copyright ? 2017-8-28, SJZ LoyalSoft Corporation & gwang. All rights reserved.
// */
//class EventProc {
//
//    public static function procMain() {
//        switch (req()->cmd) {
//            case CmdCode::cmd_event_GetNotifications:                           # 7201 拉取角标通知列表
//                return self::GetCornerSignNotifications();
//            case CmdCode::cmd_event_ClearNotifications:                         # 7202 清理指定类型的角标
//                return self::ClearCornerSignNotification();
//            default:
//                return Resp::err(ErrCode::cmd_err);
//        }
//    }
//
//    /**
//     * [7202] 清理指定类型的角标记录
//     */
//    static function ClearCornerSignNotification() {
//        $ctype = req()->paras[0];
//        $e = new OperateEventType();
//        if ($e->isValidValue($ctype)) {
//            StlUtil::arrayRemove(ctx()->privateData()->cornerSignNotifications, $ctype); # 移除角标
//            UserProc::updateUserInfo();
//        }
//        $arr = array_values(array_unique(ctx()->privateData()->cornerSignNotifications)); # 返回值去重
//        ctx()->privateData()->cornerSignNotifications = $arr;                    # 更新记录
//        return Resp::ok(array("notifications" => $arr));                        # 返回
//    }
//
//    /**
//     * [7201] 拉取角标通知
//     */
//    static function GetCornerSignNotifications() {
//        // 这里直接返回, 将来开发对应的触发逻辑, 给数组中添加相应的值
//        $arr = array_values(array_unique(ctx()->privateData()->cornerSignNotifications)); # 返回值去重
//        ctx()->privateData()->cornerSignNotifications = $arr;                    # 更新记录
//        UserProc::updateUserInfo();
//        return Resp::ok(array("notifications" => $arr));                        # 返回
//    }
//
//    static function Init() {
//        Event::register('onpay', array(new Data_UserProfile(ctx()->profile), "OnPay"));
//    }
//
//    /**
//     * 收到请求
//     */
//    static function OnRequest() {
//
//    }
//
//    /**
//     * 处理完毕准备返回
//     */
//    static function AfterResponse() {
//
//    }
//
//    /**
//     * 当天第一次登录
//     */
//    static function OnNewDay() {
//        CornerSignEventProc::OnNewDay();
//    }
//
//    /**
//     * 当周第一次登录(周一)
//     */
//    static function OnNewWeek() {
//
//    }
//
//    /**
//     * 当玩家等级变更
//     * @param type $old
//     * @param type $new
//     */
//    static function OnUserLevelup($old, $new) {
//        // 处理逻辑,
//        $ubs = ctx()->privateData()->unlockedBuild;
//        foreach (GameConfig::build() as $id => $b) {
//            isEditor() and $b = new \sm_build();
//            if (!in_array($id, $ubs)) {                                         # 尚未解锁的建筑,判断,已解锁的跳过
//                if ($b->playerLevelLimit <= $new) {                             # 符合解锁条件
//                    ctx()->privateData()->unlockedBuild[] = $id;                 # 插入解锁记录
//                    StatisticsProc::TargetStatistics(Enum_TargetStatistics::unlockbuidId, $id);
//                    if ($id == 1000) {
//                        $college = new Info_College();
//                        $college->setFunUnluckTs();
//                    }
//                    StatisticsProc::unlockBuild($id);                           # 统计全服玩家解锁建筑
//                    NormalEventProc::OnUnlockBuild($id, null);                  # 插入事件
//                }
//            }
//        }
//
//
//
//        NormalEventProc::OnUserLvlUp($old, $new);                               # 添加升级事件,算了这个暂时没人关注
//    }
//}
