public IEnumerator Retreat() { if (isRetreating == false) { StopAttacking(); isRetreating = true; isMoving = true; currentTargetAttacker = null; currentTargetAttackersHealth = null; anim.SetBool("isMoving", true); if (squad.isRangedUnit && myShooter != null) { anim.SetBool("isShooting", false); } if (squad.squadType == SquadType.Laborers) { Laborer laborer = (Laborer)allyScript; laborer.StopWorking(); } // While the defender is still within the bounds of the visible map (-1.25 on the x is outside of our camera's view) while (transform.position.x > -1.25f && health.isDead == false) { if (transform.localScale.x != -1) { transform.localScale = new Vector2(-1, 1); // Flip the sprite } if (transform.position.x > 0.25f || (transform.position.x <= 0.25 && transform.position.y >= 2.9f && transform.position.y <= 3.1f)) { transform.Translate(Vector2.left * runSpeed * 2 * Time.deltaTime); // Retreat double the speed } else if (transform.position.x <= 0.25f && transform.position.y < 2.9f) { sr.sortingOrder = -650; transform.Translate(Vector2.up * runSpeed * 2 * Time.deltaTime); } else if (transform.position.x <= 0.25f && transform.position.y > 3.1f) { sr.sortingOrder = -650; transform.Translate(Vector2.down * runSpeed * 2 * Time.deltaTime); } if (transform.position.x <= -2.25f) { Destroy(squad.gameObject); // Destroy the squad break; } yield return(null); } } }
private static string GetLaborerFullName(Laborer laborer) { var fullName = new StringBuilder(); fullName.Append(laborer.FirstName); fullName.Append(GetNamePart(laborer.SecondName)); fullName.Append(GetNamePart(laborer.ThirdName)); fullName.Append(GetNamePart(laborer.FourthName)); return(fullName.ToString()); }
void OnTriggerEnter2D(Collider2D collision) { collision.TryGetComponent(out Attacker attacker); collision.TryGetComponent(out Defender defender); // If a laborer enters the square if (defender != null && defender.squad.squadType == SquadType.Laborers && defender.isRetreating == false) { Laborer laborer = defender.GetComponent <Laborer>(); if (laborer.targetResourceDeposit == null && unoccupiedResourceDeposits.Count > 0) { // Choose a random deposit int randomIndex = Random.Range(0, unoccupiedResourceDeposits.Count); // Get a random x offset for the Laborer's new unit position we will be assigning it float coinToss = Random.Range(0, 2); float xOffset; if (coinToss == 0) { xOffset = unoccupiedResourceDeposits[randomIndex].miningXOffset; } else { xOffset = -unoccupiedResourceDeposits[randomIndex].miningXOffset; } // Set the Laborer's unit position to the left or right of the deposit defender.unitPosition = unoccupiedResourceDeposits[randomIndex].transform.localPosition + new Vector3(xOffset, 0); // Set the Laborer's target deposit to this one laborer.targetResourceDeposit = unoccupiedResourceDeposits[randomIndex]; unoccupiedResourceDeposits[randomIndex].myLaborer = defender; //Set occupied to true for the deposit unoccupiedResourceDeposits[randomIndex].occupied = true; // Remove the deposit from our list of unoccupied deposits unoccupiedResourceDeposits.Remove(unoccupiedResourceDeposits[randomIndex]); laborerSquadCurrentlyOnNode = defender.squad; } } else if (attacker != null && attacker.canAttackNodes) // If an attacker who can attack resource nodes enters the square { // Set the Attacker's target Resource Node to this Node attacker.currentTargetNode = this; // Set the Attacker's target resource deposit to a random deposit within this Node AssignTargetToAttacker(attacker); } }
public static LaborerDto ToDto(this Laborer laborer) { return(new LaborerDto { //Email= EstablishmentId = laborer.EstablishmentId, Gender = laborer.Gender.Name, IdExpirationDate = laborer.LastWPExpirationDate, IdNumber = laborer.IdNo, Job = laborer.IdNo, //MobileNumber, Name = GetLaborerFullName(laborer), Nationality = laborer.Nationality.Name, Number = $"{laborer.LaborOfficeId}-{laborer.SequenceNumber}", PassportNumber = laborer.PassportNo, ServiceStartDate = laborer.ServiceStartDate, Status = laborer.Status.Name, StatusModificationDate = laborer.LaborerStatusModificationDate, YearOfBirth = laborer.YearOfBirth }); }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // IO events start Random random = new Random(); KeyboardState lastKeyboardState = KeyboardState; KeyboardState = Keyboard.GetState(); MouseState lastMouseState = MouseState; MouseState = Mouse.GetState(); MousePos.X = MouseState.X; MousePos.Y = MouseState.Y; CursorMapPos = coordinateConverter.ScreenToMap(MousePos, DisplayShift); if (KeyboardState.IsKeyDown(Keys.Right)) { DisplayShift.X -= 5; } if (KeyboardState.IsKeyDown(Keys.Left)) { DisplayShift.X += 5; } if (KeyboardState.IsKeyDown(Keys.Up)) { DisplayShift.Y += 5; } if (KeyboardState.IsKeyDown(Keys.Down)) { DisplayShift.Y -= 5; } if (KeyboardState.IsKeyDown(Keys.Escape)) { Exit(); } if (KeyboardState.IsKeyUp(Keys.P) && lastKeyboardState.IsKeyDown(Keys.P)) { DisplayPaths = !DisplayPaths; } if (KeyboardState.IsKeyUp(Keys.S) && lastKeyboardState.IsKeyDown(Keys.S)) { DisplayScore = !DisplayScore; } if (MouseState.LeftButton == ButtonState.Released && lastMouseState.LeftButton == ButtonState.Pressed) { Point mapCoords = coordinateConverter.ScreenToMap(MousePos, DisplayShift); if (gameMap.IsPointInside(mapCoords) && gameMap.game_tiles[(int)mapCoords.Y, (int)mapCoords.X].IsPathable()) { LumberCamp newLumberCamp = new LumberCamp(mapCoords); gameMap.game_tiles[(int)mapCoords.Y, (int)mapCoords.X].Building = newLumberCamp; gameMap.GetBuildings().Add(newLumberCamp); List <Point> validNeighbors = gameMap.GetValidNeighbors(mapCoords); List <Point> spawnableNeighbors = new List <Point>(); foreach (Point validNeighbor in validNeighbors) { if (gameMap.game_tiles[(int)validNeighbor.Y, (int)validNeighbor.X].IsPathable()) { spawnableNeighbors.Add(validNeighbor); } } for (int x = 0; x < 3; x++) { Point spawnTile = spawnableNeighbors[random.Next(spawnableNeighbors.Count)]; Laborer newLaborer = new Laborer(spawnTile); gameMap.GetUnits().Add(newLaborer); GameTile theTile = gameMap.game_tiles[(int)spawnTile.Y, (int)spawnTile.X]; theTile.Unit = newLaborer; } } } // IO events end // game logic start List <Entity> expiredEntities = new List <Entity>(); foreach (Unit unitObject in gameMap.GetUnits()) { unitObject.Tick(gameMap, Player1, pathfinder); } foreach (Terrain terrainObject in gameMap.GetTerrain()) { terrainObject.Tick(gameMap, Player1, pathfinder); if (terrainObject.IsExpired()) { expiredEntities.Add(terrainObject); } } foreach (Entity entityObject in expiredEntities) { entityObject.OnDeath(gameMap); gameMap.GetTerrain().Remove(entityObject); gameMap.GetBuildings().Remove(entityObject); } // game logic ends base.Update(gameTime); }
void Die() { // Play the appropriate death sound if (defender != null) { AudioManager.instance.PlayDeathSound(defender.voiceType); } else if (attacker != null) { AudioManager.instance.PlayDeathSound(attacker.voiceType); } isDead = true; isBlessed = false; thornsActive = false; anim.SetBool("isDead", true); boxCollider.enabled = false; spriteRenderer.sortingOrder = -8000; // Rotate the body a random rotation float randomRotation = Random.Range(-70f, 70f); transform.eulerAngles = new Vector3(0, 0, randomRotation); transform.SetParent(gm.deadCharactersParent); // Defender: if (defender != null) { defender.squad.deadUnits.Add(defender); if (defender.squad.abilityIconController.resurrectAbilityActive && defender.squad.abilityIconController.squadHighlighter.selectedSquad == defender.squad) { defender.squad.HighlightSquad(); } // Disable character scripts to prevent further running of Update functions if (defender.myShooter != null) { defender.myShooter.enabled = false; } if (defender.allyScript != null) { if (defender.squad.squadType == SquadType.Laborers) { Laborer laborer = (Laborer)defender.allyScript; laborer.StopWorking(); } defender.allyScript.enabled = false; } defender.enabled = false; } // Attacker: if (attacker != null) { // Drop supplies for the player if (attacker.suppliesDroppedOnDeath > 0) { ResourceDisplay.instance.AddSupplies(attacker.suppliesDroppedOnDeath); TextPopup.CreateResourceGainPopup(transform.position + new Vector3(0f, 0.2f), attacker.suppliesDroppedOnDeath, ResourceType.Supplies); } if (attacker.currentTargetObstacle != null) { attacker.currentTargetObstacle.attackersNearby.Remove(attacker); } // Disable character scripts to prevent further running of Update functions if (attacker.myShooter != null) { attacker.myShooter.enabled = false; attacker.rangeCollider.enabled = false; } attacker.enabled = false; // Subtract from total number of attackers left in the level levelController.AttackerKilled(); } }
private void AllServiceLogs() { Establishment est1 = new Establishment { Id = 1, Name = "منشأة 1", LaborOfficeId = 1, SequenceNumber = 233 }; Establishment est2 = new Establishment { Id = 2, Name = "2 منشأة", LaborOfficeId = 1, SequenceNumber = 4536 }; Establishment est3 = new Establishment { Id = 3, Name = "3 منشأة", LaborOfficeId = 1, SequenceNumber = 787654 }; List <Establishment> ests = new List <Establishment> { est1, est2, est3 }; LaborOffice office1 = new LaborOffice { Id = 1, Name = "مكتب 1", Establishments = ests }; LaborOffice office2 = new LaborOffice { Id = 2, Name = "مكتب 2", Establishments = ests }; LaborOffice office3 = new LaborOffice { Id = 3, Name = "مكتب 3", Establishments = ests }; Laborer lab1 = new Laborer { Id = 34, BorderNo = "3003300333", EstablishmentId = 1, Establishment = est1, LaborOffice = office1, Nationality = new Nationality { Id = 23, Name = "جنسية 1" }, NationalityId = 23, SaudiFlagId = 1, SecondName = "second name", SequenceNumber = 536346, Status = new LaborerStatus { Id = 5, Name = "Status 1" }, StatusId = 5, FirstName = "first", FourthName = "fourth", IdNo = "22337758", Job = new Job { Id = 2, Name = "job 1" }, JobId = 2, LaborOfficeId = 1, SaudiFlag = new SaudiFlag { Id = 343, Name = "NonSaudi" }, ThirdName = "third", }; Laborer lab2 = new Laborer { Id = 30, BorderNo = "355998877", EstablishmentId = 2, Establishment = est2, LaborOffice = office2, Nationality = new Nationality { Id = 23, Name = "جنسية 1" }, NationalityId = 23, SaudiFlagId = 1, SecondName = "second name", SequenceNumber = 98556, Status = new LaborerStatus { Id = 5, Name = "Status 1" }, StatusId = 5, FirstName = "first", FourthName = "fourth", IdNo = "223377500", Job = new Job { Id = 2, Name = "job 1" }, JobId = 2, LaborOfficeId = 1, SaudiFlag = new SaudiFlag { Id = 343, Name = "NonSaudi" }, ThirdName = "third", }; Laborer lab3 = new Laborer { Id = 30, BorderNo = "366989555", EstablishmentId = 3, Establishment = est3, LaborOffice = office3, Nationality = new Nationality { Id = 23, Name = "جنسية 1" }, NationalityId = 23, SaudiFlagId = 1, SecondName = "second name", SequenceNumber = 98556, Status = new LaborerStatus { Id = 5, Name = "Status 1" }, StatusId = 5, FirstName = "first", FourthName = "fourth", IdNo = "22337744", Job = new Job { Id = 2, Name = "job 1" }, JobId = 2, LaborOfficeId = 1, SaudiFlag = new SaudiFlag { Id = 343, Name = "NonSaudi" }, ThirdName = "third", }; OracleTransactionLog log1 = new OracleTransactionLog { Establishment = est1, EstablishmentId = est1.Id, Laborer = lab1, LaborerId = lab1.Id, Id = 1, LabOff = 4, ManPower = false, OnlineRequestsId = 5911532, OracleResult = "04-1438-41323", RepresentativeIdNo = "1010389078", SeqNo = 41323, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = "******", FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 12863518 }; OracleTransactionLog log2 = new OracleTransactionLog { Establishment = est1, EstablishmentId = est1.Id, Laborer = lab2, LaborerId = lab2.Id, Id = 2, LabOff = 9, ManPower = false, OnlineRequestsId = 5911549, OracleResult = "09-1438-103543", RepresentativeIdNo = 1031470568.ToString(), SeqNo = 103543, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1031470568.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 12863518 }; OracleTransactionLog log3 = new OracleTransactionLog { Establishment = est1, EstablishmentId = est1.Id, Laborer = lab3, LaborerId = lab3.Id, Id = 3, LabOff = 1, ManPower = false, OnlineRequestsId = 5911548, OracleResult = "01-1438-193994", RepresentativeIdNo = 1047365240.ToString(), SeqNo = 193994, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1047365240.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 11062868 }; OracleTransactionLog log4 = new OracleTransactionLog { Establishment = est2, EstablishmentId = est2.Id, Laborer = lab1, LaborerId = lab1.Id, Id = 4, LabOff = 9, ManPower = false, OnlineRequestsId = 5911547, OracleResult = "09-1438-103542", RepresentativeIdNo = 1076744463.ToString(), SeqNo = 103542, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1076744463.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 172833 }; OracleTransactionLog log5 = new OracleTransactionLog { Establishment = est3, EstablishmentId = est3.Id, Laborer = lab1, LaborerId = lab1.Id, Id = 5, LabOff = 1, ManPower = false, OnlineRequestsId = 5911546, OracleResult = "01-1438-193993", RepresentativeIdNo = 1043604378.ToString(), SeqNo = 193993, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1043604378.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 12593634 }; OracleTransactionLog log6 = new OracleTransactionLog { Establishment = est2, EstablishmentId = est2.Id, Laborer = lab2, LaborerId = lab2.Id, Id = 6, LabOff = 9, ManPower = false, OnlineRequestsId = 5911545, OracleResult = "09-1438-103541", RepresentativeIdNo = 1059869154.ToString(), SeqNo = 103541, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 1, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1059869154.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 819067 }; OracleTransactionLog log7 = new OracleTransactionLog { Establishment = est2, EstablishmentId = est2.Id, Laborer = lab3, LaborerId = lab3.Id, Id = 7, LabOff = 18, ManPower = false, OnlineRequestsId = 5911544, OracleResult = "18-1438-9778", RepresentativeIdNo = 1037748546.ToString(), SeqNo = 9778, Service = new Service { Id = 3, Name = "TransferSponser" }, ServiceId = 3, SerYY = 1438, TimeStamp = new DateTime(2017, 4, 26), TransactionStatus = 3, User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1037748546.ToString(), FirstName = "first", SecondName = "second", ThirdName = "third", FourthName = "last" }, UserId = 12167795 }; //OracleTransactionLog log8 = new OracleTransactionLog //{ // Establishment = est1, // EstablishmentId = est1.Id, // Id = 8, // LabOff = 9, // ManPower = false, // OnlineRequestsId = 5911543, // OracleResult = "09-1438-103540", // RepresentativeIdNo = 1014032187.ToString(), // SeqNo = 103540, // Service = new Service { Id = 3, Name = "TransferSponser" }, // ServiceId = 3, // SerYY = 1438, // TimeStamp = new DateTime(2017, 4, 26), // TransactionStatus = 1, // User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1014032187.ToString(), FullName = "fullname8" }, // UserId = 12580233 //}; //OracleTransactionLog log9 = new OracleTransactionLog //{ // Establishment = est1, // EstablishmentId = est1.Id, // Id = 9, // LabOff = 9, // ManPower = false, // OnlineRequestsId = 5911542, // OracleResult = "09-1438-103539", // RepresentativeIdNo = 1073766642.ToString(), // SeqNo = 103539, // Service = new Service { Id = 3, Name = "TransferSponser" }, // ServiceId = 3, // SerYY = 1438, // TimeStamp = new DateTime(2017, 4, 26), // TransactionStatus = 1, // User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1073766642.ToString(), FullName = "fullname9" }, // UserId = 12110135 //}; //OracleTransactionLog log10 = new OracleTransactionLog //{ // Establishment = est1, // EstablishmentId = est1.Id, // Id = 10, // LabOff = 9, // ManPower = false, // OnlineRequestsId = 5911541, // OracleResult = "09-1438-103538", // RepresentativeIdNo = 1056550583.ToString(), // SeqNo = 103538, // Service = new Service { Id = 3, Name = "TransferSponser" }, // ServiceId = 3, // SerYY = 1438, // TimeStamp = new DateTime(2017, 4, 26), // TransactionStatus = 1, // User = new Tamkeen.IndividualsServices.Core.Models.User { Id = 33, UserName = 1056550583.ToString(), FullName = "fullname10" }, // UserId = 13101733 //}; logs.Add(log1); logs.Add(log2); logs.Add(log3); logs.Add(log4); logs.Add(log5); logs.Add(log6); logs.Add(log7); //logs.Add(log8); //logs.Add(log9); //logs.Add(log10); }