public static bool CanLeaveSquad() { bool result = true; SquadController squadController = Service.Get <SquadController>(); CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); Squad currentSquad = squadController.StateManager.GetCurrentSquad(); if (currentSquad == null) { return(result); } SquadWarStatusType currentStatus = squadController.WarManager.GetCurrentStatus(); if (currentStatus == SquadWarStatusType.PhaseCooldown) { return(result); } SquadMember squadMemberById = SquadUtils.GetSquadMemberById(currentSquad, currentPlayer.PlayerId); if (squadController.WarManager.IsMemberInWarParty(squadMemberById.MemberID) || squadController.WarManager.IsSquadMemberInWarOrMatchmaking(squadMemberById)) { result = false; } return(result); }
void UpdateSeen() { int layerMask = 1 << 10; RaycastHit hit; Collider[] squad = Physics.OverlapSphere(transform.position, 25.0f, layerMask); layerMask = (1 << 8 | 1 << 10 | 1 << 12); foreach (Collider man in squad) { SquadMember squadman = man.GetComponent <SquadMember>(); bool contains = seen.Contains(squadman); if (Physics.Raycast(transform.position + transform.up * 0.8f, man.transform.position - transform.position, out hit, 30.0f, layerMask)) { if (squadman != null && hit.collider == man && !contains) { seen.Add(squadman); } else if (contains) { seen.Remove(squadman); } } else if (contains) { seen.Remove(squadman); } } }
public void Join(int id) { using (var model = new ShcDataModel()) { var memberShip = model.SquadMembers.SingleOrDefault(v => v.Squad == id && v.Userhash == Userhash); if (memberShip == null) { memberShip = new SquadMember() { Squad = id, Userhash = Userhash }; model.SquadMembers.Add(memberShip); model.SaveChanges(); } var squadItems = model.SquadItems.Where(sqi => sqi.Squad == id).Select(x => x.Item); var useritems = model.UserItems.Where(ui => ui.Userhash == Userhash && ui.Squad == id).Select(x => x.Item); var join = squadItems.Except(useritems); foreach (var item in join) { model.UserItems.Add(new UserItem { Userhash = Userhash, Item = item, Squad = id, Value = ItemValue.None }); } model.SaveChanges(); } }
private static SquadMember MapSquadMember(IDataReader reader, out int sm_SquadId) { SquadMember sm = new SquadMember(); int ord = 0; PersonBase pb = new PersonBase(); SquadMemberStatus sms = new SquadMemberStatus(); sm.Id = reader.GetSafeInt32(ord++); sm.SquadId = reader.GetSafeInt32(ord++); sm_SquadId = sm.SquadId; pb.Id = reader.GetSafeInt32(ord++); sm.LeaderComment = reader.GetSafeString(ord++); sm.DateCreated = reader.GetSafeDateTime(ord++); sm.DateModified = reader.GetSafeDateTime(ord++); sms.Id = reader.GetSafeInt32(ord++); sms.Name = reader.GetSafeString(ord++); pb.FirstName = reader.GetSafeString(ord++); pb.MiddleName = reader.GetSafeString(ord++); pb.LastName = reader.GetSafeString(ord++); pb.PhoneNumber = reader.GetSafeString(ord++); pb.Email = reader.GetSafeString(ord++); pb.PhotoKey = reader.GetSafeString(ord++); pb.ProfilePicture = SiteConfig.GetUrlFromFileKey(pb.PhotoKey);//this replaces the url sm.IsLeader = reader.GetSafeBool(ord++); sm.Person = pb; sm.Status = sms; return(sm); }
private void SetupButtonBasedOnRole(UXButton btn, SquadMember member, bool ownerOnly) { CurrentPlayer currentPlayer = Service.CurrentPlayer; if (member != null && (currentPlayer.PlayerId == member.MemberID || member.Role == SquadRole.Owner)) { btn.Visible = false; } else { SquadStateManager stateManager = Service.SquadController.StateManager; if (stateManager.Role == SquadRole.Owner) { btn.Visible = true; } else if (!ownerOnly && stateManager.Role == SquadRole.Officer) { btn.Visible = true; } else { btn.Visible = false; } } }
public void damage(float damage) { //Do damage to a random squad member int randomGuyToDamageIndex = Random.Range(0, this.SquadMembers.Count); SquadMember DamagedGuy = SquadMembers [randomGuyToDamageIndex] as SquadMember; DamagedGuy.health -= damage; if (DamagedGuy.health <= 0.0f) //Oh noes squaddie is dead { SquadMembers.RemoveAt(randomGuyToDamageIndex); DamagedGuy.die(); } if (this.SquadMembers.Count <= 0) //Everyone's dead, screw it { this.health = 0.0f; return; } float totalHealth = 0.0f; float maxHealth = 0.001f; //So we don't divide by 0 foreach (SquadMember Squaddie in this.SquadMembers) { totalHealth += Squaddie.health; maxHealth += 100.0f; } //Since health is a percentage this.health = (totalHealth / maxHealth) * 100.0f; }
public int SortByActive(UXElement elementA, UXElement elementB) { SquadMember squadMember = (SquadMember)elementA.Tag; SquadMember squadMember2 = (SquadMember)elementB.Tag; return((int)(squadMember2.LastLoginTime - squadMember.LastLoginTime)); }
public int SortByReceived(UXElement elementA, UXElement elementB) { SquadMember squadMember = (SquadMember)elementA.Tag; SquadMember squadMember2 = (SquadMember)elementB.Tag; return(squadMember2.TroopsReceived - squadMember.TroopsReceived); }
public int SortByDefenses(UXElement elementA, UXElement elementB) { SquadMember squadMember = (SquadMember)elementA.Tag; SquadMember squadMember2 = (SquadMember)elementB.Tag; return(squadMember2.DefensesWon - squadMember.DefensesWon); }
public int SortByAttacks(UXElement elementA, UXElement elementB) { SquadMember squadMember = (SquadMember)elementA.Tag; SquadMember squadMember2 = (SquadMember)elementB.Tag; return(squadMember2.AttacksWon - squadMember.AttacksWon); }
public int SortByMedals(UXElement elementA, UXElement elementB) { SquadMember squadMember = (SquadMember)elementA.Tag; SquadMember squadMember2 = (SquadMember)elementB.Tag; return(squadMember2.Score - squadMember.Score); }
void UpdateDanger() { Collider[] enemies = Physics.OverlapSphere(transform.position, 35.0f, (1 << 11)); Collider[] squads = Physics.OverlapSphere(transform.position, 35.0f, (1 << 10)); RaycastHit hit; foreach (Collider enemy in enemies) { Enemy thisEnemy = enemy.GetComponent <Enemy>(); if (thisEnemy == null) { continue; } //Debug.DrawRay(transform.position + transform.up * 1.8f, enemy.transform.position - (transform.position + transform.up * 1.8f), Color.magenta, 0.5f); //int layerMask = (1 << 5 | 1 << 10); int layerMask = (1 << 8 | 1 << 12); //layerMask = ~layerMask; float dist = Vector3.Distance(transform.position, enemy.transform.position); if (!Physics.Raycast(transform.position + transform.up * 0.5f, enemy.transform.position - (transform.position + transform.up * 0.5f), out hit, dist, layerMask, QueryTriggerInteraction.Ignore)) { //if (hit.collider.tag == "Enemy" && hit.collider.GetComponent<Enemy>() == thisEnemy) //{ //Debug.DrawRay(transform.position + transform.up * 0.5f, enemy.transform.position - (transform.position + transform.up * 0.5f), Color.magenta, 0.5f); enemyDanger += 100.0f; grenadeEnemy += 35.0f - dist; //} } } foreach (Collider squad in squads) { SquadMember thisSquad = squad.GetComponent <SquadMember>(); PlayerController player = squad.GetComponent <PlayerController>(); //Debug.DrawRay(transform.position + transform.up * 1.8f, squad.transform.position - (transform.position + transform.up * 1.8f), Color.cyan, 0.5f); //int layerMask = (1 << 5 | 1 << 11); int layerMask = (1 << 8 | 1 << 12); //layerMask = ~layerMask; float dist = Vector3.Distance(transform.position, squad.transform.position); if (!Physics.Raycast(transform.position + transform.up * 0.5f, squad.transform.position - (transform.position + transform.up * 0.5f), out hit, dist, layerMask, QueryTriggerInteraction.Ignore)) { //if (hit.collider.tag == "SquadMan" && hit.collider.GetComponent<SquadMember>() == thisSquad) //{ //Debug.DrawRay(transform.position + transform.up * 0.5f, squad.transform.position - (transform.position + transform.up * 0.5f), Color.cyan, 0.5f); squadDanger += 100.0f; grenadeSquad += 35.0f - dist; //} } } }
public static void SetSquadMemberRole(Squad squad, string memberId, SquadRole role) { SquadMember squadMemberById = SquadUtils.GetSquadMemberById(squad, memberId); if (squadMemberById != null) { squadMemberById.Role = role; } }
private bool CheckAndCreateMemberEntry(SquadMember squadMember) { if (this.GetSquadMemberElement(squadMember) == null) { UXElement uXElement = this.CreateSquadMemberElement(squadMember); return(true); } return(false); }
public static SquadMsg GenerateMessageFromSquadMemberResponse(SquadMemberResponse response) { SquadMember squadMember = new SquadMember(); squadMember.FromObject(response.SquadMemberData); return(new SquadMsg { SquadMemberResponse = squadMember }); }
public void SyncCurrentPlayerPlanet() { CurrentPlayer currentPlayer = Service.CurrentPlayer; SquadMember squadMemberById = SquadUtils.GetSquadMemberById(this.StateManager.GetCurrentSquad(), currentPlayer.PlayerId); if (squadMemberById != null) { squadMemberById.Planet = currentPlayer.PlanetId; } }
public static void RemoveSquadMember(Squad squad, string memberId) { SquadMember squadMemberById = SquadUtils.GetSquadMemberById(squad, memberId); if (squadMemberById != null && squad != null) { squad.MemberList.Remove(squadMemberById); squad.BattleScore -= squadMemberById.Score; squad.MemberCount--; } }
private void OnDemoteClicked(UXButton button) { SquadMember squadMember = button.Tag as SquadMember; Service.EventManager.SendEvent(EventId.SquadNext, null); string message = this.lang.Get("DEMOTE_SQUAD_MEMBER_ALERT", new object[] { squadMember.MemberName, this.lang.Get("SQUAD_MEMBER", new object[0]) }); AlertScreen.ShowModal(false, null, message, new OnScreenModalResult(this.OnAlertDemoteMemberResult), squadMember, true); }
public void SyncCurrentPlayerRole() { SquadMember squadMemberById = SquadUtils.GetSquadMemberById(this.StateManager.GetCurrentSquad(), Service.CurrentPlayer.PlayerId); if (squadMemberById != null) { this.StateManager.Role = squadMemberById.Role; if (this.StateManager.JoinDate == 0u) { this.StateManager.JoinDate = squadMemberById.JoinDate; } } }
private void OnAlertDemoteMemberResult(object result, object cookie) { if (result == null) { return; } SquadMember squadMember = cookie as SquadMember; SquadMsg message = SquadMsgUtils.CreateDemoteMemberMessage(squadMember.MemberID, new SquadController.ActionCallback(this.OnMemberChangeComplete), squadMember); SquadController squadController = Service.SquadController; squadController.TakeAction(message); ProcessingScreen.Show(); }
private void OnViewClicked(UXButton button) { GameUtils.ExitEditState(); Service.EventManager.SendEvent(EventId.SquadNext, null); SquadUtils.ForceCloseSquadWarScreen(); Service.UXController.HUD.DestroySquadScreen(); SquadMember squadMember = button.Tag as SquadMember; Service.NeighborVisitManager.VisitNeighbor(squadMember.MemberID); PlayerVisitTag cookie = new PlayerVisitTag(true, false, "SQUAD_MEMBERS", squadMember.MemberID); Service.EventManager.SendEvent(EventId.VisitPlayer, cookie); }
public void SpawnTeamMember(Vector2 location) { GameObject newTeamMemberObject = new GameObject("team_member"); newTeamMemberObject.transform.parent = this.transform; newTeamMemberObject.transform.position = new Vector3(location.x, location.y, -1.0f); SquadMember newTeamMember = newTeamMemberObject.AddComponent <SquadMember>(); newTeamMember.SetTeamID(m_teamID); m_teamMembers.Add(newTeamMember); }
private void SetPromoteDemoteOnButton(SquadMember squadMember, UXButton btn, UXLabel label) { if (squadMember.Role == SquadRole.Officer) { label.Text = this.lang.Get("s_Demote", new object[0]); btn.OnClicked = new UXButtonClickedDelegate(this.OnDemoteClicked); } else { label.Text = this.lang.Get("s_Promote", new object[0]); btn.OnClicked = new UXButtonClickedDelegate(this.OnPromoteClicked); } btn.Enabled = true; }
private UXElement CreateSquadMemberElement(SquadMember squadMember) { string text = "member_" + squadMember.MemberID; UXButton uXButton = this.squadMemberGrid.CloneTemplateItem(text) as UXButton; this.squadMemberGrid.AddItem(uXButton, 0); uXButton.Tag = squadMember; uXButton.OnClicked = new UXButtonClickedDelegate(this.MemberItemClicked); SquadMemberElements squadMemberElements = new SquadMemberElements(); SquadScreenMembersView.SquadMemberElementsSetup(this.squadMemberGrid, squadMemberElements, text); squadMemberElements.ButtonContainer.Visible = false; squadMemberElements.ButtonContainer.InitTweenComponent(); return(uXButton); }
private void UpdateMembers() { SquadController squadController = Service.SquadController; Squad currentSquad = squadController.StateManager.GetCurrentSquad(); if (currentSquad == null) { return; } bool flag = false; List <UXElement> elementList = this.squadMemberGrid.GetElementList(); for (int i = 0; i < elementList.Count; i++) { SquadMember squadMember = elementList[i].Tag as SquadMember; if (!SquadUtils.IsPlayerInSquad(squadMember.MemberID, currentSquad)) { UXElement uXElement = elementList[i]; this.squadMemberGrid.RemoveItem(uXElement); this.screen.DestroyElement(uXElement); i--; flag = true; } } int j = 0; int count = currentSquad.MemberList.Count; while (j < count) { if (this.CheckAndCreateMemberEntry(currentSquad.MemberList[j])) { flag = true; } j++; } int k = 0; int count2 = currentSquad.MemberList.Count; while (k < count2) { this.UpdateSquadMember(currentSquad.MemberList[k]); k++; } if (flag) { this.squadMemberGrid.RepositionItems(); } }
protected void InitTroopGrid() { base.InitGrid(); GamePlayer worldOwner = GameUtils.GetWorldOwner(); List <SquadDonatedTroop> worldOwnerSquadBuildingTroops = SquadUtils.GetWorldOwnerSquadBuildingTroops(); int count = worldOwnerSquadBuildingTroops.Count; if (count > 0) { Dictionary <string, string> dictionary = null; if (worldOwner.Squad != null) { dictionary = new Dictionary <string, string>(); List <SquadMember> memberList = worldOwner.Squad.MemberList; int i = 0; int count2 = memberList.Count; while (i < count2) { SquadMember squadMember = memberList[i]; dictionary.Add(squadMember.MemberID, squadMember.MemberName); i++; } } StaticDataController staticDataController = Service.StaticDataController; for (int j = 0; j < count; j++) { SquadDonatedTroop squadDonatedTroop = worldOwnerSquadBuildingTroops[j]; TroopTypeVO troopTypeVO = staticDataController.Get <TroopTypeVO>(squadDonatedTroop.TroopUid); int totalAmount = squadDonatedTroop.GetTotalAmount(); if (totalAmount > 0) { string tooltipString = this.GetTooltipString(troopTypeVO, squadDonatedTroop, dictionary); base.AddTroopItem(troopTypeVO, totalAmount, tooltipString); } } } if (!this.inVisitMode && worldOwner.Squad != null && SquadUtils.GetDonatedTroopStorageUsedByWorldOwner() < this.buildingInfo.Storage) { this.AddTroopRequestItem(); } else { this.requestResendCost = null; } base.RepositionGridItems(); }
private UXElement GetSquadMemberElement(SquadMember squadMember) { List <UXElement> elementList = this.squadMemberGrid.GetElementList(); int i = 0; int count = elementList.Count; while (i < count) { SquadMember squadMember2 = elementList[i].Tag as SquadMember; if (squadMember2 != null && squadMember2.MemberID == squadMember.MemberID) { return(elementList[i]); } i++; } return(null); }
public async Task <IActionResult> OnGetAsync(string id) { if (id == null) { return(NotFound()); } SquadMember = await _context.SquadMember .Include(s => s.Member) .Include(s => s.Squad).FirstOrDefaultAsync(m => m.SquadMemberId == id); if (SquadMember == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(string id) { if (id == null) { return(NotFound()); } SquadMember = await _context.SquadMember.FindAsync(id); if (SquadMember != null) { _context.SquadMember.Remove(SquadMember); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
private void AddSquadMember(SquadMember member) { int num = this.squadMemberGrid.Count + 1; string itemUid = "member_" + num; UXElement item = this.squadMemberGrid.CloneTemplateItem(itemUid); Lang lang = Service.Get <Lang>(); UXButton subElement = this.squadMemberGrid.GetSubElement <UXButton>(itemUid, "BtnVisit"); if (member.MemberID != Service.Get <CurrentPlayer>().PlayerId) { subElement.OnClicked = new UXButtonClickedDelegate(this.screen.OnVisitClicked); subElement.Tag = member.MemberID; UXLabel subElement2 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelBtnVisit"); subElement2.Text = lang.Get("s_Visit", new object[0]); } else { subElement.Visible = false; } UXLabel subElement3 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoMemberName"); subElement3.Text = member.MemberName; UXLabel subElement4 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoMemberRank"); subElement4.Text = num.ToString(); UXLabel subElement5 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoMemberType"); subElement5.Text = LangUtils.GetSquadRoleDisplayName(member.Role); UXLabel subElement6 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoMemberScore"); subElement6.Text = lang.ThousandsSeparated(member.Score); UXLabel subElement7 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoTroopsDonated"); subElement7.Text = lang.Get("TROOPS_DONATED", new object[] { lang.ThousandsSeparated(member.TroopsDonated) }); UXLabel subElement8 = this.squadMemberGrid.GetSubElement <UXLabel>(itemUid, "LabelSquadInfoTroopsReceived"); subElement8.Text = lang.Get("TROOPS_RECEIVED", new object[] { lang.ThousandsSeparated(member.TroopsReceived) }); this.squadMemberGrid.AddItem(item, num); }
public void AddMember(string pilot) { SquadMember squadMember = new SquadMember(); squadMember.PilotName = pilot; Members.Add(squadMember); }