public void Init(SoldierType Type) { this.transform.localScale = new Vector3(1, 1, 1); myType = Type; Debug.Log(Type); this.GetComponent <Image>().sprite = (Sprite)Resources.Load(Type.ToString() + ".png"); attack = int.Parse(ini.ReadIniContent(Type.ToString(), "Attack")); health = int.Parse(ini.ReadIniContent(Type.ToString(), "Health")); }
/* * setting new weapon & refreshing the ui with the new weapon. * disables curr weapon and enables new weapon. */ internal void RefreshWeapon(SoldierType newWeapon, bool conceal = true) { GameObject child = null; GameObject weapons; weapons = GetAllWeapons(); //set new weapon indicator Type = newWeapon; //iterate over grandchildren (weapons) and find the active weapon: for (int i = 0; weapons != null && i < weapons.transform.childCount; i++) { child = weapons.transform.GetChild(i).gameObject; //turn off curr active weapon if (IsObjectActive(child)) { child.SetActive(false); } //turn on new weapon if (child.name.Contains(newWeapon.ToString().ToLower())) { child.SetActive(true); //RevealWeapon(); if (conceal) { ConcealWeapon(child); } } } }
public void SwitchType(SoldierType type) { _type = type; gameObject.layer = LayerMask.NameToLayer(_type.ToString()); switch (type) { case SoldierType.Neutral: _mesh.material = _neutralMat; break; case SoldierType.Friendly: _mesh.material = _friendlyMat; if (_friendlyScript != null) { _friendlyScript.enabled = true; Destroy(this); } break; case SoldierType.Enemy: break; } }
public void Setup(SoldierType type, List <Soldier> soldiers) { this.soldiers = soldiers; selectedSoldiers = new List <Soldier>(); name.text = type.ToString(); unitSelectedRatio.text = "0/" + soldiers.Count; /* * var onChange = new InputField.OnChangeEvent(); * onChange.AddListener(OnTextChanged); * numUnitsToSelectField.onValueChanged = onChange;*/ }
public void SendSoldier(Planet from, Planet to, int soldierNum, SoldierType type) { List <Soldier> soldierInPlanetFrom; switch (type) { case SoldierType.Player: soldierInPlanetFrom = from.PlayerSoldiers; break; case SoldierType.Enemy: soldierInPlanetFrom = from.EnemySoldiers; break; default: soldierInPlanetFrom = new List <Soldier>(); break; } if (soldierNum > soldierInPlanetFrom.Count) { soldierNum = soldierInPlanetFrom.Count; } var soldiers = soldierInPlanetFrom.GetRange(0, soldierNum); Debug.LogFormat("{0} 派 {1}兵 从{2}到{3}", type.ToString(), soldierNum, from.name, to.name); foreach (var s in soldiers) { s.UpdateState(Soldier.StateType.Move); from.SoldierLeave(s, s.Bloc); s.SetSeekDestination(to, () => { to.SoldierArrive(s, s.Bloc); }); } }
private void UpdateSoldierCard(SoldierType type, List <Soldier> soldiers) { var card = soldierTypeCards[type]; card.TypeDisplay.text = type.ToString(); card.TroopAmountDisplay.text = soldiers.Count.ToString(); float supply = 0, MaxSupply = 0, HP = 0; foreach (var soldier in soldiers) { supply += soldier.Supply; MaxSupply += soldier.MaxSupply; HP += soldier.Health; } card.SupplyAmountDisplay.text = $"{Mathf.Round(supply)}/{MaxSupply}"; card.HPDisplay.text = $"{Mathf.Round(HP * 100)}"; if (card.DisplayingIndividualCards) { card.RefreshCards(soldiers); } }
public override void Excute() { switch (mSoldierType) { case SoldierType.Rookie: FactoryManager.SoldierFactory.CreateCharacter <SoldierRookie>(mWeaponType, mSpawnPosition, mLv); break; case SoldierType.Sergeant: FactoryManager.SoldierFactory.CreateCharacter <SoldierSergeant>(mWeaponType, mSpawnPosition, mLv); break; case SoldierType.Captain: FactoryManager.SoldierFactory.CreateCharacter <SoldierCaptain>(mWeaponType, mSpawnPosition, mLv); break; default: Debug.LogError(GetType() + "/Excute()/ There is not mSoldierType :" + mSoldierType.ToString()); break; } }
string GenerateSoldierName(Planet planet, SoldierType type) { return("Soldier" + "_in_" + planet.name + "_" + type.ToString()); }
private void InitCamp(SoldierType soldierType) { GameObject gameObject = null; string gameObjectName = null; string name = null; string icon = null; Vector3 pos = Vector3.zero; float trainTime = 0; switch (soldierType) { case SoldierType.Rookie: gameObjectName = "SoldierCamp_Rookie"; name = "新手兵营"; icon = "RookieCamp"; trainTime = 3; break; case SoldierType.Sergeant: gameObjectName = "SoldierCamp_Sergeant"; name = "中士兵营"; icon = "SergeantCamp"; trainTime = 4; break; case SoldierType.Captain: gameObjectName = "SoldierCamp_Captain"; name = "上尉兵营"; icon = "CaptainCamp"; trainTime = 5; break; default: Debug.LogError(GetType() + "/InitCamp()/Init Failed.The soldierType is not Contained: " + soldierType.ToString()); break; } gameObject = GameObject.Find(gameObjectName); pos = UnityTool.FindChild(gameObject, "TrainPoint").transform.position; SoldierCamp camp = new SoldierCamp(gameObject, name, icon, soldierType, pos, trainTime); gameObject.AddComponent <CampOnClick>().Camp = camp; mSoldierCampDIc.Add(soldierType, camp); }
public override string ToString() { return(Type.ToString() + " E:" + (int)(Experience * 100)); }
internal string GetPreviewAnimationTriggerByWeapon(SoldierType weapon) { //make the weapon string have first upper case letter to avoid naming conflicts with unity: string fixedWeaponStr = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(weapon.ToString().ToLower()); return(PREVIEW_ANIMATION_TRIGGER_PREFIX + fixedWeaponStr); }