示例#1
0
    public static object Deserialize(uLink.BitStream r, params object[] codecOptions)
    {
        try
        {
            CSTreatment cst = new CSTreatment();
            cst.abnormalId     = r.ReadInt32();
            cst.npcId          = r.ReadInt32();
            cst.needTreatTimes = r.ReadInt32();

            AbnormalTypeTreatData attd = AbnormalTypeTreatData.GetTreatment(cst.abnormalId);
            if (EntityMgr.Instance.Get(cst.npcId) == null)
            {
                cst.npcName = "?";
            }
            else
            {
                cst.npcName = EntityMgr.Instance.Get(cst.npcId).ExtGetName();
            }
            cst.diseaseName = AbnormalData.GetData((PEAbnormalType)cst.abnormalId).name;
            cst.treatName   = PELocalization.GetString(attd.treatDescription);
            cst.medicineList.Add(new ItemIdCount(attd.treatItemId[0], attd.treatItemNum));
            cst.treatTime   = attd.treatTime;
            cst.restoreTime = attd.restoreTime;
            return(cst);
        }
        catch (System.Exception e)
        {
            throw e;
        }
    }
示例#2
0
        void AddAbnormal(PEAbnormalType type, AbnormalData data)
        {
            PEAbnormal_N abnormalCondition = new PEAbnormal_N();

            abnormalCondition.Init(type, this, Entity, OnStartAbnormal, OnEndAbnormal);
            m_AbnormalList[(int)type] = abnormalCondition;
        }
    public static void LoadData()
    {
        g_DataDic = new Dictionary <PEAbnormalType, AbnormalData>();
        SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("AbnormalType");

        while (reader.Read())
        {
            AbnormalData data = new AbnormalData();
            data.type          = (PEAbnormalType)PETools.Db.GetInt(reader, "AbnormalId");
            data.name          = PELocalization.GetString(PETools.Db.GetInt(reader, "TranslationNameId"));
            data.iconName      = PETools.Db.GetString(reader, "Icon");
            data.description   = PELocalization.GetString(PETools.Db.GetInt(reader, "TranslationDescribeId"));
            data.target        = PETools.Db.GetInt(reader, "AbnormalTarget");
            data.deathRemove   = PETools.Db.GetBool(reader, "IsDeathRemove");
            data.updateByModel = PETools.Db.GetBool(reader, "UpdateByModel");

            data.trigger_TimeInterval = PETools.Db.GetFloat(reader, "Trigger_Time");
            data.trigger_BuffAdd      = PETools.Db.GetIntArray(reader, "Trigger_BuffAdd");
            data.trigger_ItemGet      = PETools.Db.GetIntArray(reader, "Trigger_ItemGet");
            data.trigger_Damage       = PETools.Db.GetBool(reader, "Trigger_Damage");
            data.trigger_InWater      = PETools.Db.GetBool(reader, "Trigger_IntoWater");

            data.hit_MutexAbnormal = GetAbnormalType(reader, "Hit_MutexAbnormal");
            data.hit_PreAbnormal   = GetAbnormalType(reader, "Hit_PreAbnormal");
            data.hit_BuffID        = PETools.Db.GetIntArray(reader, "Hit_BuffList");
            data.hit_Attr          = HitAttr.GetHitAttrArray(reader, "Hit_Attr");
            data.hit_Damage        = HitAttr.GetHitAttr(reader, "Hit_Damage");
            data.hit_TimeInterval  = PETools.Db.GetFloat(reader, "Hit_Time");
            data.hit_AreaTime      = PETools.Db.GetFloatArray(reader, "Hit_AreaTime");
            data.hit_RainTime      = PETools.Db.GetFloat(reader, "Hit_RainTime");
            data.hit_HitRate       = PETools.Db.GetFloat(reader, "Hit_Rate");

            data.eff_BuffAddList    = PETools.Db.GetIntArray(reader, "Eff_BuffAdd");
            data.eff_Anim           = reader.GetString(reader.GetOrdinal("Eff_Anim"));
            data.eff_Camera         = EffCamera.GetEffCamera(reader, "Eff_Camera");
            data.eff_AbnormalRemove = GetAbnormalType(reader, "Eff_RemoveAbnormal");
            data.eff_Particles      = PETools.Db.GetIntArray(reader, "Eff_Particle");
            data.eff_SkinColor      = PETools.Db.GetColor(reader, "Eff_SkinColor");
            data.eff_BodyWeight     = ThresholdData.GetThresholdDatas(reader, "Eff_BodyWeight");

            data.rt_Immediate    = PETools.Db.GetBool(reader, "RT_Imm");
            data.rt_TimeInterval = PETools.Db.GetFloat(reader, "RT_Time");
            data.rt_BuffRemove   = PETools.Db.GetIntArray(reader, "RT_BuffRemove");
            data.rt_EffectEnd    = PETools.Db.GetBool(reader, "RT_EffEnd");
            data.rt_OutsideWater = PETools.Db.GetBool(reader, "RT_OutWater");

            data.rh_BuffList = PETools.Db.GetIntArray(reader, "RH_BuffRemove");
            data.rh_Attr     = HitAttr.GetHitAttrArray(reader, "RH_Attr");

            data.re_BuffRemove  = PETools.Db.GetIntArray(reader, "RE_BuffRemove");
            data.re_BuffAdd     = PETools.Db.GetIntArray(reader, "RE_BuffAdd");
            data.re_AbnormalAdd = GetAbnormalType(reader, "RE_AbnormalAdd");
            data.re_Anim        = reader.GetString(reader.GetOrdinal("RE_Anim"));
            data.re_Camera      = EffCamera.GetEffCamera(reader, "RE_Camera");
            data.re_Particles   = PETools.Db.GetIntArray(reader, "RE_Particle");

            g_DataDic.Add(data.type, data);
        }
    }
示例#4
0
    public void InitFromRecord()
    {
        AbnormalTypeTreatData attd = AbnormalTypeTreatData.GetTreatment(abnormalId);

        diseaseName = AbnormalData.GetData((PEAbnormalType)abnormalId).name;
        treatName   = PELocalization.GetString(attd.treatDescription);
        medicineList.Add(new ItemIdCount(attd.treatItemId[0], attd.treatItemNum));
        treatTime   = attd.treatTime;
        restoreTime = attd.restoreTime;
    }
示例#5
0
 void OnEndAbnormal(PEAbnormalType type)
 {
     if (null != UIMainMidCtrl.Instance)
     {
         AbnormalData data = AbnormalData.GetData(type);
         if (null != data && data.iconName != "0")
         {
             UIMainMidCtrl.Instance.DeleteBuffShow(data.iconName);
         }
     }
 }
示例#6
0
 void OnStartAbnormal(PEAbnormalType type)
 {
     if (null != UIMainMidCtrl.Instance)
     {
         AbnormalData data = AbnormalData.GetData(type);
         if (null != data && data.iconName != "0")
         {
             UIMainMidCtrl.Instance.AddBuffShow(data.iconName, data.description);
         }
     }
 }
    void InitData(PEAbnormalType abnormalType)
    {
        m_Data = AbnormalData.GetData(abnormalType);
        if (null == m_Data)
        {
            Debug.LogError("Can't find AbnormalData ID:" + abnormalType.ToString());
            return;
        }

        InitTriggers();
        InitHits();
        InitEffects();
        InitRemoveTriggers();
        InitRemoveHits();
        InitRemoveEffects();
    }
示例#8
0
    public static CSTreatment GenTreatmentFromDatabase(PeEntity npc, int abnormalId)
    {
        CSTreatment           cst  = new CSTreatment();
        AbnormalTypeTreatData attd = AbnormalTypeTreatData.GetTreatment(abnormalId);

        cst.abnormalId  = abnormalId;
        cst.npcName     = npc.ExtGetName();
        cst.diseaseName = AbnormalData.GetData((PEAbnormalType)abnormalId).name;
        cst.treatName   = PELocalization.GetString(attd.treatDescription);
        cst.medicineList.Add(new ItemIdCount(attd.treatItemId[0], attd.treatItemNum));
        cst.npcId          = npc.Id;
        cst.needTreatTimes = attd.treatNum;
        cst.treatTime      = attd.treatTime;
        cst.restoreTime    = attd.restoreTime;
        return(cst);
    }
示例#9
0
        void InitData(EIdentity eIdentity)
        {
            m_AbnormalList = new PEAbnormal_N[(int)PEAbnormalType.Max];
            if (PeGameMgr.IsBuild || PeGameMgr.playerType == PeGameMgr.EPlayerType.Tutorial)
            {
                return;
            }
            int mask = 0;

            switch (eIdentity)
            {
            case EIdentity.Player:
                mask = 1;
                break;

            case EIdentity.Npc:
                mask = 2;
                break;

            case EIdentity.Neutral:
                mask = 4;
                break;
            }

            for (int type = 1; type < (int)PEAbnormalType.Max; type++)
            {
                AbnormalData data = AbnormalData.GetData((PEAbnormalType)type);
                if (null != data && (data.target & mask) == mask)
                {
                    AddAbnormal((PEAbnormalType)type, data);
                }
            }

            if (null != Entity.aliveEntity)
            {
                Entity.aliveEntity.evtOnBuffAdd    += OnBuffAdd;
                Entity.aliveEntity.evtOnBuffRemove += OnBuffRemove;
            }

            PlayerPackageCmpt playercmpt = Entity.packageCmpt as PlayerPackageCmpt;

            if (null != playercmpt)
            {
                playercmpt.getItemEventor.Subscribe(OnItemAdd);
            }
        }
示例#10
0
    void RemoveNpcAbnormal(PEAbnormalType type)
    {
        AbnormalData data = AbnormalData.GetData(type);

        //lz-2016.08.26 异常状态是0的图标不显示
        if (null == data || data.iconName == "0")
        {
            return;
        }
        CSUI_BuffItem item = mAbnormalList.Find(i => i._icon == data.iconName);

        if (item == null)
        {
            return;
        }
        Destroy(item.gameObject);
        mAbnormalList.Remove(item);
        mReposition = true;
    }
示例#11
0
    void AddNpcAbnormal(PEAbnormalType type)
    {
        AbnormalData data = AbnormalData.GetData(type);

        //lz-2016.08.26 异常状态是0的图标不显示
        if (null == data || data.iconName == "0")
        {
            return;
        }
        CSUI_BuffItem item = Instantiate(mAbnormalPrefab) as CSUI_BuffItem;

        if (!item.gameObject.activeSelf)
        {
            item.gameObject.SetActive(true);
        }
        item.transform.parent = mAbnormalGrid.transform;
        CSUtils.ResetLoacalTransform(item.transform);
        item.SetInfo(data.iconName, data.description);
        mAbnormalList.Add(item);
        mReposition = true;
    }
示例#12
0
    public static void LoadAllData()
    {
        if (s_localDatabase != null)
        {
            return;
        }

#if UNITY_EDITOR
        System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
        sw.Start();
#endif
        s_localDatabase = LoadDb();
        SkillSystem.SkData.LoadData();
        Pathea.Effect.EffectData.LoadData();
        Pathea.Projectile.ProjectileData.LoadData();
        Pathea.RequestRelation.LoadData();
        Pathea.CampData.LoadData();
        Pathea.ThreatData.LoadData();
        Pathea.DamageData.LoadData();
        HumanSoundData.LoadData();
        ItemDropData.LoadData();

        PELocalization.LoadData();

        NaturalResAsset.NaturalRes.LoadData();
        //SkillAsset.EffCastData.LoadData();
        //SkillAsset.EffSkill.LoadData();
        //SkillAsset.MergeSkill.LoadData();
        //AnimData.LoadData();
        //AnimSoundData.LoadData();

        AiAsset.AiData.LoadData();

        SoundAsset.SESoundBuff.LoadData();
        SoundAsset.SESoundStory.LoadData();
        //CharacterData.LoadCharacterData();
        StoryDoodadMap.LoadData();
        StoreRepository.LoadData();
        NpcMissionDataRepository.LoadData();
        //PlayerAttribute.LoadData();
        MissionRepository.LoadData();
        TalkRespository.LoadData();
        //NpcRandomRepository.LoadData();
        ShopRespository.LoadData();
        WareHouseManager.LoadData();
        //HeroTalkRepository.LoadData();
        MutiPlayRandRespository.LoadData();
        PromptRepository.LoadData();

        //MapIconData.LoadDate();
        //MapMaskData.LoadDate();
        CampPatrolData.LoadDate();
        Camp.LoadData();
        RepProcessor.LoadData();

        CloudManager.LoadData();
        //BattleUnitData.LoadData();
        TutorialData.LoadData();
        //RepairMachineManager.LoadData();
        MapMaskData.LoadDate();
        MessageData.LoadData();         //lz-2016.07.13 Add it
        MonsterHandbookData.LoadData(); //lz-2016.07.20 Add it
        StoryRepository.LoadData();
        RMRepository.LoadRandMission();
        MisInitRepository.LoadData();
        CameraRepository.LoadCameraPlot();
        AdRMRepository.LoadData();
        VCConfig.InitConfig();
        Cutscene.LoadData();

//		BuildBrushData.LoadBrush();
        BSPattern.LoadBrush();
        BSVoxelMatMap.Load();
        BSBlockMatMap.Load();
        BlockBuilding.LoadBuilding();
        LifeFormRule.LoadData();
        PlantInfo.LoadData();
        MetalScanData.LoadData();
        BattleConstData.LoadData();
        CustomCharactor.CustomMetaData.LoadData();
        SkillTreeInfo.LoadData();
        VArtifactUtil.LoadData();
        Pathea.ActionRelationData.LoadActionRelation();

        //colony
        CSInfoMgr.LoadData();
        ProcessingObjInfo.LoadData();
        CSTradeInfoData.LoadData();
        CampTradeIdData.LoadData();
        AbnormalTypeTreatData.LoadData();
        CSMedicineSupport.LoadData();
        //RandomItemMgr
        RandomItemDataMgr.LoadData();
        FecesData.LoadData();
        //randomdungeon
        RandomDungeonDataBase.LoadData();
        AbnormalData.LoadData();
        PEAbnormalNoticeData.LoadData();

        RelationInfo.LoadData();
        EquipSetData.LoadData();
        SuitSetData.LoadData();

        CheatData.LoadData();

        Pathea.NpcProtoDb.Load();
        Pathea.MonsterProtoDb.Load();
        Pathea.MonsterRandomDb.Load();
        Pathea.MonsterGroupProtoDb.Load();
        Pathea.RandomNpcDb.Load();
        Pathea.PlayerProtoDb.Load();
        Pathea.TowerProtoDb.Load();
        Pathea.DoodadProtoDb.Load();
        Pathea.AttPlusNPCData.Load();
        Pathea.AttPlusBuffDb.Load();
        Pathea.NpcTypeDb.Load();
        Pathea.NpcRandomTalkDb.Load();
        Pathea.NpcThinkDb.LoadData();
        Pathea.NpcEatDb.LoadData();
        Pathea.NpcRobotDb.Load();
        Pathea.NPCScheduleData.Load();
        Pathea.NpcVoiceDb.LoadData();
        InGameAidData.LoadData(); //lz-2016.08.21 add it
        MountsSkillDb.LoadData();

#if UNITY_EDITOR
        sw.Stop();
        Debug.Log("Database Loaded : " + sw.ElapsedMilliseconds);
        sw.Reset();
#else
        Debug.Log("Database Loaded");
#endif
    }