Ejemplo n.º 1
0
    bool AddTrackData(ItemTrackData data)
    {
        UIMissionNode rootNode = itemsTree.AddMissionNode(null, "", false, true, false);

        rootNode.mLbTitle.maxLineCount = 1;
        rootNode.e_BtnDelete          += DeleteNode;

        UIMissionNode tragetNode = itemsTree.AddMissionNode(rootNode, "", false, false, false);

        tragetNode.mLbTitle.maxLineCount = 0;

        _nodeDataDic.Add(rootNode, data);

        UpdateNodeText(rootNode);

        rootNode.ChangeExpand();

        if (!GameUI.Instance.mItemsTrackWnd.isShow)
        {
            GameUI.Instance.mItemsTrackWnd.Show();
        }

        if (data != null && data.type == TrackType.Script)
        {
            if (ScriptTrackChanged != null)
            {
                ScriptTrackChanged(data.scriptID, true);
            }
        }

        return(true);
    }
Ejemplo n.º 2
0
    void UpdateNodeText(UIMissionNode node)
    {
        if (node == null)
        {
            return;
        }
        if (!_nodeDataDic.ContainsKey(node))
        {
            return;
        }
        ItemTrackData data = _nodeDataDic[node];

        if (data == null)
        {
            return;
        }

        UIMissionNode childNode = null;

        if (node.mChilds.Count > 0)
        {
            childNode = node.mChilds[0];
        }

        bool complate = true;

        if (playerPackage != null)
        {
            string text = string.Empty;
            foreach (var kv in data.costDic)
            {
                string costName = ItemProto.GetName(kv.Key);
                int    curCount = playerPackage.GetCount(kv.Key);
                string countStr = string.Empty;
                countStr = string.Format(countFormat, curCount, kv.Value);
                bool costComplate = curCount >= kv.Value;
                text += string.Format(costComplate ? complateCountColor : uncompletedCountColor, costName, countStr);
                if (!costComplate)
                {
                    complate = false;
                }
            }
            if (childNode)
            {
                childNode.mLbTitle.text = text;
            }
        }

        string titleText = data.itemName;

        if (complate)
        {
            titleText = string.Format(complateTitleColor, string.Format(complateTitleFormat, data.itemName, data.itemCount, PELocalization.GetString(8000694)));
        }
        node.mLbTitle.text = titleText;
    }
Ejemplo n.º 3
0
 public void AddIso(string isoName, Dictionary <int, int> m_Cost)
 {
     if (!ContainsIso(isoName))
     {
         ItemTrackData data = new ItemTrackData(TrackType.ISO);
         data.itemName  = isoName;
         data.itemCount = 1;
         foreach (KeyValuePair <int, int> kv in m_Cost)
         {
             if (kv.Value > 0)
             {
                 data.costDic.Add(kv.Key, kv.Value);
             }
         }
         AddTrackData(data);
     }
 }
Ejemplo n.º 4
0
    public void UpdateOrAddScript(Pathea.Replicator.Formula ms, int multiple)
    {
        if (ms == null)
        {
            return;
        }
        ItemTrackData data = null;

        foreach (var nodeData in _nodeDataDic.Values)
        {
            if (nodeData.type == TrackType.Script && nodeData.scriptID == ms.id)
            {
                data = nodeData;
                break;
            }
        }
        bool needAdd = false;

        if (data == null)
        {
            data          = new ItemTrackData(TrackType.Script);
            data.scriptID = ms.id;
            data.itemName = ItemProto.GetName(ms.productItemId);
            needAdd       = true;
        }
        else
        {
            data.costDic.Clear();
        }
        data.itemCount = multiple * ms.m_productItemCount;
        foreach (var item in ms.materials)
        {
            data.costDic.Add(item.itemId, item.itemCount * multiple);
        }

        if (needAdd)
        {
            AddTrackData(data);
        }
    }
Ejemplo n.º 5
0
    void DeleteNode(object obj)
    {
        UIMissionNode node = obj as UIMissionNode;

        if (node)
        {
            ItemTrackData data = null;
            if (_nodeDataDic.ContainsKey(node))
            {
                data = _nodeDataDic[node];
                _nodeDataDic.Remove(node);
            }
            itemsTree.DeleteMissionNode(node);
            if (data != null && data.type == TrackType.Script)
            {
                if (ScriptTrackChanged != null)
                {
                    ScriptTrackChanged(data.scriptID, false);
                }
            }
        }
    }