//创建获得金币 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); }
public void RemoveWordsInfo(WordsInfo wd) { if (wd.root != null) { wd.root.Dispose(); } m_AllWords.Remove(wd); }
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); }
/// <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) { } }
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); } }
//创建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); }); }
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(); }
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 }
/// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary> /// <param name="info">см. описание к Push(WordInfo info)</param> public void Push(List <WordInfo> info) { WordsInfo.AddRange(info); }
/// <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; }
//创建伤害数字 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); }); } }