Example #1
0
 public CrewSlot GetCrewAssignment(Crew crew)
 {
     if (crewassignments.ContainsKey (crew)) {
         return crewassignments [crew];
     } else {
         return null;
     }
 }
Example #2
0
 public void KillCrew(Crew crew)
 {
     mastercrewlist.Remove(crew);
     crewassignments.Remove (crew);
     masterdeadcrewlist.Add(crew);
     crew.dead = true;
     Debug.Log (crew.firstName + " " + crew.lastName + " was killed.");
 }
Example #3
0
 public Crew RemoveCrew()
 {
     Crew returncrew = assignedcrew;
     returncrew.assigned = false;
     assignedcrew = null;
     occupied = false;
     return returncrew;
 }
Example #4
0
 public bool TryToBoard(Crew crew)
 {
     if (crew.positionType != assignedposition | occupied) {
         return false;
     } else {
         AddCrew (crew);
         return true;
     }
 }
Example #5
0
 public bool checkCrewHeadingOk(Crew crewMember, Vector2 newPosition)
 {
     // check if the crew member is passing through a door
     if (crewMemberIsPassingThruDoor(crewMember)){
         // passing through door, so let them keep moving
         return true;
     } else {
         // now check heading
         return _level1.checkCrewHeadingOk(crewMember, newPosition);
     }
 }
Example #6
0
 bool RayCastForCrewSelection()
 {
     var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
     Debug.DrawRay (ray.origin, ray.direction * Range, Color.green);
     RaycastHit Hit;
     if (Physics.Raycast (ray, out Hit, Range, CrewLayerMask)) {
         SelectedCrewMember = (Crew)Hit.transform.parent.gameObject.GetComponent<Crew> ();
         Debug.Log ("Selected " + SelectedCrewMember.Name);
         return true;
     }
     return false;
 }
Example #7
0
 public void RemoveCrew()
 {
     classImage.sprite = null;
     classImage.enabled = false;
     genderImage.sprite = null;
     genderImage.enabled = false;
     displayedcrew = null;
     fullname.text = "";
     age.text = "";
     SetDisplayedPosition (PositionType.None);
     this.displayedcrew = null;
     innerPanelImage.color = defaultcolor;
 }
Example #8
0
    public Crew BoardAndOverwrite(Crew crew)
    {
        if (crew.positionType != assignedposition) {//I mean, you cannnn but should you?
            Debug.Log ("Position mismatch with " + assignedcrew.firstName + " " + assignedcrew.lastName + " in crewslot on " + parentobject.name);
        }

        if (!occupied) {
            AddCrew (crew);
            return null;
        } else {
            Crew oldcrew = assignedcrew;
            oldcrew.assigned = false;
            AddCrew(crew);
            return oldcrew;
        }
    }
Example #9
0
 ///<summary>
 /// Overwrites crew but returns previously displayed crew
 /// </summary>
 public Crew DisplayCrew(Crew crew)
 {
     Crew oldcrew = null;
     if (displayedcrew != null) {
         oldcrew = displayedcrew;
     }
     classImage.enabled = true;
     classImage.sprite = Icons.positions [crew.positionType];
     genderImage.enabled = true;
     genderImage.sprite = Icons.genders [crew.gender];
     displayedcrew = crew;
     fullname.text = crew.firstName + " " + crew.lastName;
     SetDisplayedPosition (crew.positionType);
     age.text = "Age:"+crew.GetAgeString ();
     innerPanelImage.color = displayedcrew.color;
     moraleFill.fillAmount = crew.morale;
     disciplinefill.fillAmount = crew.discipline;
     return oldcrew;
 }
Example #10
0
 public Selection(List<Unit> units, int id)
 {
     this.units = units;
     this.ID = id;
     for (int i = 0; i < this.units.Count; i++) { //check for behaviors and set selection. In future this can be more robust as we assign different commands within a selection depending on what units do ie. some harvest, some guard harvesters, all from a single rightclick on a harvestable
         if (canAttack == false) {
             if (this.units [i].canattack) {
                 canAttack = true;
             }
         }
         if (canHarvest == false) {
             if (this.units [i].canharvest) {
                 canHarvest = true;
             }
         }
     }
     Debug.Log ("Selection "+ID+" created with " + units.Count + " units");
     Debug.Log (units [0]);
     Debug.Log(units [0].crewcabin);
     Debug.Log(units [0].crewcabin.crewslots[0]);
     leader = units [0].crewcabin.crewslots [0].assignedcrew; //leader is whoever is in the first seat of the first ship
 }
Example #11
0
 public bool AddCrew(Crew crew)
 {
     using (var ctx = new IncidentContext())
     {
         try
         {
             ctx.Crews.Add(crew);
             foreach (Crew c in ctx.Crews)
             {
                 Console.WriteLine("Added crew: " + c.CrewName + ", crew id: " + c.Id);
             }
             ctx.SaveChanges();
             using (var ctxCloud = new IncidentCloudContext())
             {
                 try
                 {
                     ctxCloud.Crews.Add(crew);
                     foreach (Crew c in ctx.Crews)
                     {
                         Console.WriteLine("Added crew: " + c.CrewName + ", crew id: " + c.Id);
                     }
                     ctxCloud.SaveChanges();
                     return(true);
                 }
                 catch (Exception e)
                 {
                     return(false);
                 }
             }
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
Example #12
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,MovieId,CrewId,Department,Name,Job,IMDB,Poster,ContentType")] Crew crew, IFormFile NewPoster)
        {
            if (id != crew.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (NewPoster is not null)
                    {
                        crew.ContentType = _imageService.RecordContentType(NewPoster);
                        crew.Poster      = await _imageService.EncodePosterAsync(NewPoster);
                    }

                    _context.Update(crew);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CrewExists(crew.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", crew.MovieId);
            return(View(crew));
        }
        public void BuildResultsList_WithFirstCrewTimeOnly_ShouldReturnFirstCrewSecond()
        {
            List <Crew> crews = new List <Crew>();
            Crew        crew1 = new Crew {
                BroeCrewId = 1, Competition = Competition
            };

            crew1.Results.Add(new Result(StartPoint, crew1, new TimeSpan(2, 0, 0)));
            crew1.Results.Add(new Result(FinishPoint, crew1, new TimeSpan(2, 20, 0)));
            crews.Add(crew1);

            Crew crew2 = new Crew {
                BroeCrewId = 2, Competition = Competition, IsTimeOnly = true
            };

            crew2.Results.Add(new Result(StartPoint, crew2, new TimeSpan(2, 1, 0)));
            crew2.Results.Add(new Result(FinishPoint, crew2, new TimeSpan(2, 20, 0)));
            crews.Add(crew2);

            List <HeadRaceTimingSite.Api.Resources.Crew> results = ResultsHelper.BuildCrewsList(mapper, Competition, crews);

            Assert.AreEqual(1, results[0].Id);
            Assert.AreEqual(2, results[1].Id);
        }
Example #14
0
    public void ClickedByPlayer(Crew crewStatus)
    {
        //called when the player clicks on this node.
        //if necessary, takes items from the player inventory, if they have it, and applies it to the thing node.
        if (GetCurrentBlueprintNodeTask().nodeMode == NodeModes.thing)
        {
            BlueprintNodeTask nodeTask = GetCurrentBlueprintNodeTask();

            Thing foundThing = crewStatus.FindThingFromInventory(nodeTask.requiredThingType);
            if (foundThing != null && nodeTask.quantityFilled < nodeTask.quantityRequired && foundThing.quantity > 0)
            {
                int quantityUsed = nodeTask.quantityRequired - nodeTask.quantityFilled;
                if (quantityUsed > foundThing.quantity)
                {
                    quantityUsed = foundThing.quantity;
                }

                nodeTask.quantityFilled += quantityUsed;
                crewStatus.UseThing(foundThing, quantityUsed);
            }

            UpdateNodeTask();
        }
    }
        public async Task Delete_WithValidCrewAndTimingPoint_ShouldDeleteResult()
        {
            using (var context = provider.GetService <TimingSiteContext>())
                using (var controller = new HeadRaceTimingSite.Api.Controllers.ResultController(mapper, context))
                {
                    Crew dbCrew = new Crew {
                        CrewId = 1, BroeCrewId = 123456
                    };
                    context.Crews.Add(dbCrew);
                    Result result = new Result {
                        TimingPointId = 1
                    };
                    dbCrew.Results.Add(result);
                    context.SaveChanges();

                    var response = await controller.DeleteByCrewAndTimingPoint(123456, 1).ConfigureAwait(false);

                    var noContentResult = response as NoContentResult;

                    Assert.IsNotNull(noContentResult);
                    Assert.AreEqual(204, noContentResult.StatusCode);
                    Assert.AreEqual(0, dbCrew.Results.Count);
                }
        }
        public async Task ShouldAddCrewMember()
        {
            await CreateCrew(_crewName2);

            Crew     crew2    = _dbContext.Crews.Find(2);
            CrewUser crewUser = _dbContext.CrewUsers.Find(1);

            CrewService    crewService    = new CrewService(_dbContext, _mainEventProvider);
            CrewController crewController = new CrewController(crewService);

            ActionResult <List <CrewMembersListVm> > result = await crewController.GetCrewMembersAsync(crew2.Id);

            List <CrewMembersListVm> returnedCrewMembers = (List <CrewMembersListVm>)((OkObjectResult)result.Result).Value;

            Assert.AreEqual(0, returnedCrewMembers.Count);

            await crewController.AddCrewMemberAsync(crew2.Id, _createdUser1.Entity.Id);

            result = await crewController.GetCrewMembersAsync(crew2.Id);

            returnedCrewMembers = (List <CrewMembersListVm>)((OkObjectResult)result.Result).Value;
            Assert.AreEqual(1, returnedCrewMembers.Count);
            Assert.AreEqual(_createdUser1.Entity.Id, returnedCrewMembers[0].Id);
        }
Example #17
0
        private void TestBreakingBadSeasonOneEpisodeOneBaseProperties(TvEpisode tvEpisode)
        {
            Assert.AreEqual(62085, tvEpisode.Id);
            Assert.IsTrue(tvEpisode.AirDate.HasValue);
            Assert.AreEqual(new DateTime(2008, 1, 19), tvEpisode.AirDate.Value.Date);
            Assert.AreEqual(1, tvEpisode.EpisodeNumber);
            Assert.AreEqual("Pilot", tvEpisode.Name);
            Assert.IsNotNull(tvEpisode.Overview);
            Assert.IsNull(tvEpisode.ProductionCode);
            Assert.AreEqual(1, tvEpisode.SeasonNumber);
            Assert.IsNotNull(tvEpisode.StillPath);

            Assert.IsNotNull(tvEpisode.Crew);
            Crew crew = tvEpisode.Crew.SingleOrDefault(s => s.CreditId == "52542275760ee313280006ce");

            Assert.IsNotNull(crew);

            Assert.AreEqual(66633, crew.Id);
            Assert.AreEqual("52542275760ee313280006ce", crew.CreditId);
            Assert.AreEqual("Vince Gilligan", crew.Name);
            Assert.AreEqual("Writing", crew.Department);
            Assert.AreEqual("Writer", crew.Job);
            Assert.IsTrue(TestImagesHelpers.TestImagePath(crew.ProfilePath), "crew.ProfilePath was not a valid image path, was: " + crew.ProfilePath);

            Assert.IsNotNull(tvEpisode.GuestStars);
            Cast star = tvEpisode.GuestStars.SingleOrDefault(s => s.CreditId == "52542273760ee3132800068e");

            Assert.IsNotNull(star);

            Assert.AreEqual(92495, star.Id);
            Assert.AreEqual("John Koyama", star.Name);
            Assert.AreEqual("52542273760ee3132800068e", star.CreditId);
            Assert.AreEqual("Emilio Koyama", star.Character);
            Assert.AreEqual(1, star.Order);
            Assert.IsTrue(TestImagesHelpers.TestImagePath(star.ProfilePath), "star.ProfilePath was not a valid image path, was: " + star.ProfilePath);
        }
Example #18
0
        public override void OnMapChange()
        {
            base.OnMapChange();

            foreach (MannedCannon c in Cannons)
            {
                c.Map = Map;
            }

            foreach (BaseCreature c in Crew.Where(c => c != null && !c.Deleted))
            {
                c.Map = Map;
            }

            foreach (BaseCreature c in Spawn.Keys.Where(c => c != null && !c.Deleted))
            {
                c.Map = Map;
            }

            if (Beacon != null)
            {
                Beacon.Map = Map;
            }
        }
        public void CreateEntity_Should_Create_crew_typeof_Crew()
        {
            // Arrange
            CrewDTO crewDTO = new CrewDTO
            {
                Id      = 1,
                PilotId = 1
            };
            Crew crew = new Crew
            {
                Id      = 1,
                PilotId = 1
            };

            var crewRepository = new FakeRepository <Crew>();
            var crewService    = new CrewService(crewRepository);

            // Act
            crewService.CreateEntity(crewDTO);
            var result = crewRepository.Get(1);

            // Assert
            Assert.AreEqual(crew, result);
        }
Example #20
0
        public void Create_When_entity_is_created_Then_new_Crew_with_new_id_is_returned()
        {
            // Arrange
            var crewMock = new Crew()
            {
                Id      = 1,
                PilotId = 1
            };

            var crewDTOToCreate = new CrewDTO()
            {
                PilotId = 1
            };

            var expectedCrewDTO = new CrewDTO()
            {
                Id      = 1,
                PilotId = 1
            };
            var crewRepositoryFake = A.Fake <ICrewRepository>();

            A.CallTo(() => crewRepositoryFake.Create(A <Crew> ._)).Returns(crewMock);

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Crew>()).Returns(crewRepositoryFake);

            var crewService = new CrewService(unitOfWorkFake, AlwaysValidValidator);

            // Act
            var result = crewService.Create(crewDTOToCreate);

            // Assert
            Assert.AreEqual(expectedCrewDTO.Id, result.Id);
            Assert.AreEqual(expectedCrewDTO.PilotId, result.PilotId);
        }
Example #21
0
    public void Follow()
    {
        Crew crew = (Crew)character;

        crew.state = Crew.FOLLOWING;
    }
Example #22
0
    // this method is fairly similar to willDirectCrewToDoor(Crew crewMember)
    // there may be a way to combine similar functionality that has been copy/pasted.
    // but thats a challenge for another time.
    public bool crewMemberIsPassingThruDoor(Crew crewMember)
    {
        // check if the crew member is on its way through a daor
        // we'll do this by checking if the crew member is on a door's start/end tile and headed towards its end/start tile
        // of if the crew member is actually intersecting the door

        // check for intersection status first, since thats easier
        float crewXMin = crewMember.x - (crewMember.width / 2);
        float crewXMax = crewMember.x + (crewMember.width / 2);
        float crewYMin = crewMember.y - (crewMember.height / 2);
        float crewYMax = crewMember.y + (crewMember.height / 2);

        for (int i = 0; i < _levelDoors.Count; i++){
         	Door door = _levelDoors[i];
            if (door.doorIsHorizontal){
                // horizontal door, so check if crew's y boundaries intersect door's y
                if (crewYMin <= door.y && crewYMax >= door.y){
                    // make sure crew member's x boundaries are within the door's x boundaries
                    if (crewXMin >= door.x - door.width / 2 && crewXMax <= door.x + door.width / 2){
                        return true;
                    }
                }
            } else {
                // vertical door, so check if crew's x boundaries intersect door's x
                if (crewXMin <= door.x && crewXMax >= door.x){
                    // make sure crew member's y boundaries are within the door's y boundaries
                    if (crewYMin >= door.y - door.height / 2 && crewYMax <= door.y + door.height / 2){
                        return true;
                    }
                }
            }
        }

        // if we get here, we didn't find any interesecting doors. So now we check if
        // the crew member is on its way towards a door.

        // get crew members column number and the tile's x bounding values
        int colNumber = (int)crewMember.x / 64;
        int xTileMin = colNumber * 64;
        int xTileMax = xTileMin + 64;

        // get crew members row number tile's y bounding values
        int rowNumber = (int)crewMember.y / 64;
        int yTileMin = rowNumber * 64;
        int yTileMax = yTileMin + 64;

        // see if there is a door next to the crew member
        Door checkDoor = getOpenDoor(rowNumber, colNumber);

        if (checkDoor != null){
            if (checkDoor.doorIsHorizontal){
                // door is above or below the crew member, make sure they are within the tile's x boundary in order to access
                if (crewXMin >= xTileMin && crewXMax <= xTileMax){
                    if (rowNumber == checkDoor.startRow){
                        // crew member is below
                        if (crewMember.direction == VectorDirection.Up){
                            // crew member is heading through the door
                            return true;
                        }
                    } else {
                        // crew member is above
                        if (crewMember.direction == VectorDirection.Down){
                            // crew member is heading through the door
                            return true;
                        }
                    }
                }
            } else {
                // door is to the left or right of the crew member, make sure they are within the tile's y boundary in order to access
                if (crewYMin >= yTileMin && crewYMax <= yTileMax){
                    // check for a door to the left or right that the crew member could access
                    if (colNumber == checkDoor.startCol){
                        // crew member is to the left
                        if (crewMember.direction == VectorDirection.Right){
                            // crew member is heading through the door
                            return true;
                        }
                    } else {
                        // crew member is to the right
                        if (crewMember.direction == VectorDirection.Left){
                            // crew member is heading through the door
                            return true;
                        }
                    }
                }
            }
        }

        // if get here, crew member is not heading through a door
        return false;
    }
Example #23
0
 public CrewLite(Crew crew)
 {
     this.CopyFrom(crew);
 }
Example #24
0
        static void Main(string[] args)
        {
            //float f = 0.123346f;
            //decimal d = 1.31231231231233M;
            //decimal b = 1.1231231246789M;
            //decimal c = d + b;
            //Console.WriteLine(c);
            //Console.ReadLine();
            //double infinity = Double.PositiveInfinity;
            //Console.WriteLine(infinity);
            //Console.ReadLine();

            //uint a = 52130;
            //sbyte b = -115;
            //int c = 4825932;
            //ushort v = 97;
            //int d = -100000;
            //uint n = 200000;
            //byte h = 254;
            //ulong i = 9041241241;
            //sbyte p = 112;
            //sbyte o = -44;
            //long q = -10000000;
            //int k = 19999;
            //ulong m = 123456789123456789;

            //float a = 12.345f;
            //double b = 34.56789023;
            //double c = 8941.1234567;
            //decimal g = 1231241245.1241268351625312M;

            //decimal a = decimal.Parse(Console.ReadLine());
            //decimal b = decimal.Parse(Console.ReadLine());
            //decimal c = a + b;


            //int c = 0x100;

            //char c = '\x48';



            //bool isMale = false;
            //Console.WriteLine("Male or Female");
            //string i = Console.ReadLine();
            //if (i == "Male")
            //{
            //    isMale = true;
            //    Console.WriteLine(isMale);
            //}
            //else
            //{
            //    Console.WriteLine(isMale);
            //}



            //Console.ReadLine();

            //string a = "1";
            //string b = "2";
            //string v = a + b;
            //Console.WriteLine(v);



            //string c = "The \"use\" of quotations causes difficulties.";
            //Console.WriteLine(c);

            //Console.WriteLine(@"                oo     oo         ");
            //Console.WriteLine(@"               o    o    o        ");
            //Console.WriteLine(@"                o       o         ");
            //Console.WriteLine(@"                  o   o           ");
            //Console.WriteLine(@"                    o             ");

            //Console.WriteLine("            ©                                  ");
            //Console.WriteLine("           © ©                                 ");
            //Console.WriteLine("          ©   ©                                ");
            //Console.WriteLine("         ©     ©                               ");
            //Console.WriteLine("        ©       ©                              ");
            //Console.WriteLine("       ©         ©                             ");
            //Console.WriteLine("      ©           ©                            ");
            //Console.WriteLine("     ©             ©                           ");
            //Console.WriteLine("    © © © © © © © © ©                          ");

            Crew crew = new Crew();

            Console.Write("How big is your crew:");
            int number = int.Parse(Console.ReadLine());

            int[] countOfCrew = new int[number];
            foreach (int eachOfTheCrew in countOfCrew)
            {
                Console.Write("Name:");
                crew.Name = Console.ReadLine();
                Console.WriteLine();
                Console.Write("Last Name:");

                crew.LastName = Console.ReadLine();
                Console.WriteLine();
                Console.Write("Male or female(m/f)");
                crew.Gender = char.Parse(Console.ReadLine());
                Console.WriteLine();
                Console.Write("How old is he/she:");
                crew.Old = int.Parse(Console.ReadLine());
                Console.WriteLine();
                Console.Write("His Unique number:");
                crew.UniqueNumber = long.Parse(Console.ReadLine());
            }
            string b = crew.Name + crew.LastName + crew.Gender + crew.Old + crew.UniqueNumber;

            for (int i = 0; i < countOfCrew.Length; i++)
            {
                Console.WriteLine(b);
            }
            Console.WriteLine();

            Console.ReadLine();
        }
    public bool LoadGame(string fullname)
    {
        bool   debug_noresource = weNeedNoResources, refreshUI = false;
        Stream fs = File.Open(fullname, FileMode.Open);
        double realHashSum = GetHashSum(fs, true);
        var    data        = new byte[8];

        fs.Read(data, 0, 8);
        double readedHashSum = System.BitConverter.ToDouble(data, 0);
        string errorReason   = "reason not stated";

        if (realHashSum == readedHashSum)
        {
            fs.Position = 0;
            SetPause(true);
            loading = true;


            // НАЧАЛО ЗАГРУЗКИ
            #region gms mainPartLoading
            data = new byte[5];
            fs.Read(data, 0, data.Length);
            int saveSystemVersion = System.BitConverter.ToInt32(data, 0); // может пригодиться в дальнейшем
            gameMode = (GameMode)data[4];
            //
            if (sessionPrepared)
            {
                ClearPreviousSessionData();
                refreshUI = true;
            }
            else
            {
                PrepareSession();
            }
            //start reading
            data = new byte[68];
            fs.Read(data, 0, data.Length);
            gameSpeed                      = System.BitConverter.ToSingle(data, 0);
            lifeGrowCoefficient            = System.BitConverter.ToSingle(data, 4);
            demolitionLossesPercent        = System.BitConverter.ToSingle(data, 8);
            lifepowerLossesPercent         = System.BitConverter.ToSingle(data, 12);
            LUCK_COEFFICIENT               = System.BitConverter.ToSingle(data, 16);
            sellPriceCoefficient           = System.BitConverter.ToSingle(data, 20);
            tradeVesselsTrafficCoefficient = System.BitConverter.ToSingle(data, 24);
            upgradeDiscount                = System.BitConverter.ToSingle(data, 28);
            upgradeCostIncrease            = System.BitConverter.ToSingle(data, 32);
            warProximity                   = System.BitConverter.ToSingle(data, 36);

            difficulty = (Difficulty)data[40];
            int i = 41;
            prevCutHeight = data[i++];
            day           = data[i++];
            month         = data[i++];

            year              = System.BitConverter.ToUInt32(data, i); i += 4;
            timeGone          = System.BitConverter.ToSingle(data, i); i += 4;
            gearsDegradeSpeed = System.BitConverter.ToSingle(data, i); i += 4;
            labourTimer       = System.BitConverter.ToSingle(data, i); i += 4;
            RecruitingCenter.SetHireCost(System.BitConverter.ToSingle(data, i)); i += 4;
            gameID = System.BitConverter.ToInt32(data, i); i += 4;
            #endregion

            DockSystem.LoadDockSystem(fs, saveSystemVersion);
            var b = fs.ReadByte();
            if (b == 1)
            {
                globalMap.Load(fs, saveSystemVersion);
            }
            if (loadingFailed)
            {
                errorReason = "global map error";
                goto FAIL;
            }

            environmentMaster.Load(fs);
            if (loadingFailed)
            {
                errorReason = "environment error";
                goto FAIL;
            }

            Artifact.LoadStaticData(fs); // crews & monuments
            if (loadingFailed)
            {
                errorReason = "artifacts load failure";
                goto FAIL;
            }

            Crew.LoadStaticData(fs);
            if (loadingFailed)
            {
                errorReason = "crews load failure";
                goto FAIL;
            }
            //
            if (colonyController == null)
            {
                PrepareColonyController(false);
            }
            //
            if (mainChunk == null)
            {
                mainChunk = Chunk.InitializeChunk();
            }
            mainChunk.LoadChunkData(fs);
            if (loadingFailed)
            {
                errorReason = "chunk load failure";
                goto FAIL;
            }
            else
            {
                if (blockersRestoreEvent != null)
                {
                    blockersRestoreEvent();
                }
            }

            Settlement.TotalRecalculation(); // Totaru Annihiration no imoto-chan
            if (loadingFailed)
            {
                errorReason = "settlements load failure";
                goto FAIL;
            }

            colonyController.Load(fs); // < --- COLONY CONTROLLER
            if (loadingFailed)
            {
                errorReason = "colony controller load failure";
                goto FAIL;
            }

            if (loadingFailed)
            {
                errorReason = "dock load failure";
                goto FAIL;
            }
            QuestUI.current.Load(fs);
            if (loadingFailed)
            {
                errorReason = "quest load failure";
                goto FAIL;
            }
            Expedition.LoadStaticData(fs);
            Knowledge.Load(fs);
            b = fs.ReadByte();
            if (b == 1)
            {
                executingScenario = Scenario.StaticLoad(fs);
            }
            FollowingCamera.main.Load(fs);
            fs.Close();

            FollowingCamera.main.WeNeedUpdate();
            loading         = false;
            currentSavename = fullname;

            //Debug.Log("recalculation event");
            if (afterloadRecalculationEvent != null)
            {
                afterloadRecalculationEvent();
                afterloadRecalculationEvent = null;
            }
            SetPause(false);
            //Debug.Log("power grid");
            colonyController.FORCED_PowerGridRecalculation();
            //Debug.Log("docks");
            colonyController.SYSTEM_DocksRecalculation();
            //Debug.Log("end");

            if (refreshUI)
            {
                UIController.GetCurrent().GameWasReloaded();
            }

            DEBUG_STOP = true;
            return(true);
        }
        else
        {
            AnnouncementCanvasController.MakeImportantAnnounce(Localization.GetAnnouncementString(GameAnnouncements.LoadingFailed) + " : hashsum incorrect");
            if (soundEnabled)
            {
                audiomaster.Notify(NotificationSound.SystemError);
            }
            SetPause(true);
            fs.Close();
            return(false);
        }
FAIL:
        AnnouncementCanvasController.MakeImportantAnnounce(Localization.GetAnnouncementString(GameAnnouncements.LoadingFailed) + " : data corruption");
        if (soundEnabled)
        {
            audiomaster.Notify(NotificationSound.SystemError);
        }
        Debug.Log(errorReason);
        SetPause(true);
        fs.Close();
        if (debug_noresource)
        {
            weNeedNoResources = true;
        }
        return(false);
    }
        public void MastersHandicap_WithMastersCrew_ShouldReturnCorrectHandicap(int age, int minutes, int seconds, int handicap)
        {
            Competition competition = new Competition();

            competition.TimingPoints.Add(new TimingPoint {
                TimingPointId = 1
            });
            competition.TimingPoints.Add(new TimingPoint {
                TimingPointId = 2
            });
            Award award = new Award {
                IsMasters = true, AwardId = 1
            };

            competition.Awards.Add(award);
            Crew crewOne = new Crew();

            crewOne.Results.Add(new Result {
                TimingPointId = 1, TimeOfDay = new TimeSpan(10, 0, 0)
            });
            crewOne.Results.Add(new Result {
                TimingPointId = 2, TimeOfDay = new TimeSpan(10, minutes, seconds)
            });
            crewOne.Awards.Add(new CrewAward {
                Award = award
            });
            crewOne.Athletes.Add(new CrewAthlete {
                Athlete = new Athlete(), Age = 27
            });
            award.Crews.Add(new CrewAward {
                Crew = crewOne
            });
            crewOne.Competition = competition;
            competition.Crews.Add(crewOne);
            Crew crewTwo = new Crew();

            crewTwo.Results.Add(new Result {
                TimingPointId = 1, TimeOfDay = new TimeSpan(10, 0, 0)
            });
            crewTwo.Results.Add(new Result {
                TimingPointId = 2, TimeOfDay = new TimeSpan(10, minutes, seconds + 20)
            });
            crewTwo.Awards.Add(new CrewAward {
                Award = award
            });
            crewTwo.Athletes.Add(new CrewAthlete {
                Athlete = new Athlete(), Age = age
            });
            crewTwo.Competition = competition;
            award.Crews.Add(new CrewAward {
                Crew = crewTwo
            });
            competition.Crews.Add(crewTwo);

            Dictionary <MastersCategory, int> lowerBounds = new Dictionary <MastersCategory, int>();

            lowerBounds.Add(MastersCategory.B, handicap);
            Dictionary <MastersCategory, int> upperBounds = new Dictionary <MastersCategory, int>();

            upperBounds.Add(MastersCategory.B, handicap);

            Assert.AreEqual(handicap, crewTwo.CalculateMastersHandicap(lowerBounds, upperBounds));
        }
        //----------------------------------------------------------------//

        public static Crew CrewQueryMap(Crew crew, Job job, People people)
        {
            InitPeople(crew, people);
            crew.Job = job;
            return(crew);
        }
Example #28
0
 public IActionResult Index(Crew crew)
 {
     return(RedirectToAction("Result", crew));
 }
 private void Awake()
 {
     crew = GetComponent<Crew> ();
 }
        public async Task UpdateAsync(Crew ob)
        {
            await _crewService.UpdateAsync(ob);

            await UpdateListAsync();
        }
Example #31
0
    // this method is fairly similar to rewMemberIsPassingThruDoor(Crew crewMember)
    // there may be a way to combine similar functionality that has been copy/pasted.
    // but thats a challenge for another time.
    public bool willDirectCrewToDoor(Crew crewMember)
    {
        bool willDirectToDoor = false;

        // check for a door immediately next to crew member

        // we'll do a tile based check if the crew member is completely in a tile

        // get crew member's bounding values
        float crewXMin = crewMember.x - (crewMember.width / 2);
        float crewXMax = crewMember.x + (crewMember.width / 2);
        float crewYMin = crewMember.y - (crewMember.height / 2);
        float crewYMax = crewMember.y + (crewMember.height / 2);

        // get crew members column number tile's x bounding values
        int colNumber = (int)crewMember.x / 64;
        int xTileMin = colNumber * 64;
        int xTileMax = xTileMin + 64;

        // get crew members row number tile's y bounding values
        int rowNumber = (int)crewMember.y / 64;
        int yTileMin = rowNumber * 64;
        int yTileMax = yTileMin + 64;

        // see if there is a door next to the crew member
        Door checkDoor = getOpenDoor(rowNumber, colNumber);

        if (checkDoor != null && crewMember.lastMoveTileUsed == null){ // if lastMoveTileUsed is not null, then crew member is still obeying a move tile
            if (checkDoor.doorIsHorizontal){
                // door is above or below the crew member, make sure they are within the tile's x boundary in order to access
                if (crewXMin >= xTileMin && crewXMax <= xTileMax){
                    if (rowNumber == checkDoor.startRow){
                        // crew member is below
                        if (crewMember.direction != VectorDirection.Up && crewMember.direction != VectorDirection.Down){
                            // update direction so long as crew member is not moving directly away from the door, in which case they probably just passed through it
                            willDirectToDoor = true;
                            crewMember.ChangeDirection(VectorDirection.Up);
                        }
                    } else {
                        // crew member is above
                        if (crewMember.direction != VectorDirection.Down && crewMember.direction != VectorDirection.Up){
                            // update direction so long as crew member is not moving directly away from the door, in which case they probably just passed through it
                            willDirectToDoor = true;
                            crewMember.ChangeDirection(VectorDirection.Down);
                        }
                    }
                }
            } else {
                // door is to the left or right of the crew member, make sure they are within the tile's y boundary in order to access
                if (crewYMin >= yTileMin && crewYMax <= yTileMax){
                    // check for a door to the left or right that the crew member could access
                    if (colNumber == checkDoor.startCol){
                        // crew member is to the left
                        if (crewMember.direction != VectorDirection.Right && crewMember.direction != VectorDirection.Left){
                            // update direction so long as crew member is not moving directly away from the door, in which case they probably just passed through it
                            willDirectToDoor = true;
                            crewMember.ChangeDirection(VectorDirection.Right);
                        }
                    } else {
                        // crew member is to the right
                        if (crewMember.direction != VectorDirection.Left && crewMember.direction != VectorDirection.Right){
                            // update direction so long as crew member is not moving directly away from the door, in which case they probably just passed through it
                            willDirectToDoor = true;
                            crewMember.ChangeDirection(VectorDirection.Left);
                        }
                    }
                }
            }
        }

        return willDirectToDoor;
    }
Example #32
0
 private void AddCrew(Crew crewToAdd)
 {
     assignedcrew = crewToAdd;
     assignedcrew.assigned = true;
     occupied = true;
     crewmanager.UpdateCrewAssignments (assignedcrew, this);
 }
Example #33
0
    public bool willObeyFloorTile(Crew crewMember, Vector2 newPosition)
    {
        bool willObey = false;
        // check for a floor tile under crew member

        // we'll do a tile based check if the crew member is completely in a tile

        // get crew member's bounding values
        float crewXMin = newPosition.x - (crewMember.width / 2);
        float crewXMax = newPosition.x + (crewMember.width / 2);
        float crewYMin = newPosition.y - (crewMember.height / 2);
        float crewYMax = newPosition.y + (crewMember.height / 2);

        // get crew members column number tile's x bounding values
        int colNumber = (int)newPosition.x / 64;
        int xTileMin = colNumber * 64;
        int xTileMax = xTileMin + 64;

        // get crew members row number tile's y bounding values
        int rowNumber = (int)newPosition.y / 64;
        int yTileMin = rowNumber * 64;
        int yTileMax = yTileMin + 64;

        MoveTile moveTile = getMoveTile(rowNumber, colNumber);

        if (moveTile != null && moveTile != crewMember.lastMoveTileUsed){
            // crew member is on a move tile and is not currently following it
            if (crewMember.direction != moveTile.direction){
                // we only care if the tile will change the crew members direction

                if (crewMember.direction == VectorDirection.Up || crewMember.direction == VectorDirection.Down){
                 	// crew member is moving up or down, wait until crew member is contained between tile's min/max y before obeying it
                    if (crewYMin >= yTileMin && crewYMax <= yTileMax){
                        crewMember.ChangeDirection(moveTile.direction);
                        crewMember.lastMoveTileUsed = moveTile;
                        willObey = true;
                    }
                } else {
                    // crew member is moving left or right, wait until crew member is contained between tile's min/max x before obeying it
                    if (crewXMin >= xTileMin && crewXMax <= xTileMax){
                        crewMember.ChangeDirection(moveTile.direction);
                        crewMember.lastMoveTileUsed = moveTile;
                        willObey = true;
                    }
                }
            }
        } else if (moveTile == null){
            // crew member is not on a move tile
            crewMember.lastMoveTileUsed = null;
        }

        return willObey;
    }
Example #34
0
        private void LoadCrews()
        {
            List <Crew> crews = new List <Crew>();
            Crew        c1    = new Crew()
            {
                Id = "1", CrewName = "Adam Smith", Type = CrewType.Investigation
            };
            Crew c2 = new Crew()
            {
                Id = "2", CrewName = "Danny Phillips", Type = CrewType.Investigation
            };
            Crew c3 = new Crew()
            {
                Id = "3", CrewName = "Anna Davis", Type = CrewType.Investigation
            };
            Crew c4 = new Crew()
            {
                Id = "4", CrewName = "Mark Crow", Type = CrewType.Repair
            };
            Crew c5 = new Crew()
            {
                Id = "5", CrewName = "Jullie Stephenson", Type = CrewType.Repair
            };
            Crew c6 = new Crew()
            {
                Id = "6", CrewName = "David Phill", Type = CrewType.Repair
            };

            crews.Add(c1);
            crews.Add(c2);
            crews.Add(c3);
            crews.Add(c4);
            crews.Add(c5);

            //using (var ctx = new IncidentContext())
            //{
            //    foreach (Crew c in crews)
            //    {
            //        try
            //        {
            //            if (!ctx.Crews.Any(e => e.Id == c.Id))
            //            {
            //                ctx.Crews.Add(c);
            //                ctx.SaveChanges();
            //            }
            //        }
            //        catch (Exception e) { }
            //    }
            //}
            using (var ctxCloud = new IncidentCloudContext())
            {
                foreach (Crew c in crews)
                {
                    try
                    {
                        if (!ctxCloud.Crews.Any(e => e.Id == c.Id))
                        {
                            ctxCloud.Crews.Add(c);
                            ctxCloud.SaveChanges();
                        }
                    }
                    catch (Exception e) { }
                }
            }
        }
        //----------------------------------------------------------------//

        public static Crew CrewQueryMap(Crew crew, People people)
        {
            InitPeople(crew, people);
            return(crew);
        }
Example #36
0
 public void UpdateCrewAssignments(Crew crew, CrewSlot crewslot)
 {
     crewassignments[crew] = crewslot;
     Debug.Log(crew.firstName + " " + crew.lastName + " is now assgined to "+crewslot);
 }
 public BasicSimulationDataSet(Workplace workplace, TaskDictionary taskDictionary, Scenario scenario, Crew crew) :
     base(workplace, taskDictionary, scenario, crew)
 {
     if (base.Workplace == null)
     {
         base.Workplace = new BasicWorkplace("DefaultWorkplace");
     }
     if (base.Crew == null)
     {
         base.Crew = new BasicCrew("tempCrew", taskDictionary ?? new BasicTaskDictionary());
     }
     if (base.TaskDictionary == null)
     {
         base.TaskDictionary = base.Crew.TaskDictionary ?? new BasicTaskDictionary();
     }
     if (base.Scenario == null)
     {
         base.Scenario = new BasicScenario("tempScenario", loadPhase: null);
     }
     base.TaskDictionaryExpanded = new BasicTaskDictionary();
 }
Example #38
0
 private void AddCrewToList(Crew crew)
 {
     mastercrewlist.Add (crew);
     //Debug.Log ("Added " + crew.firstname + " " + crew.lastname + " to the manifest");
 }
    public bool SaveGame(string name)
    { // заменить потом на persistent -  постоянный путь
        SetPause(true);

        string path = SaveSystemUI.GetSavesPath() + '/';

        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }
        Stream fs = File.Create(path + name + '.' + SaveSystemUI.SAVE_FNAME_EXTENSION);

        currentSavename = name;
        //сразу передавать файловый поток для записи, чтобы не забивать озу
        #region gms mainPartFilling
        fs.Write(System.BitConverter.GetBytes(GameConstants.SAVE_SYSTEM_VERSION), 0, 4);
        fs.WriteByte((byte)gameMode);
        // start writing
        fs.Write(System.BitConverter.GetBytes(gameSpeed), 0, 4);
        fs.Write(System.BitConverter.GetBytes(lifeGrowCoefficient), 0, 4);
        fs.Write(System.BitConverter.GetBytes(demolitionLossesPercent), 0, 4);
        fs.Write(System.BitConverter.GetBytes(lifepowerLossesPercent), 0, 4);
        fs.Write(System.BitConverter.GetBytes(LUCK_COEFFICIENT), 0, 4);
        fs.Write(System.BitConverter.GetBytes(sellPriceCoefficient), 0, 4);
        fs.Write(System.BitConverter.GetBytes(tradeVesselsTrafficCoefficient), 0, 4);
        fs.Write(System.BitConverter.GetBytes(upgradeDiscount), 0, 4);
        fs.Write(System.BitConverter.GetBytes(upgradeCostIncrease), 0, 4);
        fs.Write(System.BitConverter.GetBytes(warProximity), 0, 4);
        //40
        fs.WriteByte((byte)difficulty); // 41
        fs.WriteByte(prevCutHeight);    //42
        fs.WriteByte(day);              // 43
        fs.WriteByte(month);            //44
        fs.Write(System.BitConverter.GetBytes(year), 0, 4);
        fs.Write(System.BitConverter.GetBytes(timeGone), 0, 4);
        fs.Write(System.BitConverter.GetBytes(gearsDegradeSpeed), 0, 4);
        fs.Write(System.BitConverter.GetBytes(labourTimer), 0, 4);
        fs.Write(System.BitConverter.GetBytes(RecruitingCenter.GetHireCost()), 0, 4);
        fs.Write(System.BitConverter.GetBytes(gameID), 0, 4);
        //68 (+4) end
        #endregion

        DockSystem.SaveDockSystem(fs);
        if (globalMap != null)
        {
            fs.WriteByte(1);
            globalMap.Save(fs);
        }
        else
        {
            fs.WriteByte(0);
        }
        environmentMaster.Save(fs);
        Artifact.SaveStaticData(fs);
        Crew.SaveStaticData(fs);
        mainChunk.SaveChunkData(fs);
        colonyController.Save(fs); // <------- COLONY CONTROLLER

        QuestUI.current.Save(fs);
        Expedition.SaveStaticData(fs);
        Knowledge.GetCurrent().Save(fs);

        if (executingScenario != null)
        {
            fs.WriteByte(1);
            executingScenario.Save(fs);
        }
        else
        {
            fs.WriteByte(0);
        }
        FollowingCamera.main.Save(fs);

        fs.Position = 0;
        double hashsum = GetHashSum(fs, false);
        fs.Write(System.BitConverter.GetBytes(hashsum), 0, 8);
        fs.Close();
        SetPause(false);
        return(true);
    }
Example #40
0
 private void GenerateStartingCrew(int amount, GameObject mothership)
 {
     for (int i = 0; i < amount; i++) {
         Crew crew = new Crew (mothership);
         AddCrewToList (crew);
     }
 }
Example #41
0
 private void spawnCrew(int crewCount)
 {
     // spawn some crew
     for (int i=0; i<crewCount; i++){
         Crew crew = new Crew();
         crew.sortZ = 10;
         crew.SetPosition(_levelManager.randomSpawnPosition());
         //crew.direction = VectorDirection.Right;
         _crewMembers.Add(crew);
         //_levelContainer.AddChild(crew);
         AddChild(crew);
         _crewSpawned++;
     }
 }
Example #42
0
 private void RemoveCrewFromList(Crew crew)
 {
     mastercrewlist.Remove (crew);
     Debug.Log ("Removed " + crew.firstName + " " + crew.lastName + " from the manifest");
 }
Example #43
0
        static void Main(string[] args)
        {
            DataRepositoryServiceClient client = new DataRepositoryServiceClient();


            client.Open();


            //bool retVal = false;

            // client.AddEntity(new User("admin", "admin"));

            //do
            //{

            //} while (retVal);

            int counter = 0;

            string c  = string.Empty;
            string id = string.Empty;

            do
            {
                Console.WriteLine("-----Menu-----");
                Console.WriteLine("1) Add new crew member");
                Console.WriteLine("2) Get all crew members");
                Console.WriteLine("3) Add new crew");
                Console.WriteLine("4) Get all crews");
                Console.WriteLine("5) Get crew memeber by id");
                Console.WriteLine("6) Get crew by id");
                Console.WriteLine("7) Remove crew member by id");
                Console.WriteLine("8) Remove crew by id");
                Console.WriteLine("9) Get all users");
                Console.WriteLine("10) Create days");
                Console.WriteLine("11) Get day test");
                Console.WriteLine("q) Exit");
                c = Console.ReadLine();



                if (c == "1")
                {
                    CrewMember crm = new CrewMember("Pera" + (++counter), "Pap", "*****@*****.**", "332423");
                    client.AddEntity(crm);
                    Console.WriteLine("\tEntity {0} added.", crm.ToString());
                    id = crm.GlobalId;
                }
                if (c == "2")
                {
                    List <IdentifiedObject> lista = new List <IdentifiedObject>(1);
                    lista = client.GetEntityByType(EntityType.CrewMember).ToList();
                    foreach (var item in lista)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }
                if (c == "3")
                {
                    Crew crm = new Crew("Ekipa" + (++counter));
                    client.AddEntity(crm);
                    Console.WriteLine("\tEntity {0} added.", crm.ToString());
                    id = crm.GlobalId;
                }
                if (c == "4")
                {
                    List <IdentifiedObject> lista = new List <IdentifiedObject>(1);
                    lista = client.GetEntityByType(EntityType.Crew).ToList();
                    foreach (var item in lista)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }
                if (c == "5")
                {
                    Console.WriteLine(client.GetEntityById(EntityType.CrewMember, id).ToString());
                }
                if (c == "6")
                {
                    Console.WriteLine(client.GetEntityById(EntityType.Crew, id).ToString());
                }
                if (c == "7")
                {
                    IdentifiedObject a = client.GetEntityById(EntityType.CrewMember, id);
                    client.RemoveEntity(a);
                    Console.WriteLine("Removed: {0}", a.ToString());
                    List <IdentifiedObject> lista = new List <IdentifiedObject>(1);
                    lista = client.GetEntityByType(EntityType.CrewMember).ToList();
                    foreach (var item in lista)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }

                if (c == "8")
                {
                    IdentifiedObject a = client.GetEntityById(EntityType.Crew, id);
                    client.RemoveEntity(a);
                    Console.WriteLine("Removed: {0}", a.ToString());
                    List <IdentifiedObject> lista = new List <IdentifiedObject>(1);
                    lista = client.GetEntityByType(EntityType.Crew).ToList();
                    foreach (var item in lista)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }
                if (c == "9")
                {
                    List <IdentifiedObject> lista = new List <IdentifiedObject>(1);
                    lista = client.GetEntityByType(EntityType.User).ToList();
                    foreach (var item in lista)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }
                if (c == "10")
                {
                    Console.WriteLine("Succesfully added {0} days", client.CreateWorkingDays());
                }

                if (c == "11")
                {
                    Console.WriteLine("Day:\n\t{0}", client.GetDayOfYear(new DateTime(2015, 7, 23)));
                }
            } while (c != "q");


            client.Close();
        }
Example #44
0
    public void SetState(int value)
    {
        Crew crew = (Crew)character;

        crew.SetState(value);
    }
Example #45
0
        public Ship(XElement ship)
            : base(ship)
        {
            this._crew              = new ObservableCollection <CMember>();
            this._tradeQueue        = new ObservableCollection <XElement>();
            this._constructionWares = new ObservableCollection <XElement>();
            this._drones            = new ObservableCollection <XElement>();

            if (ship.Attribute("name") == null)
            {
                EntityValueConverter conv = new EntityValueConverter();
                XAttribute           name = new XAttribute("name", conv.Convert(ship.Attribute("macro").Value, null, null, null));
                ship.Add(name);
            }

            IEnumerable <XElement> crewquery =
                from crew in this.Data.Descendants().Elements("component")
                where (string)crew.Attribute("class") == "npc"
                select crew;

            foreach (XElement person in crewquery)
            {
                Crew.Add(new CMember(person));
            }

            foreach (XElement trade in this.Data.Elements("trade").Elements("shopping").Elements("trade"))
            {
                TradeQueue.Add(trade);
            }

            IEnumerable <XElement> buildmodulesQuery =
                from buildmodules in this.Data.Descendants().Elements("connection")
                where (string)buildmodules.Attribute("macro") == "connection_buildmodule01"
                select buildmodules;

            IEnumerable <XElement> constructionWaresQuery =
                from wares in buildmodulesQuery.Descendants <XElement>().Elements("resources").Elements("ware")
                select wares;

            foreach (XElement ware in constructionWaresQuery)
            {
                ConstructionWares.Add(ware);
            }

            foreach (XElement drone in this.Data.Elements("ammunition").Elements("available").Elements("item"))
            {
                Drones.Add(drone);
            }


            IEnumerable <XElement> cargoList =
                from cargo in this.Data.Descendants().Elements("component")
                where (string)cargo.Attribute("class") == "storage" & (string)cargo.Attribute("macro") != "unit_player_ship_storage_macro"
                select cargo;

            foreach (XElement cargoType in cargoList)
            {
                string cargoTypeName = cargoType.Attribute("macro").Value;
                switch (cargoTypeName)
                {
                case "storage_ship_l_bulk_01_macro":
                case "storage_ship_m_bulk_01_macro":
                case "storage_ship_l_bulk_02_macro":
                case "storage_ship_l_bulk_03_macro":
                case "storage_ship_l_bulk_04_macro":
                case "storage_ship_xl_bulk_01_macro":
                    BulkCargo = cargoType;
                    break;

                case "storage_ship_l_container_01_macro":
                case "storage_ship_l_container_02_macro":
                case "storage_ship_m_container_01_macro":
                case "storage_ship_xl_container_01_macro":
                    ContainerCargo = cargoType;
                    break;

                case "storage_ship_l_energy_01_macro":
                case "storage_ship_l_energy_02_macro":
                case "storage_ship_xl_energy_01_macro":
                case "storage_ship_m_energy_01_macro":
                    EnergyCargo = cargoType;
                    break;

                case "storage_ship_l_fuel_01_macro":
                case "storage_ship_xl_fuel_01_macro":
                    FuelCargo = cargoType;
                    break;

                case "storage_ship_l_liquid_01_macro":
                case "storage_ship_l_liquid_02_macro":
                case "storage_ship_l_liquid_03_macro":
                case "storage_ship_xl_liquid_01_macro":
                case "storage_ship_m_liquid_01_macro":
                    LiquidCargo = cargoType;
                    break;

                case "storage_ship_xl_universal_01_macro":
                case "storage_ship_xs_universal_01_macro":
                case "storage_temp_huge_macro":
                    UniversalCargo = cargoType;
                    break;
                }
            }

            Gravidar = this.Data.Element("gravidar");

            LoadDetails();
        }
Example #46
0
 /// <summary>
 /// Sets the crew who will perform the task.
 /// </summary>
 /// <param name="crew">Crew.</param>
 public void SetCrew(Crew crew)
 {
     this.crew = crew;
 }
Example #47
0
        public static void EnsureDatabaseSeeded(this AirportContext context)
        {
            Flight f1 = new Flight
            {
                Number        = "PS101",
                Departure     = "London",
                DepartureTime = DateTime.Now + new TimeSpan(0, 30, 45),
                Destination   = "Paris",
                ArrivalTime   = DateTime.Now + new TimeSpan(3, 15, 0),
            };
            Flight f2 = new Flight
            {
                Number        = "PS177",
                Departure     = "London",
                DepartureTime = DateTime.Now + new TimeSpan(0, 45, 45),
                Destination   = "New York",
                ArrivalTime   = DateTime.Now + new TimeSpan(3, 15, 0),
            };
            Flight f3 = new Flight
            {
                Number        = "PS166",
                Departure     = "London",
                DepartureTime = DateTime.Now + new TimeSpan(1, 0, 45),
                Destination   = "Madrid",
                ArrivalTime   = DateTime.Now + new TimeSpan(3, 15, 0),
            };

            context.AddRange(new List <Flight> {
                f1, f2, f3
            });
            context.SaveChanges();


            Ticket t1 = new Ticket {
                FlightNumber = "PS101", Price = 300, FlightId = f1.Id
            };
            Ticket t2 = new Ticket {
                FlightNumber = "PS101", Price = 300, FlightId = f1.Id
            };
            Ticket t3 = new Ticket {
                FlightNumber = "PS101", Price = 300, FlightId = f1.Id
            };
            Ticket t4 = new Ticket {
                FlightNumber = "PS101", Price = 300, FlightId = f1.Id
            };
            Ticket t5 = new Ticket {
                FlightNumber = "PS177", Price = 600, FlightId = f2.Id
            };
            Ticket t6 = new Ticket {
                FlightNumber = "PS177", Price = 600, FlightId = f2.Id
            };
            Ticket t7 = new Ticket {
                FlightNumber = "PS177", Price = 600, FlightId = f2.Id
            };
            Ticket t8 = new Ticket {
                FlightNumber = "PS166", Price = 400, FlightId = f3.Id
            };
            Ticket t9 = new Ticket {
                FlightNumber = "PS166", Price = 400, FlightId = f3.Id
            };
            Ticket t10 = new Ticket {
                FlightNumber = "PS166", Price = 400, FlightId = f3.Id
            };

            context.AddRange(new List <Ticket> {
                t1, t2, t3, t4, t5, t6, t7, t8, t9, t9, t10
            });
            context.SaveChanges();

            Departure dep1 = new Departure
            {
                FlightNumber = "PS101",
                Time         = DateTime.Now + new TimeSpan(1, 15, 0)
            };
            Departure dep2 = new Departure
            {
                FlightNumber = "PS177",
                Time         = DateTime.Now + new TimeSpan(1, 20, 0)
            };
            Departure dep3 = new Departure
            {
                FlightNumber = "PS166",
                Time         = DateTime.Now + new TimeSpan(20, 10, 0)
            };

            context.AddRange(new List <Departure> {
                dep1, dep2, dep3
            });
            context.SaveChanges();

            Crew crew1 = new Crew {
                CrewNumber = 222, DepartureID = dep1.Id
            };
            Crew crew2 = new Crew {
                CrewNumber = 665, DepartureID = dep2.Id
            };

            context.AddRange(new List <Crew> {
                crew1, crew2
            });
            context.SaveChanges();

            Pilot pilot1 = new Pilot
            {
                FirstName  = "John",
                Lastname   = "Smith",
                BirthDay   = new DateTime(1980, 2, 25),
                Experience = 8,
                CrewId     = crew1.Id
            };
            Pilot pilot2 = new Pilot
            {
                FirstName  = "Paul",
                Lastname   = "Umtiti",
                BirthDay   = new DateTime(1973, 5, 16),
                Experience = 6,
                CrewId     = crew2.Id
            };

            context.AddRange(new List <Pilot> {
                pilot1, pilot2
            });
            context.SaveChanges();

            Hostess hostess1 = new Hostess
            {
                FirstName = "Martie",
                Lastname  = "Rubin",
                BirthDay  = new DateTime(1995, 1, 21),
                CrewID    = crew1.Id
            };
            Hostess hostess2 = new Hostess
            {
                FirstName = "Natalie",
                Lastname  = "Martins",
                BirthDay  = new DateTime(1990, 4, 6),
                CrewID    = crew1.Id
            };
            Hostess hostess3 = new Hostess
            {
                FirstName = "Kayli",
                Lastname  = "Leibnits",
                BirthDay  = new DateTime(1989, 6, 25),
                CrewID    = crew2.Id
            };
            Hostess hostess4 = new Hostess
            {
                FirstName = "Mery",
                Lastname  = "Poppins",
                BirthDay  = new DateTime(1993, 11, 12),
                CrewID    = crew2.Id
            };

            context.AddRange(new List <Hostess> {
                hostess1, hostess2, hostess3, hostess4
            });
            context.SaveChanges();

            Airplane airplane1 = new Airplane
            {
                Name         = "UR77777",
                CreationDate = new DateTime(2011, 6, 15),
                Lifetime     = 3,
                DepartureID  = dep1.Id
            };
            Airplane airplane2 = new Airplane
            {
                Name         = "UR55555",
                CreationDate = new DateTime(2013, 1, 20),
                Lifetime     = 4,
                DepartureID  = dep2.Id
            };
            Airplane airplane3 = new Airplane
            {
                Name         = "UR66666",
                CreationDate = new DateTime(2012, 5, 15),
                Lifetime     = 5,
                DepartureID  = dep3.Id
            };

            context.AddRange(new List <Airplane> {
                airplane1, airplane2, airplane3
            });
            context.SaveChanges();

            AirplaneType type1 = new AirplaneType
            {
                Model      = "Boing 747-100",
                Capacity   = 200,
                Cargo      = 4000,
                AirplaneId = airplane1.Id
            };
            AirplaneType type2 = new AirplaneType
            {
                Model      = "Boing 737-200",
                Capacity   = 350,
                Cargo      = 8000,
                AirplaneId = airplane3.Id
            };
            AirplaneType type3 = new AirplaneType
            {
                Model      = "Boing 777",
                Capacity   = 370,
                Cargo      = 20000,
                AirplaneId = airplane2.Id
            };

            context.AddRange(new List <AirplaneType> {
                type1, type2, type3
            });
            context.SaveChanges();
        }
Example #48
0
        private async void createNewCrew_Clicked(object sender, EventArgs e)
        {
            //overlay small overlaynewcrew is reused for both listviews to add the name and to rename
            int    rows     = 0;
            string crewName = crewEntry.Text;

            //checks to see if the string is empty
            if (!string.IsNullOrEmpty(crewName))
            {
                //checks to see which overlay its being sent from and if the warning has been displayed yet
                if (!crewWarningDisplay && crewNameLabel.Text == "New Crew")
                {
                    await Application.Current.MainPage.DisplayAlert("Alert", "New crew will not be saved unless members are added. Crews are also only saved to this device to allow easy addition to jobs.", "Ok");

                    crewWarningDisplay = true;
                }
                using (SQLiteConnection conn = new SQLiteConnection(App.DatabaseLocation))
                {
                    conn.CreateTable <Crew>();
                    //checks to see if the its sent from the modify overlay crewnamelistview
                    if (crewNameLabel.Text == "Rename Crew")
                    {
                        var obj2             = conn.Table <Crew>().ToList();
                        var selectedCrewName = (crewNameListView.SelectedItem as Crew).CrewName;


                        //looks through the crew table for members with matching crewname and returns them
                        var crewsTemp = conn.Table <Crew>().Where(u => u.CrewName == selectedCrewName).ToList();

                        //returned group using that crewname is returned and updated
                        foreach (Crew item in crewsTemp)
                        {
                            item.CrewName = crewName;

                            rows = conn.Update(item);
                        }
                        crewNameListView.IsVisible        = true;
                        crewNameListView.IsEnabled        = true;
                        crewNameListViewButtons.IsEnabled = true;
                        crewNameListViewButtons.IsVisible = true;
                    }
                    else
                    {
                        //if the crew is a part of the new crew overlay it creates a new crew with no members
                        Crew crew = new Crew()
                        {
                            CrewName = crewName
                        };

                        rows = conn.Insert(crew);

                        //returns to the main background content
                        overlay.IsEnabled    = false;
                        overlay.IsVisible    = false;
                        background.IsEnabled = true;
                    }

                    crewEntry.Text = string.Empty;

                    overlayNewCrew.IsVisible = false;
                    overlayNewCrew.IsEnabled = false;

                    if (rows > 0)
                    {
                        await Application.Current.MainPage.DisplayAlert("Notice", "Success.", "Ok");
                    }
                    else
                    {
                        await Application.Current.MainPage.DisplayAlert("Notice", "Failure.", "Ok");
                    }

                    //repopulates lists with new data
                    SQLiteDBWorkerPopulate();
                }
            }
            else
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Please enter a name.", "Ok");
            }
        }
Example #49
0
        private System.Collections.IEnumerator UpdateTiles(Tiles shipTiles, ManagerJobs managerJobs, ManagerOptions managerOptions, GameObject tileMap, List <TileData> hull, List <TileData> floor, TileData shipCore, List <TileData> other)
        {
            bool deadCrewEndGame = true;

            try
            {
                if (managerOptions != null)
                {
                    deadCrewEndGame = managerOptions.deadCrewEndGame;
                    managerOptions.deadCrewEndGame = false;
                }
            }
            catch (Exception ex)
            {
                this.DisplayError(ex);
                _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                _IsImporting = false;
                yield break;
            }
            yield return(new WaitForSeconds(0.01f));

            Structures structures   = null;
            int        cargoGold    = 0;
            int        cargoMetal   = 0;
            int        cargoSilicon = 0;
            int        cargoWater   = 0;
            int        cargoFood    = 0;
            int        cargoCredits = 0;

            try
            {
                structures = tileMap.GetComponent <Structures>();

                cargoGold    = structures.structure[0].reservesGold;
                cargoMetal   = structures.structure[0].reservesMetal;
                cargoSilicon = structures.structure[0].reservesSilicon;
                cargoWater   = structures.structure[0].reservesWater;
                cargoFood    = structures.structure[0].reservesFood;
                cargoCredits = structures.structure[0].credits;

                List <Vector2> tilesToRemove = new List <Vector2>();

                for (int x = shipTiles.tiles.GetLowerBound(0); x <= shipTiles.tiles.GetUpperBound(0); x++)
                {
                    for (int y = shipTiles.tiles.GetLowerBound(1); y <= shipTiles.tiles.GetUpperBound(1); y++)
                    {
                        if (String.IsNullOrEmpty(shipTiles.tiles[x, y].toBecome) && String.IsNullOrEmpty(shipTiles.tiles[x, y].tileType) && String.IsNullOrEmpty(shipTiles.tiles[x, y].structureType))
                        {
                            continue;
                        }

                        tilesToRemove.Add(new Vector2(x, y));
                    }
                }

                TileHelper.RemoveTiles(tilesToRemove);
            }
            catch (Exception ex)
            {
                this.DisplayError(ex);
                _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                _IsImporting = false;
                yield break;
            }

            yield return(new WaitForSeconds(0.01f));


            if (hull.Count > 0)
            {
                try
                {
                    TileHelper.BuildTiles(hull);
                }
                catch (Exception ex)
                {
                    this.DisplayError(ex);
                    _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                    _IsImporting = false;
                    yield break;
                }
                yield return(new WaitForSeconds(0.01f));
            }

            if (floor.Count > 0)
            {
                try
                {
                    TileHelper.BuildTiles(floor);
                }
                catch (Exception ex)
                {
                    this.DisplayError(ex);
                    _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                    _IsImporting = false;
                    yield break;
                }
                yield return(new WaitForSeconds(0.01f));
            }

            if (shipCore != null)
            {
                try
                {
                    TileHelper.BuildTiles(shipCore);
                }
                catch (Exception ex)
                {
                    this.DisplayError(ex);
                    _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                    _IsImporting = false;
                    yield break;
                }
                yield return(new WaitForSeconds(0.01f));
            }

            if (other.Count > 0)
            {
                try
                {
                    TileHelper.BuildTiles(other);
                }
                catch (Exception ex)
                {
                    this.DisplayError(ex);
                    _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                    _IsImporting = false;
                    yield break;
                }
                yield return(new WaitForSeconds(0.01f));
            }

            try
            {
                shipTiles.updateTileColors();
                shipTiles.updateTileMesh("All");

                Crew crew = tileMap.GetComponent <Crew>();
                foreach (GameObject crewMember in crew.crewList)
                {
                    crewMember.transform.position = new Vector3(shipCore.X, crewMember.transform.position.y, shipCore.Y);
                }
            }
            catch (Exception ex)
            {
                this.DisplayError(ex);
                _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                _IsImporting = false;
                yield break;
            }
            yield return(new WaitForSeconds(0.01f));

            try
            {
                if (managerOptions != null)
                {
                    managerOptions.deadCrewEndGame = deadCrewEndGame;
                }

                ManagerResources managerResources = _Manager.GetComponent <ManagerResources>();

                structures.structure[0].reservesGold    = 0;
                structures.structure[0].reservesMetal   = 0;
                structures.structure[0].reservesSilicon = 0;
                structures.structure[0].reservesWater   = 0;
                structures.structure[0].reservesFood    = 0;
                structures.structure[0].credits         = 0;
                structures.structure[0].cargoCurrent    = 0;


                managerResources.updateResourceReserves("Gold", cargoGold, tileMap, "");
                managerResources.updateResourceReserves("Metal", cargoMetal, tileMap, "");
                managerResources.updateResourceReserves("Silicon", cargoSilicon, tileMap, "");
                managerResources.updateResourceReserves("Water", cargoWater, tileMap, "");
                managerResources.updateResourceReserves("Food", cargoFood, tileMap, "");
                managerResources.updateCredits(cargoCredits, false);
            }
            catch (Exception ex)
            {
                this.DisplayError(ex);
                _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
                _IsImporting = false;
                yield break;
            }
            yield return(new WaitForSeconds(0.01f));

            _Manager.GetComponent <ManagerMenu>().toggleMainMenu();
            _IsImporting = false;
        }
Example #50
0
    // check if the crew member is going to run into a wall
    public bool checkCrewHeadingOk(Crew crewMember, Vector2 newPosition)
    {
        bool headingOk = true;

        if (crewMember.direction == VectorDirection.Up){
            // check top walls and horizontal walls
            int maxY; // max height the crew member can travel in this spot
            if (crewMember.x >= 16*64){
                maxY = (8 * 64) - 32;
            } else {
                maxY = 9 * 64;
            }
            if (newPosition.y >= maxY || isCrewGoingToIntersectWall(crewMember, newPosition)){
                headingOk = false;

                if (RXRandom.Range(0,2) == 1){
                    crewMember.ChangeDirection(VectorDirection.Right);
                } else {
                    crewMember.ChangeDirection(VectorDirection.Left);
                }
            }
        } else if (crewMember.direction == VectorDirection.Down){
            // check bottom walls and horizontal walls
            int minY; // min y the crew member can travel in this spot
            if (crewMember.x >= 16*64){
                minY = (2 * 64) + 30;
            } else {
                minY = 64 ;
            }
            if (newPosition.y <= minY || isCrewGoingToIntersectWall(crewMember, newPosition)){
                headingOk = false;

                if (RXRandom.Range(0,2) == 1){
                    crewMember.ChangeDirection(VectorDirection.Right);
                } else {
                    crewMember.ChangeDirection(VectorDirection.Left);
                }
            }
        } else if (crewMember.direction == VectorDirection.Left){
            // check bottom walls and horizontal walls
            int minX; // min x the crew member can travel in this spot
            minX = (3 * 64) + 32;

            if (newPosition.x <= minX || isCrewGoingToIntersectWall(crewMember, newPosition)){
                headingOk = false;

                if (RXRandom.Range(0,2) == 1){
                    crewMember.ChangeDirection(VectorDirection.Up);
                } else {
                    crewMember.ChangeDirection(VectorDirection.Down);
                }
            }
        } else if (crewMember.direction == VectorDirection.Right){
            // check bottom walls and horizontal walls
            int maxX; // max x the crew member can travel in this spot
            if (crewMember.y >= (2*64) + 32 && crewMember.y <= (8*64) - 32){
                maxX = (19 * 64) - 32;
            } else {
                maxX = 16 * 64 - 32;
            }
            if (newPosition.x >= maxX  || isCrewGoingToIntersectWall(crewMember, newPosition)){
                headingOk = false;

                if (RXRandom.Range(0,2) == 1){
                    crewMember.ChangeDirection(VectorDirection.Up);
                } else {
                    crewMember.ChangeDirection(VectorDirection.Down);
                }
            }
        }

        return headingOk;
    }
Example #51
0
 public IActionResult Result(Crew crew)
 {
     return(View(crew));
 }
Example #52
0
 public override void Start()
 {
     base.Start ();
     ActorCrew = (Crew)Actor.GetComponent<Crew>();
     endPosition = new Vector3(Destination.x, Destination.y, Actor.transform.position.z);
 }
Example #53
0
 private Color CrewToColor(Crew crew) => Crew.ColorMapping[crew.Color];
Example #54
0
    private bool isCrewGoingToIntersectWall(Crew crewMember,  Vector2 newPosition)
    {
        bool willIntersectWall = false;

        float crewXMin = newPosition.x - (crewMember.width / 2);
        float crewXMax = newPosition.x + (crewMember.width / 2);
        float crewYMin = newPosition.y - (crewMember.height / 2);
        float crewYMax = newPosition.y + (crewMember.height / 2);

        if (crewXMax > 16 * 64){ // check spawning location walls
            // vertical
            int wallX = 16 * 64;

            if (crewXMin < wallX && crewXMax > wallX){
                willIntersectWall = true;
            }

            // horizontal
            int wallY = 5 * 64;

            if (crewYMin < wallY && crewYMax > wallY){
                willIntersectWall = true;
            }
        } else { // check all other walls
            // check verticals
            int[] vertWallPositions = new int[3];
            vertWallPositions[0] = 7 * 64;
            vertWallPositions[1] = 12 * 64;
            vertWallPositions[2] = 16 * 64;

            for (int i = 0; i < 3; i++){
                if (crewXMin < vertWallPositions[i] && crewXMax > vertWallPositions[i]){
                    willIntersectWall = true;
                    break;
                }
            }

            // check horizontals
            int[] horzWallPositions = new int[2];
            horzWallPositions[0] = 3 * 64;
            horzWallPositions[1] = 7 * 64;

            for (int i = 0; i < 2; i++){
                if (crewYMin < horzWallPositions[i] && crewYMax > horzWallPositions[i]){
                    willIntersectWall = true;
                    break;
                }
            }
        }

        return willIntersectWall;
    }