IEnumerator StartCreateObject(SoldierData data, AssetBundle bundle, LuaFunction func = null) { string name = data.prefab; GameObject prefab = Util.LoadAsset(bundle, name); yield return(new WaitForEndOfFrame()); if (prefab == null) { yield break; } GameObject go = Instantiate(prefab) as GameObject; go.name = name; go.transform.parent = Parent; go.transform.localPosition = data.initPos; Soldier soldier = go.AddComponent <Soldier>(); soldier.Init(data); soldiers.Add(soldier); yield return(new WaitForEndOfFrame()); if (func != null) { func.Call(go); } }
public IEnumerator RequestUpdateSoldierExp(SoldierData soldierData, float exp, OnDelegate action) { SoldierData data = SoldierManager.Instance.AddSoldierExp(soldierData, exp); string strScheme = "/UpdateSoldierExp?userId=" + m_userId + "&soldierId=" + data.soldier_id.ToString() + "&lv=" + data.level.ToString() + "&exp=" + data.exp.ToString(); string strURL = m_serverIP + strScheme; UnityWebRequest request = UnityWebRequest.Get(strURL); yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { UIManager.Instance.AddUI(UIPrefab.ERROR); } else if (request.downloadHandler.text == "fail") { UIManager.Instance.AddUI(UIPrefab.ERROR); } else { if (action != null) { action(); } } }
public SoldierData AddSoldierExp(SoldierData soldierData, float exp) { if (soldierData.level >= soldierData.grade * 10) { return(soldierData); } float curExp = (soldierData.exp * GetMaxExp(soldierData.level)) + exp; while (curExp >= GetMaxExp(soldierData.level)) { curExp -= GetMaxExp(soldierData.level); soldierData.level++; if (soldierData.level >= soldierData.grade * 10) { curExp = 0; soldierData.exp = 0; break; } } soldierData.exp = curExp / GetMaxExp(soldierData.level); return(soldierData); }
public void Init(SoldierData data) { m_data = data; //m_charaCtl.height = m_data.height; //m_charaCtl.radius = m_data.radius; //m_charaCtl.center = m_data.center; }
/// <summary> /// 初始化士兵 /// </summary> private void InitAllSoldiers(uint count, TroopAnimState nState, float deg = 0f) { m_BaseCount = count; if (soldierArray == null) { soldierArray = new SoldierObject[mData.line, mData.row]; } if (soldierIndexList == null) { soldierIndexList = new List <int>(); } for (int i = 0; i < soldierArray.GetLength(0); i++) { for (int j = 0; j < soldierArray.GetLength(1); j++) { if (soldierArray[i, j] != null) { continue; } SoldierData soldierData = new SoldierData(mData, i, j); var soldier = MainBattleManager.Instance.CreateSoldierObject(soldierData.type, transform); soldier.Init(soldierData); soldierArray[i, j] = soldier; soldierIndexList.Add(GetIndexValue(i, j)); } } }
public void CreateSoldier(SoldierData data, LuaFunction func = null) { string name = data.prefab; AssetBundle bundle = ResManager.LoadBundle(name); StartCoroutine(StartCreateObject(data, bundle, func)); Debug.LogWarning("CreateObject::>> " + name + " " + bundle); }
public Instance_Building(BuildingData buildingData, Index firstIndex, Index lastIndex) { producableUnit = buildingData.producableUnit; base.Set(buildingData); this.index = firstIndex; this.lastIndex = lastIndex; }
public Instance_Soldier(SoldierData soldierData, Index index) { destination = new List <Index>(); soldierSpeed = soldierData.soldierSpeed; base.Set(soldierData); this.index = index; }
public override void Initialize(CardData data) { base.Initialize(data); SoldierData soldierData = (SoldierData)data; // TODO: Currently, we set everyone to be 50% HP when created m_currHealth = soldierData.Health / 2; // Show the health at the bottom of the card SetFooterText(string.Format("{0} / {1}", m_currHealth, soldierData.Health)); }
public void InitializeSoldierUnit(SoldierData soldierData, List <GameObject> targetUnits) { m_data = soldierData; m_skill = gameObject.GetComponent <SkillBase>(); m_skill.InitializeSkillData(m_data.skill); m_curHP = soldierData.healthPoint; m_maxHP = soldierData.healthPoint; m_targetUnits = targetUnits; }
public void InitializeSkillData(SkillCode code, SoldierData data = new SoldierData()) { string skillDataJSON = File.ReadAllText(Application.dataPath + "/Resources/JSON/SkillData.json"); List <SkillData> skillData = JsonHelper.FromJson <SkillData>(skillDataJSON); m_data.code = skillData[(int)code].code; m_data.name = skillData[(int)code].name; m_data.percent = skillData[(int)code].percent; m_data.thumbnailPath = skillData[(int)code].thumbnailPath; m_soldierData = data; }
public void InitializeSoldierTeamSlot(SoldierData data, OnButtonAction action, bool isEmpty = true) { m_soldierData = data; m_isEmpty = isEmpty; if (m_buttonAction == null) { m_buttonAction = action; } SetContentVisible(); SetSoldierData(); }
public void OnSpawnSoldier(SoldierData soldierData) { if (nextPossibleSpawnPointHolder.UsingSamePoint()) { tempPoint = soldierPositioner.GetPos(); } else { tempPoint = soldierPositioner.SearchAvailablePosition(selectedBuilding.selectedBuildingInstance.index, selectedBuilding.selectedBuildingInstance.lastIndex); } instanceManager.NewSoldier(soldierData, tempPoint); }
public void InitializeSoldierInfoSlot(SoldierData data, OnButtonAction action) { m_soldierData = data; m_isSelected = (data.team == 1); if (m_buttonAction == null) { m_buttonAction = action; } SetSoldierData(); SetSelected(m_isSelected); }
void InitializeSoldierTeam() { List <SoldierData> soldiers = SoldierManager.Instance.GetSoldierTeam(); for (int index = 0; index < m_teamSlots.Length; index++) { SoldierData soldierData = new SoldierData(); if (soldiers.Count > index) { soldierData = soldiers[index]; } m_teamSlots[index].GetComponent <SoldierTeamSlot>().InitializeSoldierTeamSlot(soldierData, OnUpdateSoldierTeamSlot, soldiers.Count <= index); } }
private List <SoldierData> getSoldiers() { List <SoldierData> list = new List <SoldierData>(); SoldierData soldier1 = new SoldierData(); soldier1.isMainHero = true; list.Add(soldier1); SoldierData soldier2 = new SoldierData(); soldier2.initPos = new Vector3(5, 0, 0); //list.Add(soldier2); return(list); }
void LoadSoldiers() { Soldier soldier = CreateSoldier(1); soldier.View.transform.position = new Vector3(-4, soldier.View.transform.position.y, -4); SoldierData data = new SoldierData(1, 100, 20, 1.0f); soldier.Data = data; m_soldierList.Add(soldier); Soldier soldier2 = CreateSoldier(2); soldier2.View.transform.position = new Vector3(4, soldier.View.transform.position.y, 4); SoldierData data2 = new SoldierData(2, 100, 15, 2.25f); soldier2.Data = data2; m_soldierList.Add(soldier2); }
// Token: 0x0600108E RID: 4238 RVA: 0x001D6B1C File Offset: 0x001D4D1C public void SetArmyIcon(Image image, int ArmyIdx, UIText IconText, CString str, UIButtonHint hint, Image background, float textWidth) { if (background == null || image == null || this.m_SpritesArray == null) { return; } Vector2 sizeDelta = background.rectTransform.sizeDelta; sizeDelta.x = ((textWidth <= 238.4f) ? (textWidth + 40f) : 278.4f); background.rectTransform.sizeDelta = sizeDelta; SoldierData recordByKey = this.DM.SoldierDataTable.GetRecordByKey((ushort)(ArmyIdx + 1)); image.sprite = this.m_SpritesArray.GetSprite((int)recordByKey.SoldierKind); str.ClearString(); str.IntToFormat((long)recordByKey.Tier, 1, false); str.AppendFormat("{0}"); IconText.text = str.ToString(); hint.Parm1 = (ushort)ArmyIdx; }
public void UpdateSoldierTeam(int soldierId, int isTeam) { for (int index = 0; index < m_soldierData.Count; index++) { if (m_soldierData[index].soldier_id == soldierId) { SoldierData soldier = m_soldierData[index]; soldier.team = isTeam; m_soldierData[index] = soldier; if (isTeam == 1) { m_soldierTeam.Add(soldierId, soldier); } else { m_soldierTeam.Remove(soldierId); } break; } } }
public void InitializeSoldierData(string strSoldierInfo) { m_soldierData.Clear(); m_soldierTeam.Clear(); var soldierInfo = JsonHelper.FromJson <SoldierInfo>(strSoldierInfo); foreach (var info in soldierInfo) { SoldierData soldierData = new SoldierData(); soldierData.soldier_id = info.soldier_id; soldierData.leader = info.leader; soldierData.code = info.code; soldierData.level = info.level; soldierData.exp = info.exp; soldierData.team = info.team; soldierData.name = m_soldierAbility[info.code].name; soldierData.type = m_soldierAbility[info.code].type; soldierData.skill = m_soldierAbility[info.code].skill; soldierData.grade = m_soldierAbility[info.code].grade; soldierData.startAttackPower = m_soldierAbility[info.code].startAttackPower; soldierData.maxAttackPower = m_soldierAbility[info.code].maxAttackPower; soldierData.healthPoint = m_soldierAbility[info.code].healthPoint; soldierData.fatalHitProbability = m_soldierAbility[info.code].fatalHitProbability; soldierData.physicalDefensePower = m_soldierAbility[info.code].physicalDefensePower; soldierData.magicalDefensePower = m_soldierAbility[info.code].magicalDefensePower; soldierData.prefabPath = m_soldierAbility[info.code].prefabPath; soldierData.spritePath = m_soldierAbility[info.code].spritePath; m_soldierData.Add(soldierData); if (soldierData.team > 0) { m_soldierTeam.Add(info.soldier_id, soldierData); } } }
private SoldierFightUIMgr m_soldierFightUIMgr; // public object[] GetBuildingTipsById(int buildingId, float x, float y) { if (BuildingTipsDic.ContainsKey(buildingId) == true) { return(BuildingTipsDic[buildingId]); } object[] tipsContent = new object[] { "", "", null }; BuildingData data = BuildingData.dataMap[buildingId]; tipsContent[0] = LanguageData.GetContent(data.name); tipsContent[1] = LanguageData.GetContent(170, data.building_consume); if (data.attack > 0)//建筑自身有攻击力 { tipsContent[1] = string.Concat(tipsContent[1], "\n", LanguageData.GetContent(183, data.attack)); } if (data.soldier_id > 0)//有士兵产出 { tipsContent[1] = string.Concat(tipsContent[1], "\n", LanguageData.GetContent(171, data.production_time, LanguageData.GetContent(SoldierData.dataMap[data.soldier_id].name))); SoldierData soldierData = SoldierData.dataMap[data.soldier_id]; string attackObject; if (soldierData.attack_object.Count == 2) { attackObject = string.Concat(LanguageData.GetContent(173), ",", LanguageData.GetContent(174)); } else { attackObject = soldierData.attack_object[0] == 1 ? LanguageData.GetContent(173) : LanguageData.GetContent(174); } tipsContent[1] = string.Concat(tipsContent[1], "\n", LanguageData.GetContent(soldierData.name), "\n", LanguageData.GetContent(172, soldierData.energy, soldierData.attack, soldierData.move), attackObject); } tipsContent[2] = new Vector3(x, y, 0); BuildingTipsDic[buildingId] = tipsContent; return(tipsContent); }
IEnumerator ProgressSoldierExpBar(int index) { SoldierData soldier = SoldierManager.Instance.GetSoldierTeam()[index]; bool progress = true; while (progress) { yield return(null); SoldierData soldierData = m_prevSoldierTeam[index]; if (m_prevSoldierTeam[index].level == soldier.level && m_prevSoldierTeam[index].exp < soldier.exp) { soldierData.exp += 0.01f; if (soldierData.exp >= soldier.exp) { progress = false; } } else if (m_prevSoldierTeam[index].level < soldier.level) { soldierData.exp += 0.01f; float curExp = soldierData.exp * SoldierManager.Instance.GetMaxExp(soldierData.level); if (curExp >= SoldierManager.Instance.GetMaxExp(soldierData.level)) { SoundSystem.Instance.PlaySound(Sound.levelup); soldierData.level++; soldierData.exp = 0; } } m_prevSoldierTeam[index] = soldierData; SetSoldierExpData(index); } }
private void UpdateUI(SoldierData obj) { amount.text = obj.Amount.ToString(); }
public void Set(dynamic data) { this.soldierData = data as SoldierData; soldierData.DataChanged += UpdateUI; gameObject.GetComponent <SoldierCombatController>().OnDamageTaken += DisplayDmgTaken; }
// Token: 0x06001BDD RID: 7133 RVA: 0x0031847C File Offset: 0x0031667C public void ShowHint(byte type = 1, RectTransform tipRect = null) { this.m_RectTransform.gameObject.SetActive(true); this.Type = type; AllianceWarManager allianceWarMgr = ActivityManager.Instance.AllianceWarMgr; if (this.Type == 1) { this.m_BGRectTransform.gameObject.SetActive(false); this.m_BGRectTransform2.gameObject.SetActive(true); this.m_Main[0].gameObject.SetActive(false); float num = 0f; bool flag = GUIManager.Instance.BuildingData.GetBuildData(8, 0).Level >= 17; this.m_Text_F.gameObject.SetActive(flag); if (flag) { num += 22f; this.m_Line2.rectTransform.anchoredPosition = new Vector2(this.m_Line2.rectTransform.anchoredPosition.x, -161f); } else { this.m_Line2.rectTransform.anchoredPosition = new Vector2(this.m_Line2.rectTransform.anchoredPosition.x, -139f); } this.m_Main[0].gameObject.SetActive(allianceWarMgr.m_AllianceWarHintData.bMain); for (int i = 0; i < 5; i++) { if (allianceWarMgr.m_AllianceWarHintData.HeroData[i].ID != 0) { this.m_HeroBtn2[i].gameObject.SetActive(true); this.m_Frame2[i].gameObject.SetActive(false); GUIManager.Instance.ChangeHeroItemImg(this.m_HeroBtn2[i].transform, eHeroOrItem.Hero, allianceWarMgr.m_AllianceWarHintData.HeroData[i].ID, allianceWarMgr.m_AllianceWarHintData.HeroData[i].Star, allianceWarMgr.m_AllianceWarHintData.HeroData[i].Rank, 0); } else { this.m_HeroBtn2[i].gameObject.SetActive(false); this.m_Frame2[i].gameObject.SetActive(true); } } DataManager instance = DataManager.Instance; this.m_StrStrength.ClearString(); this.m_StrStrength.Append(instance.mStringTable.GetStringByID(9788u)); this.m_StrStrength.Append(instance.mStringTable.GetStringByID((uint)((ushort)(9778 + (int)allianceWarMgr.m_AllianceWarHintData.ArmyCoordIndex)))); this.m_Text_F.text = this.m_StrStrength.ToString(); this.m_Text_F.SetAllDirty(); this.m_Text_F.cachedTextGenerator.Invalidate(); int num2 = 0; for (int j = 0; j < 16; j++) { int num3 = 3 - j / 4 + j % 4 * 4; if (allianceWarMgr.m_AllianceWarHintData.TroopData[num3] > 0u) { SoldierData recordByKey = instance.SoldierDataTable.GetRecordByKey((ushort)(num3 + 1)); this.m_dataNum[num2].ClearString(); if ((int)recordByKey.SoldierKind < this.mSprite.Length) { this.m_data_Icon[num2].sprite = this.mSprite[(int)recordByKey.SoldierKind]; } else { this.m_data_Icon[num2].sprite = this.mSprite[0]; } this.m_Text_data_Rank[num2].text = recordByKey.Tier.ToString(); this.m_Text_data_Name[num2].text = instance.mStringTable.GetStringByID((uint)recordByKey.Name); this.m_Text_data_Name[num2].SetAllDirty(); this.m_Text_data_Name[num2].cachedTextGenerator.Invalidate(); this.m_Text_data_Name[num2].cachedTextGeneratorForLayout.Invalidate(); this.m_dataNum[num2].ClearString(); this.m_dataNum[num2].IntToFormat((long)((ulong)allianceWarMgr.m_AllianceWarHintData.TroopData[num3]), 1, true); this.m_dataNum[num2].AppendFormat("{0}"); this.m_Text_data_Num[num2].text = this.m_dataNum[num2].ToString(); this.m_Text_data_Num[num2].SetAllDirty(); this.m_Text_data_Num[num2].cachedTextGenerator.Invalidate(); this.m_Text_data_Num[num2].cachedTextGeneratorForLayout.Invalidate(); this.m_T_data[num2].gameObject.SetActive(true); num2++; } } for (int k = num2; k < 16; k++) { this.m_T_data[k].gameObject.SetActive(false); } num += (float)(num2 * 28); this.m_BGRectTransform2.sizeDelta = new Vector2(this.m_BGRectTransform2.sizeDelta.x, 170f + num); RectTransform component = GUIManager.Instance.m_UICanvas.transform.GetComponent <RectTransform>(); this.m_BGRectTransform2.anchoredPosition = new Vector2(0f, 0f); CString cstring = StringManager.Instance.StaticString1024(); CString cstring2 = StringManager.Instance.StaticString1024(); cstring.ClearString(); cstring2.ClearString(); cstring.Append(allianceWarMgr.m_AllianceWarHintData.Name); if (allianceWarMgr.m_AllianceWarHintData.AllianceTagTag != string.Empty) { cstring2.Append(allianceWarMgr.m_AllianceWarHintData.AllianceTagTag); GameConstants.FormatRoleName(this.m_StrName, cstring, cstring2, null, 0, 0, null, null, null, null); } else { GameConstants.FormatRoleName(this.m_StrName, cstring, null, null, 0, 0, null, null, null, null); } this.m_TextName2.text = this.m_StrName.ToString(); this.m_TextName2.SetAllDirty(); this.m_TextName2.cachedTextGenerator.Invalidate(); if (tipRect != null) { this.GetTipPosition(tipRect); } } }
public void SetSoldierData(SoldierData soldierData) { m_soldierData = soldierData; InitializeSoldierSolt(); }
public void Set(SoldierData soldierData) { this.soldierData = soldierData; base.Set(soldierData); }
public void Raise(SoldierData item) { this.Event.Invoke(item); }
/* Saves the soldier */ public void Save(int soldierIndex) { BinaryFormatter formatter = new BinaryFormatter(); Directory.CreateDirectory(DataScript.soldierDir); //creates the folder //creates the file to save FileStream file = File.Create (DataScript.soldierFile + soldierIndex + ".dat"); //Creates a new instance of the SoldierData class SoldierData savedData = new SoldierData(); /* Data to save -- saves into new SoldierData instance*/ savedData.soldierNumber = soldierNumber; savedData.soldierName = GetName (); savedData.health = health; savedData.group = group; savedData.soldierClass = soldierClass; savedData.abilities = abilities; /* End data to save */ formatter.Serialize (file, savedData); //saves the soldier instance to file file.Close(); //closes the file }