Example #1
0
    //创建获得金币
    public void ShowGetGold(int gold)
    {
        Debug.Log("------------ShowGetGold------------");
        GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom;
        WordsInfo  wd    = AddWordsInfo(words);

        wd.RandomX(-30, 30);

        //words.z = 0;
        //1,直接加到GRoot显示出来
        GRoot.inst.AddChild(words);
        GRoot.inst.SetChildIndex(words, 1);
        words.GetChild("num").asTextField.text            = "" + gold;
        words.GetChild("num").asTextField.color           = new Color(245 / 255.0f, 218 / 255.0f, 0);
        words.GetChild("num").asTextField.shadowOffset    = new Vector2(1, 1);
        words.GetChild("num").asTextField.textFormat.bold = true;
        FairyGUI.Transition trans = words.GetTransition("getgold");
        trans.Play();
        trans.SetHook("over", () => {
            RemoveWordsInfo(wd);
        });

        //音效
        AudioManager.Am.Play3DSound(AudioManager.Sound_Gold, this.Mode.transform.position);
    }
Example #2
0
    public void RemoveWordsInfo(WordsInfo wd)
    {
        if (wd.root != null)
        {
            wd.root.Dispose();
        }

        m_AllWords.Remove(wd);
    }
Example #3
0
    public WordsInfo AddWordsInfo(GComponent root)
    {
        var p1 = m_Mode.transform.position;

        p1.y += m_MeshHeight / 2;
        WordsInfo wi = new WordsInfo(root, p1);

        m_AllWords[wi] = wi;
        return(wi);
    }
Example #4
0
 /// <summary>
 /// 导入词
 /// </summary>
 /// <param name="info"></param>
 public void ImpWordsData(WordsInfo info, string token)
 {
     try
     {
         string apiName   = "words/word";
         string json      = JsonConvert.SerializeObject(info);
         string resultStr = HttpHelper.HttpUrlSend(apiName, "POST", json, token);
     }
     catch (Exception ex)
     { }
 }
Example #5
0
        private void Commit_Word()
        {
            var create = WordsInfo.Where(i => i.Word == null).ToArray();

            int id = Words[Words.Count - 1].ID;

            foreach (var item in create)
            {
                id++;

                var      root = xdoc.Element("library").Element("GlobalDictionary");
                XElement xe   = new XElement("word");
                xe.Add(new XAttribute("id", id));
                xe.Add(new XAttribute("en", item.En));
                xe.Add(new XAttribute("ru", item.Ru));
                xe.Add(new XAttribute("date_add", DateTime.Now.ToString()));
                xe.Add(new XAttribute("date_modified", DateTime.Now.ToString()));
                root.Add(xe);
            }
        }
Example #6
0
    //创建miss
    public void ShowMiss()
    {
        Debug.Log("------------ShowMiss------------");
        //var words = (GameObject)(GameObject.Instantiate(Resources.Load("UIPref/HurtWords")));
        //words.transform.parent = m_Mode.transform.parent;
        //words.transform.position = m_Mode.transform.position + new Vector3(0, m_MeshHeight, -0.1f);
        GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom;
        WordsInfo  wd    = AddWordsInfo(words);

        wd.RandomX(-30, 30);

        //words.z = 0;
        //1,直接加到GRoot显示出来
        GRoot.inst.AddChild(words);
        GRoot.inst.SetChildIndex(words, 1);
        //var root = words.GetComponent<FairyGUI.UIPanel>().ui;
        words.GetChild("num").asTextField.text  = "miss";
        words.GetChild("num").asTextField.color = new Color(1.0f, 1.0f, 1.0f);
        FairyGUI.Transition trans = words.GetTransition("up");
        trans.Play();
        trans.SetHook("over", () => {
            RemoveWordsInfo(wd);
        });
    }
Example #7
0
        internal void Init()
        {
            if (Words == null)
            {
                Words = new List <Word>();
            }
            else
            {
                Words.Clear();
            }

            if (Dictionaties == null)
            {
                Dictionaties = new List <Dictionary>();
            }
            else
            {
                Dictionaties.Clear();
            }

            if (ApplestsData == null)
            {
                ApplestsData = new List <AppletData>();
            }
            else
            {
                ApplestsData.Clear();
            }

            if (WordsInfo == null)
            {
                WordsInfo = new List <WordInfo>();
            }
            else
            {
                WordsInfo.Clear();
            }

            if (WordsInfoDelete == null)
            {
                WordsInfoDelete = new List <WordInfo>();
            }
            else
            {
                WordsInfoDelete.Clear();
            }

            if (DictionariesInfo == null)
            {
                DictionariesInfo = new List <DictionaryInfo>();
            }
            else
            {
                DictionariesInfo.Clear();
            }

            if (DictionariesInfoDelete == null)
            {
                DictionariesInfoDelete = new List <DictionaryInfo>();
            }
            else
            {
                DictionariesInfoDelete.Clear();
            }

            if (AppletsDataInfo == null)
            {
                AppletsDataInfo = new List <AppletDataInfo>();
            }
            else
            {
                AppletsDataInfo.Clear();
            }

            if (AppletsDataInfoDelete == null)
            {
                AppletsDataInfoDelete = new List <AppletDataInfo>();
            }
            else
            {
                AppletsDataInfoDelete.Clear();
            }

            currentDictionaty = null;

            xdoc = XDocument.Load(Environment.CurrentDirectory + "\\" + xml_Name);

            Init_Word();
            Init_Dic();
            Init_Progress();
        }
Example #8
0
        private void Commit_Word(XDocument doc)
        {
            doc.Element(root_xml_name).Add(new XElement(xml_global_dictionary_name));
            var root = doc.Element(root_xml_name).Element(xml_global_dictionary_name);

            #region Часть 1. Удаление слов из всех словарей и прогрессов

            WordsInfoDelete.ForEach(delegate(WordInfo info)
            {
                Dictionaties.ForEach(delegate(Dictionary d)  //Удаляем из всех словарей
                {
                    d.Words.Remove(info.Word);
                });

                ApplestsData.ForEach(delegate(AppletData applet)  //Из прогресса всех апплетов
                {
                    applet.WordProgress.Remove(info.Word);
                });

                Words.Remove(info.Word); // Из глобальной коллелкции (хотя словарь "все" ссылается на нее, так что как правило слово уже удалено)
            });

            #endregion

            #region Часть 2. Вносятся изменения в существующие слова

            WordsInfo.Where(i => (i.Word != null)).ToList().ForEach(delegate(WordInfo info)
            {
                if (info.Ru != string.Empty)
                {
                    info.Word.Ru = info.Ru;
                }

                if (info.En != string.Empty)
                {
                    info.Word.En = info.En;
                }

                info.Word.Modified = DateTime.Now;
            });

            #endregion

            #region Часть 3. Записываем все в XDocument

            Words.ForEach(delegate(Word w)
            {
                XElement xe = new XElement("word");
                xe.Add(new XAttribute("id", w.ID));
                xe.Add(new XAttribute("en", w.En));
                xe.Add(new XAttribute("ru", w.Ru));
                xe.Add(new XAttribute("date_add", w.Add));
                xe.Add(new XAttribute("date_modified", w.Modified));
                root.Add(xe);
            });

            #endregion

            #region Часть 4. Записываем новыве слова

            int id = (Words.Count == 0) ? 0 : Words[Words.Count - 1].ID;

            WordsInfo.Where(i => (i.Word == null)).ToList().ForEach(delegate(WordInfo info)
            {
                id++;

                XElement xe = new XElement("word");
                xe.Add(new XAttribute("id", id));
                xe.Add(new XAttribute("en", info.En));
                xe.Add(new XAttribute("ru", info.Ru));
                xe.Add(new XAttribute("date_add", DateTime.Now.ToString()));
                xe.Add(new XAttribute("date_modified", DateTime.Now.ToString()));
                root.Add(xe);
            });

            #endregion
        }
Example #9
0
 /// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary>
 /// <param name="info">см. описание к Push(WordInfo info)</param>
 public void Push(List <WordInfo> info)
 {
     WordsInfo.AddRange(info);
 }
Example #10
0
 /// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary>
 /// <param name="info">Если свойство Word != null,
 /// то выполняется внесение изменений в существующий объкт Word в базе данных.
 /// В противном случае выполняется занесение нового слова в базу</param>
 public void Push(WordInfo info)
 {
     WordsInfo.Add(info);
 }
        private async void ExcuteImpData(string token)
        {
            int dbCatograyCount      = 0;
            int dbLawClauseCount     = 0;
            int dbWordsCount         = 0;
            int dbWordsRelationCount = 0;

            int  dbCatograyTotalCount      = 0;
            int  dbLawClauseTotalCount     = 0;
            int  dbWordsTotalCount         = 0;
            int  dbWordsRelationTotalCount = 0;
            Task task = Task.Run(() =>
            {
                try
                {
                    Aspose.Cells.Workbook workbookName = new Aspose.Cells.Workbook(strFileName);
                    int sheetCount = workbookName.Worksheets.Count;
                    for (int iSheet = 0; iSheet < sheetCount; iSheet++)
                    {
                        string sheetName = workbookName.Worksheets[iSheet].Name;
                        if (sheetName == "Type表")
                        {
                            Aspose.Cells.Cells cellsName1 = workbookName.Worksheets[iSheet].Cells;
                            int minDataRow    = cellsName1.MinDataRow;
                            int minDataColumn = cellsName1.MinDataColumn;
                            int maxDataRow    = cellsName1.MaxDataRow;
                            int maxDataColumn = cellsName1.MaxDataColumn;

                            int typeId   = 0;
                            int typeName = 0;
                            for (int j = minDataColumn; j < maxDataColumn + 1; j++)
                            {
                                string s = cellsName1[minDataRow, j].StringValue.Trim();
                                if (s == "Type ID")
                                {
                                    typeId = j;
                                }
                                else if (s == "Type Name")
                                {
                                    typeName = j;
                                }
                            }
                            //导入数据
                            for (int i = minDataRow + 1; i < maxDataRow + 1; i++)
                            {
                                try
                                {
                                    WordsCategoryInfo info = new WordsCategoryInfo();
                                    info.typeId            = cellsName1[i, typeId].StringValue.Trim();
                                    info.typeName          = cellsName1[i, typeName].StringValue.Trim();
                                    APIService service     = new APIService();
                                    service.ImpWordsCategoryData(info, token);
                                    dbCatograyTotalCount++;
                                }
                                catch (Exception ex)
                                {
                                    dbCatograyCount++;
                                }
                                Dispatcher.Invoke(() => {
                                    DBCatograyCount.Text = dbCatograyCount.ToString() + "( 累计" + dbCatograyTotalCount + "条数据)";
                                });
                            }
                        }
                        else if (sheetName == "LawClause")
                        {
                            Aspose.Cells.Cells cellsName1 = workbookName.Worksheets[iSheet].Cells;
                            int minDataRow    = cellsName1.MinDataRow;
                            int minDataColumn = cellsName1.MinDataColumn;
                            int maxDataRow    = cellsName1.MaxDataRow;
                            int maxDataColumn = cellsName1.MaxDataColumn;

                            int clauseID   = 0;
                            int decription = 0;
                            int typeId     = 0;
                            for (int j = minDataColumn; j < maxDataColumn + 1; j++)
                            {
                                string s = cellsName1[minDataRow, j].StringValue.Trim();
                                if (s == "Clause ID")
                                {
                                    clauseID = j;
                                }
                                else if (s == "decription")
                                {
                                    decription = j;
                                }
                                else if (s == "Type ID")
                                {
                                    typeId = j;
                                }
                            }
                            //导入数据
                            for (int i = minDataRow + 1; i < maxDataRow + 1; i++)
                            {
                                try
                                {
                                    LawClauseInfo info = new LawClauseInfo();
                                    info.clauseId      = cellsName1[i, clauseID].StringValue.Trim();
                                    info.description   = cellsName1[i, decription].StringValue.Trim();
                                    info.typeId        = cellsName1[i, typeId].StringValue.Trim();
                                    APIService service = new APIService();
                                    service.ImpLawClauseData(info, token);
                                    dbLawClauseTotalCount++;
                                }
                                catch (Exception ex)
                                {
                                    dbLawClauseCount++;
                                }
                                Dispatcher.Invoke(() => {
                                    DBLawClauseCount.Text = dbLawClauseCount.ToString() + "( 累计" + dbLawClauseTotalCount + "条数据)";
                                });
                            }
                        }
                        else if (sheetName == "Word")
                        {
                            Aspose.Cells.Cells cellsName1 = workbookName.Worksheets[iSheet].Cells;
                            int minDataRow    = cellsName1.MinDataRow;
                            int minDataColumn = cellsName1.MinDataColumn;
                            int maxDataRow    = cellsName1.MaxDataRow;
                            int maxDataColumn = cellsName1.MaxDataColumn;

                            int wordID    = 0;
                            int name      = 0;
                            int sensitive = 0;
                            int clauseID  = 0;
                            for (int j = minDataColumn; j < maxDataColumn + 1; j++)
                            {
                                string s = cellsName1[minDataRow, j].StringValue.Trim();
                                if (s == "Word ID")
                                {
                                    wordID = j;
                                }
                                else if (s == "name")
                                {
                                    name = j;
                                }
                                else if (s == "sensitive")
                                {
                                    sensitive = j;
                                    clauseID  = sensitive + 1;
                                }
                            }
                            //导入词数据
                            for (int i = minDataRow + 1; i < maxDataRow + 1; i++)
                            {
                                try
                                {
                                    WordsInfo info     = new WordsInfo();
                                    info.wordId        = cellsName1[i, wordID].StringValue.Trim();
                                    info.name          = cellsName1[i, name].StringValue.Trim();
                                    info.sensitive     = cellsName1[i, sensitive].StringValue.Trim() == "Y" ? true : false;
                                    info.official      = true;
                                    info.comment       = "";
                                    APIService service = new APIService();
                                    service.ImpWordsData(info, token);
                                    dbWordsTotalCount++;
                                }
                                catch (Exception ex)
                                {
                                    dbWordsCount++;
                                }
                                Dispatcher.Invoke(() =>
                                {
                                    DBWordsCount.Text = dbWordsCount.ToString() + "( 累计" + dbWordsTotalCount + "条数据)";
                                });
                            }
                            //导入关系数据
                            for (int i = minDataRow + 1; i < maxDataRow + 1; i++)
                            {
                                try
                                {
                                    WordsRelationInfo info = new WordsRelationInfo();
                                    info.clauseIds         = new List <string>();
                                    info.wordId            = cellsName1[i, wordID].StringValue.Trim();
                                    for (int j = clauseID; j < maxDataColumn + 1; j++)
                                    {
                                        string clauseId = cellsName1[i, j].StringValue.Trim();
                                        if (!string.IsNullOrEmpty(clauseId))
                                        {
                                            if (!info.clauseIds.Contains(clauseId))
                                            {
                                                info.clauseIds.Add(clauseId);
                                            }
                                        }
                                    }
                                    APIService service = new APIService();
                                    service.ImpWordsRelationData(info, token);
                                    dbWordsRelationTotalCount++;
                                }
                                catch (Exception ex)
                                {
                                    dbWordsRelationCount++;
                                }
                                Dispatcher.Invoke(() =>
                                {
                                    DBWordsRelationCount.Text = dbWordsRelationCount.ToString() + "( 累计" + dbWordsRelationTotalCount + "条数据)";
                                });
                            }
                        }
                    }
                }
                catch (Exception ex)
                { }
                Dispatcher.Invoke(() => {
                    BusyGrid.Visibility = Visibility.Collapsed;
                });
            });
            await task;
        }
Example #12
0
    //创建伤害数字
    public void CreateHurtWords(Protomsg.MsgPlayerHurt hurt)
    {
        //Vector2 pt = World2FairyUIPoint();
        //pt.x += UnityEngine.Random.Range(-30, 30);
        //如果是加钻石
        //Debug.Log("------CreateHurtWords:" + hurt);
        if (hurt.GetDiamond > 0)
        {
            ShowGetDiamond(hurt.GetDiamond);
            return;
        }

        //如果是加金币
        if (hurt.GetGold > 0)
        {
            ShowGetGold(hurt.GetGold);
            return;
        }



        GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom;
        WordsInfo  wd    = AddWordsInfo(words);

        wd.RandomX(-30, 30);

        //1,直接加到GRoot显示出来
        GRoot.inst.AddChild(words);
        GRoot.inst.SetChildIndex(words, 1);
        //words.xy = pt;
        words.GetChild("num").asTextField.text = hurt.HurtAllValue + "";
        if (this == GameScene.Singleton.GetMyMainUnit())
        {
            //自己受伤
            if (hurt.HurtAllValue < 0)
            {
                FairyGUI.Transition trans = words.GetTransition("down");
                trans.Play();
                trans.SetHook("over", () => {
                    RemoveWordsInfo(wd);
                });
            }
            else//加血
            {
                words.GetChild("num").asTextField.color = new Color(0.1f, 1.0f, 0.1f);
                FairyGUI.Transition trans = words.GetTransition("up");
                trans.Play();
                trans.SetHook("over", () => {
                    RemoveWordsInfo(wd);
                    //GameObject.Destroy(words);
                });
            }
        }
        else
        {
            //伤害别人
            if (hurt.IsCrit != 1)
            {
                words.GetChild("num").asTextField.color = new Color(1.0f, 1.0f, 1.0f);
            }
            FairyGUI.Transition trans = words.GetTransition("up");
            trans.Play();
            trans.SetHook("over", () => {
                RemoveWordsInfo(wd);
                //words.Dispose();
                //GameObject.Destroy(words);
            });
        }
    }