Ejemplo n.º 1
0
    /// <summary>
    /// 移除卡片星魂槽的星魂
    /// <param name="index">星魂槽位置</param>
    /// </summary>
    public bool delStarSoulBoreByIndex(int index)
    {
        if (bores == null)
        {
            return(false);
        }
        StorageManagerment smanager = StorageManagerment.Instance;
        StarSoulBore       starSoulBore;

        for (int i = 0; i < bores.Count; i++)
        {
            starSoulBore = (StarSoulBore)bores[i];
            if (starSoulBore.checkStarSoulBoreByIndex(index))
            {
                StarSoul starSoul = smanager.getStarSoul(starSoulBore.getUid());
                if (starSoul != null)
                {
                    starSoul.unState(EquipStateType.OCCUPY);
                    starSoul.isNew = false;
                }
                bores.RemoveAt(i);
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 2
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++;
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 移除卡片星魂槽的星魂
    /// <param name="index">星魂槽位置</param>
    /// </summary>
    public void delStarSoulBoreByAll()
    {
        if (bores == null || bores.Count < 1)
        {
            return;
        }
        StorageManagerment smanager = StorageManagerment.Instance;
        StarSoulBore       starSoulBore;

        for (int i = 0; i < bores.Count; i++)
        {
            starSoulBore = (StarSoulBore)bores[i];
            StarSoul starSoul = smanager.getStarSoul(starSoulBore.getUid());
            if (starSoul != null)
            {
                starSoul.unState(EquipStateType.OCCUPY);
                starSoul.isNew = false;
            }
            bores.RemoveAt(i--);
        }
    }