Exemplo n.º 1
0
    public bool CheckCondition(ref WingCommonTableItem commonRes, out int finishProgress)
    {
        bool re = true;

        finishProgress = 0;
        for (int i = 0; i < WingDefine.MaxConditonNum; ++i)
        {
            Type t         = commonRes.GetType();
            int  condition = Convert.ToInt32(t.GetField("condition" + (i + 1)).GetValue(commonRes));
            if (condition == -1)
            {
                continue;
            }
            if (!QuestHelper.CheckCondition(condition))
            {
                re = false;
            }
            else
            {
                finishProgress |= 1 << i;
                //GameDebug.Log(commonRes.id + " 激活条件" + finishProgress);
            }
        }

        return(re);
    }
Exemplo n.º 2
0
    public void SetupWing(int resid)
    {
        if (!DataManager.WingCommonTable.ContainsKey(resid))
        {
            return;
        }

        WingCommonTableItem wingtable = DataManager.WingCommonTable[resid] as WingCommonTableItem;

        if (wingtable == null)
        {
            GameDebug.LogError("WingTable 没有找到 id = " + resid.ToString());
            return;
        }

        if (resid != mResid)
        {
            if (mWing != null)
            {
                mWing.Destroy();
            }

            mResid = resid;
            mWing  = new MeshVisual();
            WingItemData itemData  = PlayerDataPool.Instance.MainData.mWingData.GetWingItemDataById(mResid);
            string       modleName = WingModule.GetModelName(itemData.id, itemData.level);
            //mWing.CreateWithConfig(AssetConfig.WeaponPath + modleName,
        }
    }
Exemplo n.º 3
0
    public static int GetEffectId(int wingid, int winglevel)
    {
        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;

        if (commonRes == null)
        {
            GameDebug.Log("无效的翅膀id" + wingid);
            return(-1);
        }

        if (winglevel < commonRes.middleLevel)
        {
            return(-1);
        }

        if (winglevel >= commonRes.middleLevel)
        {
            if (SceneManager.Instance.GetCurScene() is CityScene)
            {
                return(commonRes.effectNomal);
            }
            return(commonRes.effectFight);
        }

        return(-1);
    }
Exemplo n.º 4
0
    public WingCommonTableItem GetCommonResByIndex(int index)
    {
        int id = GetWingIdByIndex(index);
        WingCommonTableItem item = DataManager.WingCommonTable[id] as WingCommonTableItem;

        return(item);
    }
Exemplo n.º 5
0
    public void WingEquip(int wingid, int action)
    {
        WingData wingData = PlayerDataPool.Instance.MainData.mWingData;

        WingItemData        itemData  = wingData.GetWingItemDataById(wingid);
        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;
        string modelName    = WingModule.GetModelName(wingid, itemData.level);
        int    wingeffectId = WingModule.GetEffectId(wingid, (int)itemData.level);

        if (action == 0)
        {
            RemoveAttach(AttachMountType.Wing);
            GameDebug.Log("装备翅膀");
            ChangeAttach(AttachMountType.Wing, AssetConfig.WeaponPath + modelName, commonRes.modelSlot);
            if (wingeffectId != -1)
            {
                AddEffect((uint)wingeffectId, null, float.NaN, AttachMountType.Wing);
            }
        }
        else
        {
            GameDebug.Log("卸载翅膀");
            RemoveAttach(AttachMountType.Wing);
        }
    }
Exemplo n.º 6
0
    public void OnWingSuccess()
    {
        AttachMent attachment = mAttachMents[(int)AttachMountType.Wing];

        if (attachment == null)
        {
            return;
        }

        WingCommonTableItem commonRes = DataManager.WingCommonTable[mWingID] as WingCommonTableItem;

        if (commonRes == null)
        {
            return;
        }
        int effectid = WingModule.GetEffectId(mWingID, (int)mWingLv);

        if (effectid == -1)
        {
            return;
        }

        uint         instid = ParticleUtility.AddEffect2MV(attachment.visual as MeshVisual, effectid, commonRes.modelSlot, SceneManager.Instance.GetCurScene().GetParticleManager());
        ParticleItem pitem  = SceneManager.Instance.GetCurScene().GetParticleManager().GetParticle(instid);

        if (pitem != null)
        {
            pitem.Layer = layermask;
        }
    }
Exemplo n.º 7
0
    public string GetWingPicPath(int wingid)
    {
        WingCommonTableItem res = DataManager.WingCommonTable[wingid] as WingCommonTableItem;

        if (res == null)
        {
            return("");
        }
        return(res.wingPicLow);
    }
Exemplo n.º 8
0
    public string GetWingPicAni(int wingid)
    {
        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;

        if (commonRes == null)
        {
            GameDebug.Log("无效的翅膀id" + wingid);
            return("");
        }

        return(commonRes.wingPicAni);
    }
Exemplo n.º 9
0
    public bool RequestActive()
    {
        WingCommonTableItem commonRes = DataManager.WingCommonTable[GetWingIdByIndex(mCurPageNum)] as WingCommonTableItem;

        int p;

        if (CheckCondition(ref commonRes, out p))
        {
            Net.Instance.DoAction((int)MESSAGE_ID.ID_MSG_WING_ACTIVE, commonRes.id);
        }
        else
        {
            PromptUIManager.Instance.AddNewPrompt(StringHelper.GetString("wingcondition"));
            return(false);
        }

        return(true);
    }
Exemplo n.º 10
0
    protected override void OnRequest(request_forge_wing request, object userdata)
    {
        request.wingid = Convert.ToInt32(userdata);
        WingCommonTableItem commonRes = DataManager.WingCommonTable[request.wingid] as WingCommonTableItem;

        if (commonRes == null)
        {
            return;
        }
        PlayerDataModule pdm     = ModuleManager.Instance.FindModule <PlayerDataModule>();
        uint             itemNum = pdm.GetItemNumByID(commonRes.costId);

        if (itemNum == 0)
        {
            //GameDebug.Log("打开快速购买界面打开快速购买界面打开快速购买界面打开快速购买界面打开快速购买界面");
            return;
        }

        GameDebug.Log("请求精炼翅膀" + request.wingid);
    }
Exemplo n.º 11
0
    public int GetWingIdByIndex(int index)
    {
        IDictionaryEnumerator itr = DataManager.WingCommonTable.GetEnumerator();

        while (itr.MoveNext())
        {
            WingCommonTableItem resItem = itr.Value as WingCommonTableItem;
            if (resItem.index == index)
            {
                return(resItem.id);
            }
        }
//         foreach (DictionaryEntry wct in DataManager.WingCommonTable)
//         {
//             WingCommonTableItem resItem = wct.Value as WingCommonTableItem;
//             if (resItem.index == index)
//                 return resItem.id;
//         }

        return(-1);
    }
Exemplo n.º 12
0
    public void ChangeWing(int wingid, uint winglv)
    {
        if (mWingID == wingid && mWingLv == winglv)
        {
            return;
        }
        mWingID = wingid;
        mWingLv = winglv;

        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;

        if (commonRes == null)
        {
            return;
        }
        string     modelName = WingModule.GetModelName(wingid, winglv);
        MeshVisual visual    = new MeshVisual();

        visual.CreateWithConfig(AssetConfig.WeaponPath + modelName, null, null, false);
        ChangeAttach(AttachMountType.Wing, visual, commonRes.modelSlot);
    }
Exemplo n.º 13
0
    public static string GetWingPic(int wingid, int winglevel)
    {
        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;

        if (commonRes == null)
        {
            GameDebug.Log("无效的翅膀id" + wingid);
            return("");
        }

        if (winglevel < commonRes.middleLevel)
        {
            return(commonRes.wingPicLow);
        }

        if (winglevel >= commonRes.middleLevel && winglevel < commonRes.hightLevel)
        {
            return(commonRes.wingPicMid);
        }

        return(commonRes.wingPicHigh);
    }
Exemplo n.º 14
0
    public bool RequestForge()
    {
        WingItemData wing_item_data;

        GetWingItemData(mCurPageNum, out wing_item_data);
        WingCommonTableItem wing_common_res = DataManager.WingCommonTable[wing_item_data.id] as WingCommonTableItem;
        PlayerDataModule    pdm             = ModuleManager.Instance.FindModule <PlayerDataModule>();

        uint curCostNum = pdm.GetItemNumByID(wing_common_res.costId);

        if (curCostNum == 0)
        {
            MallFormModule mallModule = ModuleManager.Instance.FindModule <MallFormModule>();
            mallModule.OpenMallFormByItemId(wing_common_res.costId, "wing");
            return(false);
        }
        if (wing_item_data.level == (wing_common_res.middleLevel - 1) || wing_item_data.level == (wing_common_res.hightLevel - 1))
        {
            IsReEquip = true;
        }
        Net.Instance.DoAction((int)MESSAGE_ID.ID_MSG_WING_FORGE, wing_item_data.id);
        return(true);
    }
Exemplo n.º 15
0
    private void OnWingUpdate(EventBase e)
    {
        WingModule module = ModuleManager.Instance.FindModule <WingModule>();
        List <int> list   = module.GetUnlockWing();

        for (int i = 0; i < msMaxWingNum; ++i)
        {
            if (i < list.Count)
            {
                mWingObject[i].SetActive(true);
                WingCommonTableItem commonRes = DataManager.WingCommonTable[list[i]] as WingCommonTableItem;
                if (commonRes != null)
                {
                    ItemTableItem itemRes = ItemManager.GetItemRes(commonRes.costId);
                    if (itemRes != null)
                    {
                        UIAtlasHelper.SetSpriteImage(mWingIcon[i], itemRes.picname);
                        uint wingLevel = module.GetWingLevel(list[i]);
                        if (wingLevel > 0)
                        {
                            mWingLevel[i].gameObject.SetActive(true);
                            mWingLevel[i].text = "Lv " + wingLevel;
                        }
                        else
                        {
                            mWingLevel[i].gameObject.SetActive(false);
                        }
                    }
                }
            }
            else
            {
                mWingObject[i].SetActive(false);
                UIAtlasHelper.SetSpriteImage(mWingIcon[i], null);
            }
        }
    }
Exemplo n.º 16
0
 private void OnWingUpdate()
 {
     for (int i = 0; i < msMaxWingNum; ++i)
     {
         if (i < mOtherData.mWingData.wingItems.Count)
         {
             mWingObject[i].SetActive(true);
             WingCommonTableItem commonRes = DataManager.WingCommonTable[mOtherData.mWingData.wingItems[i].id] as WingCommonTableItem;
             if (commonRes != null)
             {
                 ItemTableItem itemRes = ItemManager.GetItemRes(commonRes.costId);
                 if (itemRes != null)
                 {
                     UIAtlasHelper.SetSpriteImage(mWingIcon[i], itemRes.picname);
                 }
             }
         }
         else
         {
             mWingObject[i].SetActive(false);
             UIAtlasHelper.SetSpriteImage(mWingIcon[i], null);
         }
     }
 }
Exemplo n.º 17
0
    public void OnWingSuccess()
    {
        AttachMent attachment = mAttachMents[(int)AttachMountType.Wing];

        if (attachment == null)
        {
            return;
        }

        WingCommonTableItem commonRes = DataManager.WingCommonTable[mWingID] as WingCommonTableItem;

        if (commonRes == null)
        {
            return;
        }
        if (!DataManager.EffectTable.ContainsKey(commonRes.effectNomal))
        {
            return;
        }

        EffectTableItem item = DataManager.EffectTable[commonRes.effectNomal] as EffectTableItem;

        ParticleUtility.AddEffect2MV(attachment.visual as MeshVisual, commonRes.effectNomal, commonRes.modelSlot, ParticleMng);
    }