Beispiel #1
0
        public void Initialize(SuperMetroidModel model, Room room, RoomNode node)
        {
            // Eliminate disabled strats
            Strats = Strats.WhereEnabled(model);

            foreach (Strat strat in Strats)
            {
                strat.Initialize(model, room);
            }

            Node = node;
        }
Beispiel #2
0
        public void Initialize(SuperMetroidModel model, Room room, RoomNode node)
        {
            // Initialize Node
            Node = room.Nodes[NodeId];

            // Eliminate disabled strats
            Strats = Strats.WhereEnabled(model);

            // Initialize Strats
            foreach (Strat strat in Strats)
            {
                strat.Initialize(model, room);
            }
        }
Beispiel #3
0
        public void Initialize(SuperMetroidModel model, Room room, RoomNode node)
        {
            Node = node;

            model.Locks.Add(Name, this);

            // Eliminate disabled unlock strats
            UnlockStrats = UnlockStrats.WhereEnabled(model);

            foreach (Strat strat in UnlockStrats)
            {
                strat.Initialize(model, room);
            }

            // Eliminate disabled bypass strats
            BypassStrats = BypassStrats.WhereEnabled(model);
            foreach (Strat strat in BypassStrats)
            {
                strat.Initialize(model, room);
            }
        }
Beispiel #4
0
        public IEnumerable <string> InitializeReferencedLogicalElementProperties(SuperMetroidModel model, Room room, RoomNode node)
        {
            List <string> unhandled = new List <string>();

            foreach (Strat strat in Strats)
            {
                unhandled.AddRange(strat.InitializeReferencedLogicalElementProperties(model, room));
            }

            return(unhandled.Distinct());
        }