示例#1
0
    public void setSoulStarState(string cardUid, int hole, string starsoulUid)
    {
        StorageManagerment smanager = StorageManagerment.Instance;
        Card card = smanager.getRole(cardUid);

        if (card != null)
        {
            // 设置被替换的星魂状态为未装备(如果是直接穿装备则不执行)
            StarSoulBore oldStarSoulBore = card.getStarSoulBoreByIndex(hole);
            if (oldStarSoulBore != null)
            {
                StarSoul oldStarSoul = smanager.getStarSoul(oldStarSoulBore.getUid());
                if (oldStarSoul != null)
                {
                    oldStarSoul.unState(EquipStateType.OCCUPY);
                    oldStarSoul.isNew = false;
                }
            }
            // 设置被穿的星魂状态为装备
            StarSoul starSoul = smanager.getStarSoul(starsoulUid);
            if (starSoul != null)
            {
                starSoul.setState(EquipStateType.OCCUPY);
                starSoul.isNew = false;
            }
            card.addStarSoulBore(starsoulUid, hole);
            activeCard = card;
        }
        StorageManagerment.Instance.starSoulStorageVersion++;
    }
    /// <summary>
    /// 卸星魂通讯读取处理
    /// </summary>
    /// <param name="message">Message.</param>
    private void doPutoffStarSoul(ErlKVMessage message)
    {
        ErlType erlType = message.getValue("value") as ErlType;

        if (erlType is ErlArray)
        {
            ErlArray arr         = erlType as ErlArray;
            int      index       = 0;
            string   cardUid     = arr.Value [index++].getValueString();
            int      hole        = StringKit.toInt(arr.Value [index++].getValueString());
            string   starsoulUid = arr.Value [index++].getValueString();
            StarSoulManager.Instance.delSoulStarState(cardUid, hole);
            StorageManagerment smanager = StorageManagerment.Instance;
            Card card = smanager.getRole(cardUid);
            if (card != null)
            {
                card.delStarSoulBoreByIndex(hole);
            }
            StorageManagerment.Instance.starSoulStorageVersion++;
            if (callback != null)
            {
                callback();
                callback = null;
            }
        }
        else
        {
            UiManager.Instance.openDialogWindow <MessageWindow> ((win) => {
                win.initWindow(1, LanguageConfigManager.Instance.getLanguage("s0093"), null, erlType.getValueString(), null);
            });
        }
    }
示例#3
0
    public void delSoulStarState(string cardUid, int hole)
    {
        StorageManagerment smanager = StorageManagerment.Instance;
        Card card = smanager.getRole(cardUid);

        if (card != null)
        {
            card.delStarSoulBoreByIndex(hole);
            activeCard = card;
        }
        StorageManagerment.Instance.starSoulStorageVersion++;
        uid   = "";
        _hole = 0;
    }