Exemple #1
0
        public bool _AddItem(INT32 nIssue, StrucCTblHistoryRecord poItem)
        {
            if ((object)Get(nIssue) != null)
            {
                DebugLog.LogError(string.Format("Load File {0} failed, nIssue {1} repeat", m_strFile, (UINT32)nIssue));
                return(false);
            }

            m_hTblHistoryRecord.Add(nIssue, poItem);
            return(true);
        }
Exemple #2
0
        public bool LoadFromFile(string path = "", AssetBundle bundle = null, string language = "zh-Hans")
        {
            m_hTblHistoryRecord.Clear();
            List <string> oVecLines = new List <string>();
            string        filename  = m_strFile;

            byte[] textBytes = null;
            if (bundle != null)
            {
                TextAsset oTextAsset = null;
                oTextAsset = bundle.LoadAsset <TextAsset>(filename + ".txt");
                textBytes  = oTextAsset.bytes;
            }
            else if (path != "")
            {
                WWW tableLoder = new WWW(path + filename + ".txt");
                while (!tableLoder.isDone)
                {
                }
                ;
                textBytes = tableLoder.bytes;
            }
            else
            {
                TextAsset oTextAsset = Resources.Load(m_strFile) as TextAsset;
                textBytes = oTextAsset.bytes;
            }
            Stream       s  = new MemoryStream(textBytes);
            StreamReader sr = new StreamReader(s);
            string       strLine;

            strLine = sr.ReadLine();
            oVecLines.Add(strLine);
            while (strLine != null)
            {
                strLine = sr.ReadLine();
                oVecLines.Add(strLine);
            }
            sr.Close();
            string[] sHeaders = oVecLines[1].Split(new char[] { '\t' });

            if (sHeaders.Length != m_nColCount)
            {
                return(false);
            }

            INT32[] anIndex = new INT32[15];
            UINT32  i;

            for (i = 0; i < 15; i++)
            {
                anIndex[i] = -1;
            }

            for (i = 0; i < 15; i++)
            {
                if (sHeaders[i] == "Issue")
                {
                    anIndex[0] = (INT32)i;
                }
                else if (sHeaders[i] == "DrawDate")
                {
                    anIndex[1] = (INT32)i;
                }
                else if (sHeaders[i] == "RedOne")
                {
                    anIndex[2] = (INT32)i;
                }
                else if (sHeaders[i] == "RedTwo")
                {
                    anIndex[3] = (INT32)i;
                }
                else if (sHeaders[i] == "RedThree")
                {
                    anIndex[4] = (INT32)i;
                }
                else if (sHeaders[i] == "RedFour")
                {
                    anIndex[5] = (INT32)i;
                }
                else if (sHeaders[i] == "RedFive")
                {
                    anIndex[6] = (INT32)i;
                }
                else if (sHeaders[i] == "RedSix")
                {
                    anIndex[7] = (INT32)i;
                }
                else if (sHeaders[i] == "Blue")
                {
                    anIndex[8] = (INT32)i;
                }
                else if (sHeaders[i] == "PrizePool")
                {
                    anIndex[9] = (INT32)i;
                }
                else if (sHeaders[i] == "FirstPrize")
                {
                    anIndex[10] = (INT32)i;
                }
                else if (sHeaders[i] == "FristPrizeBonus")
                {
                    anIndex[11] = (INT32)i;
                }
                else if (sHeaders[i] == "SecondPrize")
                {
                    anIndex[12] = (INT32)i;
                }
                else if (sHeaders[i] == "SecondPrizeBonus")
                {
                    anIndex[13] = (INT32)i;
                }
                else if (sHeaders[i] == "Sales")
                {
                    anIndex[14] = (INT32)i;
                }
                else
                {
                    DebugLog.LogError(string.Format("Load File {0} failed, header {1} is invalid", m_strFile, sHeaders[i]));
                    return(false);
                }
            }

            for (i = 0; i < 15; i++)
            {
                if (-1 == anIndex[i])
                {
                    DebugLog.LogError(string.Format("Load File {0} failed, not find all headers", m_strFile));
                    return(false);
                }
            }

            for (i = 2; i < oVecLines.Count - 1; i++)
            {
                string[] sHeader = oVecLines[(INT32)i].Split(new char[] { '\t' });

                StrucCTblHistoryRecord oItem = new StrucCTblHistoryRecord();
                if (sHeader[anIndex[0]].Length > 0)
                {
                    oItem.m_nIssue = (INT32)int.Parse(sHeader[anIndex[0]]);
                }
                else
                {
                    oItem.m_nIssue = 0;
                }

                if (sHeaders.Length > anIndex[1])
                {
                    oItem.m_strDrawDate = sHeader[anIndex[1]];
                }
                if (sHeader[anIndex[2]].Length > 0)
                {
                    oItem.m_nRedOne = (INT32)int.Parse(sHeader[anIndex[2]]);
                }
                else
                {
                    oItem.m_nRedOne = 0;
                }
                if (sHeader[anIndex[3]].Length > 0)
                {
                    oItem.m_nRedTwo = (INT32)int.Parse(sHeader[anIndex[3]]);
                }
                else
                {
                    oItem.m_nRedTwo = 0;
                }
                if (sHeader[anIndex[4]].Length > 0)
                {
                    oItem.m_nRedThree = (INT32)int.Parse(sHeader[anIndex[4]]);
                }
                else
                {
                    oItem.m_nRedThree = 0;
                }
                if (sHeader[anIndex[5]].Length > 0)
                {
                    oItem.m_nRedFour = (INT32)int.Parse(sHeader[anIndex[5]]);
                }
                else
                {
                    oItem.m_nRedFour = 0;
                }
                if (sHeader[anIndex[6]].Length > 0)
                {
                    oItem.m_nRedFive = (INT32)int.Parse(sHeader[anIndex[6]]);
                }
                else
                {
                    oItem.m_nRedFive = 0;
                }
                if (sHeader[anIndex[7]].Length > 0)
                {
                    oItem.m_nRedSix = (INT32)int.Parse(sHeader[anIndex[7]]);
                }
                else
                {
                    oItem.m_nRedSix = 0;
                }
                if (sHeader[anIndex[8]].Length > 0)
                {
                    oItem.m_nBlue = (INT32)int.Parse(sHeader[anIndex[8]]);
                }
                else
                {
                    oItem.m_nBlue = 0;
                }
                if (sHeader[anIndex[9]].Length > 0)
                {
                    oItem.m_nPrizePool = (INT32)int.Parse(sHeader[anIndex[9]]);
                }
                else
                {
                    oItem.m_nPrizePool = 0;
                }
                if (sHeader[anIndex[10]].Length > 0)
                {
                    oItem.m_nFirstPrize = (INT32)int.Parse(sHeader[anIndex[10]]);
                }
                else
                {
                    oItem.m_nFirstPrize = 0;
                }
                if (sHeader[anIndex[11]].Length > 0)
                {
                    oItem.m_nFristPrizeBonus = (INT32)int.Parse(sHeader[anIndex[11]]);
                }
                else
                {
                    oItem.m_nFristPrizeBonus = 0;
                }
                if (sHeader[anIndex[12]].Length > 0)
                {
                    oItem.m_nSecondPrize = (INT32)int.Parse(sHeader[anIndex[12]]);
                }
                else
                {
                    oItem.m_nSecondPrize = 0;
                }
                if (sHeader[anIndex[13]].Length > 0)
                {
                    oItem.m_nSecondPrizeBonus = (INT32)int.Parse(sHeader[anIndex[13]]);
                }
                else
                {
                    oItem.m_nSecondPrizeBonus = 0;
                }
                if (sHeader[anIndex[14]].Length > 0)
                {
                    oItem.m_nSales = (INT32)int.Parse(sHeader[anIndex[14]]);
                }
                else
                {
                    oItem.m_nSales = 0;
                }

                if (false == _AddItem(oItem.m_nIssue, oItem))
                {
                    return(false);
                }
            }

            DebugLog.Log(string.Format("Load File{0} ok, {1} lines, {2} cols", m_strFile, oVecLines.Count, m_nColCount));
            return(true);
        }