Exemplo n.º 1
0
 bool SpecialDialog(Obj_NPC obj)
 {
     if (obj && (obj.BaseAttr.RoleBaseID == GlobeVar.MARRY_NPCID ||
                 obj.BaseAttr.RoleBaseID == GlobeVar.DIVORCE_NPCID ||
                 obj.BaseAttr.RoleBaseID == GlobeVar.PARADE_NPCID)
         )
     {
         MarryRootLogic.ShowMarryDialogUI(obj.BaseAttr.RoleBaseID);
         return(true);
     }
     //如果开关关闭,奖励NPC就按照普通NPC一样对话
     if (obj && obj.BaseAttr.RoleBaseID == GlobeVar.AWARD_NPCID)
     {
         if (!GameManager.gameManager.PlayerDataPool.IsServerFlagOpen(SERVER_FLAGS_ENUM.FLAG_CYFANS))
         {
             return(false);
         }
     }
     //显示带选项的对话框(可选)
     if (obj.DefaultDialogID != -1)
     {
         Tab_NpcDialog _npcDialogInfo = TableManager.GetNpcDialogByID(obj.DefaultDialogID, 0);
         if (_npcDialogInfo != null && _npcDialogInfo.OptionDialogId != -1)
         {
             OptionDialogLogic.ShowOptionDialogUI(obj.DefaultDialogID);
             return(true);
         }
         else
         {
             //LogModule.ErrorLog("Can not find npcDialogInfo: {0} or OptionDialogId == -1", obj.DefaultDialogID);
         }
     }
     return(false);
 }
Exemplo n.º 2
0
    void OnProcessEvent(int OptionIndex)
    {
        if (m_NpcDialogInfo != null)
        {
            DialogEventType _EventType = (DialogEventType)m_NpcDialogInfo.OptionDialogType;
            switch (_EventType)
            {
            case DialogEventType.EVENT_BLACKMARKET:
                if (OptionIndex == 1)
                {
                    //选项一
                    UIManager.ShowUI(UIInfo.BlackMarket);
                }
                break;

            case DialogEventType.EVENT_CANGKU:
                if (OptionIndex == 1)
                {
                    //选项一
                    UIManager.ShowUI(UIInfo.CangKu);
                }
                break;

            case DialogEventType.EVENT_AWARD:
                if (OptionIndex == 1)
                {
                    bool bRet = GameManager.gameManager.PlayerDataPool.CommonData.GetCommondFlag((int)USER_COMMONFLAG.CF_CYFANS_AWARD_FLAG);
                    if (!bRet)
                    {
                        CG_ASK_SPECIALAWARD Pack = (CG_ASK_SPECIALAWARD)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_SPECIALAWARD);
                        Pack.Awardid = (int)USER_COMMONFLAG.CF_CYFANS_AWARD_FLAG;
                        Pack.SendPacket();
                    }
                    else if (Singleton <ObjManager> .GetInstance().MainPlayer)
                    {
                        Singleton <ObjManager> .GetInstance().MainPlayer.SendNoticMsg(false, "#{3271}");
                    }
                }
                break;

            case DialogEventType.EVENT_RECOVER:
                if (OptionIndex == 1)
                {
                    DoRecover();
                }
                break;

            case DialogEventType.EVENT_CHANGENAME:
                if (OptionIndex == 1)
                {
                    OnChangeNameForCombineServer();
                }
                break;

            case DialogEventType.EVENT_PAOSHANG:
            {
                DoAcceptPaoShang(OptionIndex);
            }
            break;

            case DialogEventType.EVENT_MARRYRING:
            {
                MarryRootLogic.RepairMarryRing();
            }
            break;

            case DialogEventType.EVENT_NORMALVILLAIN:
            {
                if (OptionIndex == 1)
                {
                    OpenVillainCopyScene(1);
                }
            }
            break;

            case DialogEventType.EVENT_SUPERVILLAIN:
            {
                if (OptionIndex == 1)
                {
                    OpenVillainCopyScene(2);
                }
            }
            break;

            case DialogEventType.EVENT_NIANSHOU:
            {
                if (OptionIndex == 1)
                {
                    OpenNianShouCopyScene();
                }
            }
            break;

            case DialogEventType.EVENT_GONGJISHOP:
            {
                if (OptionIndex == 1)
                {
                    // 显示 UI
                    UIManager.ShowUI(UIInfo.GongJiShopRoot);
                }
            }
            break;

            default:
                break;
            }
            OnCloseClick();
        }
    }