private static void BecomeStarve() { var allCastles = KindomCastle.GetAll(); foreach (var castle in allCastles) { var soldierGroups = SoldierGroup.Get(castle.QQNum); if (soldierGroups.IsNullOrEmpty()) { continue; } var becomeRebelGroups = soldierGroups.Where(g => g.State == SoldierState.Starving && g.LastFeedTime.AddDays(6) <= DateTime.Now); foreach (var rebelGroup in becomeRebelGroups) { rebelGroup.Count /= 2; if (rebelGroup.Count > 0) { rebelGroup.Rebel(); } else { rebelGroup.Die(); } } var becomeStarvingGroups = soldierGroups.Where(g => g.State == SoldierState.Working && g.LastFeedTime.AddDays(3) <= DateTime.Now); foreach (var starvingGroup in becomeStarvingGroups) { starvingGroup.Starve(); } Logger.Log($"{castle.QQNum}'s Groups Refreshed."); } }
public SoldierGroup CreateSoldierGroup(float x, float y, float dir_x, float dir_y, TroopData data) { SoldierGroup group = m_BattleResManager.m_SoldierGroupPool.Create(m_BattleViewRoot); group.Init(x, y, dir_x, dir_y, data); return(group); }
private static void RebelProcess() { var overDateRebels = SoldierGroup.OverDateRebels(10).ToList(); foreach (var rebel in overDateRebels) { rebel.Die(); } Logger.Log($"{overDateRebels.Count} Rebel(s) Dead."); }
public void RecruitEveryone() { GameObject mainGroup = GameObject.FindGameObjectWithTag("Main Group"); SoldierGroup soldGroup = mainGroup.GetComponent <SoldierGroup>(); foreach (Soldier sold in _soldiers) { sold.SwitchType(SoldierType.Friendly); sold.transform.parent = mainGroup.transform; } Destroy(gameObject); }
public void RecycleSoldierGroup(SoldierGroup obj) { m_BattleResManager.m_SoldierGroupPool.Recycle(obj); }