コード例 #1
0
ファイル: CreatureIcon.cs プロジェクト: sakura68/portfolio
    //===================================================================================
    //
    // Default Method
    //
    //===================================================================================

    //===================================================================================
    //
    // Method
    //
    //===================================================================================
    public bool SetIcon(ulong kCreatureUniqueIdx, enCreatureIcon_Type type)
    {
        ItemCreature myCreature = UserInfo.Instance.InventoryInfo.GetMyCreature(kCreatureUniqueIdx);

        if (myCreature == null)
        {
#if DEBUG_LOG
            Debug.Log(string.Format("<color=red>크리쳐 키 : {0} 에 해당하는 크리쳐가 인벤에 없다.</color>", kCreatureUniqueIdx));
#endif
            return(false);
        }

        _CreatureTableData = UtilFunc.GetCreatureDataByTID(myCreature.Index);
        if (_CreatureTableData == null)
        {
#if DEBUG_LOG
            Debug.Log("<color=red>DATA_CREATURE_NEWVER 테이블 정보 오류</color>");
#endif
            return(false);
        }

        m_CreatureIconType = type;
        _CreatureKey       = kCreatureUniqueIdx;

        if (m_ReinforceLevelLabel != null)
        {
            m_ReinforceLevelLabel.text = string.Format("{0}{1}", "+", myCreature.ForceCount);
        }
        if (m_LevelLabel != null)
        {
            m_LevelLabel.text = string.Format("{0}{1}", StringTableManager.GetData(12), myCreature.Level);
        }

        SetDefaultIcon(_CreatureTableData.iCreatureName, _CreatureTableData.m_szIcon, _CreatureTableData.m_enCreatureArmy.ToString(), _CreatureTableData.m_iGrade, myCreature.Awake, _CreatureTableData.m_iQuality);

        return(true);
    }
コード例 #2
0
ファイル: CreatureIcon.cs プロジェクト: sakura68/portfolio
    public bool SetIcon(ItemCreature myCreature, DATA_CREATURE_NEWVER CreatureTableData, enCreatureIcon_Type type)
    {
        if (myCreature == null)
        {
#if DEBUG_LOG
            Debug.Log("<color=red>크리쳐가 인벤에 없다.</color>");
#endif
            return(false);
        }

        if (CreatureTableData == null)
        {
#if DEBUG_LOG
            Debug.Log("<color=red>DATA_CREATURE_NEWVER 테이블 정보 오류</color>");
#endif
            return(false);
        }

        _CreatureTableData = CreatureTableData;

        m_CreatureIconType = type;
        _CreatureKey       = myCreature.UniqueIndex;

        if (m_ReinforceLevelLabel != null)
        {
            m_ReinforceLevelLabel.text = string.Format("{0}{1}", "+", myCreature.ForceCount);
        }
        if (m_LevelLabel != null)
        {
            m_LevelLabel.text = string.Format("{0}{1}", StringTableManager.GetData(12), myCreature.Level);
        }

        SetDefaultIcon(_CreatureTableData.iCreatureName, _CreatureTableData.m_szIcon, _CreatureTableData.m_enCreatureArmy.ToString(), _CreatureTableData.m_iGrade, myCreature.Awake, _CreatureTableData.m_iQuality);

        return(true);
    }
コード例 #3
0
    private void MakeUseCreatureData()
    {
        InventoryInfo pInven = UserInfo.Instance.InventoryInfo;

        if (pInven == null)
        {
            return;
        }

        Dictionary <ulong, ItemCreature> pDicValue = pInven.MapInvenCreature;

        if (pDicValue == null)
        {
            return;
        }

        _CreatureList.Clear();

        // 등급순 -> 레벨순으로 정렬.
        foreach (KeyValuePair <ulong, ItemCreature> dicvalue in pDicValue.OrderByDescending((data) => data.Value.Grade).ThenByDescending((data) => data.Value.Level))
        {
            ulong kCreatureKey = dicvalue.Key;

            if (UtilFunc.IsDispatching(kCreatureKey) == true)                                    // 파견중인 크리쳐는 제낌.
            {
                continue;
            }

            ItemCreature         pMy           = UserInfo.Instance.InventoryInfo.GetMyCreature(kCreatureKey);
            DATA_CREATURE_NEWVER pCreatureData = UtilFunc.GetCreatureDataByTID(pMy.Index);

            if (pCreatureData.m_iGrade < (int)m_DispatchTableData.RequireGrade)      // 필요등급 검사
            {
                continue;
            }

            if (pMy.Level < m_DispatchTableData.RequireLevel)                  // 필요레벨 검사
            {
                continue;
            }

            if (UserInfo.Instance.CreatureTeam.HasTempCreatureAll(kCreatureKey))        // 팀에 속해있는지 검사
            {
                continue;
            }

            CreatureItemInfo info = new CreatureItemInfo();
            info.Init(kCreatureKey, pMy, pCreatureData);
            info.SetDispatchSelect(false, string.Empty);

            _CreatureList.Add(info);
        }

        // 전에 보냈던 크리쳐가 있으면 다시 정렬.
        for (int i = 0; i < m_DispatchRecvData.vCreatureKey.Count; i++)
        {
            foreach (CreatureItemInfo info in _CreatureList)
            {
                if (m_DispatchRecvData.vCreatureKey[i] == info.CreatureKey)
                {
                    CreatureItemInfo oldInfo = info;
                    _CreatureList.Remove(info);
                    _CreatureList.Insert(i, oldInfo);       // 전에 보냈던 순서대로 Insert
                    break;
                }
            }
        }
    }