Exemplo n.º 1
0
        public void Boot()
        {
            // Used for testing.
            RegisterCommand("respawn", new Action <int, List <object>, string>((source, args, raw) =>
            {
                BaseScript.TriggerEvent("playerSpawned");
            }), true);

            GetInstance().RegisterEventHandler("playerSpawned", new Action(OnPlayerSpawned));
            GetInstance().RegisterEventHandler("jrp:initClient", new Action(OnInitClient));
            GetInstance().RegisterEventHandler("jrp:createNewCharacter", new Action(OnCreateNewCharacter));

            Appereance = new Appereance();
        }
Exemplo n.º 2
0
        public async Task <IActionResult> OnPostAddActorAsync(int?id, int?actorToAddID)
        {
            Movie movieToUpdate = await _context.Movies
                                  .Include(a => a.Appeareances)
                                  .ThenInclude(a => a.Actor)
                                  .FirstOrDefaultAsync(m => m.ID == Movie.ID);

            await TryUpdateModelAsync <Movie>(movieToUpdate);


            if (actorToAddID != null)
            {
                Actor actorToAdd = await _context.Actors.Where(a => a.ID == actorToAddID).FirstOrDefaultAsync();

                if (actorToAdd != null)
                {
                    var appereanceToAdd = new Appereance()
                    {
                        ActorID = actorToAddID.Value,
                        Actor   = actorToAdd,
                        MovieID = movieToUpdate.ID,
                        Movie   = movieToUpdate
                    };
                    movieToUpdate.Appeareances.Add(appereanceToAdd);
                }
            }

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MovieExists(Movie.ID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Redirect(Request.Path + $"?id={id}"));
        }
Exemplo n.º 3
0
        public void Run()
        {
            // Flyweight
            // Obecny kod za każdym razem ładuje/tworzy obiekt typu Appereance.
            // Jest to bardzo czasochłonne, jedna inicjalizacja trwa aż 1 sekundę.
            // Przy 100 obiektach to prawie 2 minuty, a przy milionie...
            // Proszę przerobić poniższy kod, aby wykorzystał wzorzec Pyłek
            // Utworzyć należy klasy Flyweight oraz FlyweightFactory.
            // Factory ma za zadanie zwrócić obiekt, jeśli był wcześniej skonstruowany.
            // Jeśli nie utworzyć nowy i przechować.
            // Zakładajac, że mamy 3 kolory i 3 rozmiary na konsoli nie powinno wypisaź się więcej niż 9 razy: Loading asset - it takes 1 second
            // W tym zadaniu MOŻNA i NALEŻY modyfikować niektore klasy, jak i wnętrze funkcji Run()
            //
            // Na e.wsei wrzucamy dwie klasy Flyweight oraz FlyweightFactory

            for (int i = 0; i < 100; i++)
            {
                Color randomColor = RandomEnumValue <Color>();
                Size  randomSize  = RandomEnumValue <Size>();

                Appereance appereance = new Appereance(randomColor, randomSize);
                new ChristmasTreeBall(new Random().Next(1000), new Random().Next(1000), appereance).Display();
            }
        }
Exemplo n.º 4
0
 public ChristmasTreeBall(int x, int y, Appereance appereance)
 {
     this.x          = x;
     this.y          = y;
     this.appereance = appereance;
 }