Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExampleBuildSystemProvider : IBuildSystemProvider
- {
- private IRoomFactoryProvider m_roomFactoryProvider;
- private IGridManagerProvider m_gridManagerProvider;
- private ISelectorManagerPovider m_selectorManagerProvider;
- public ExampleBuildSystemProvider(IGridManagerProvider gridManagerProvider,IRoomFactoryProvider roomFactoryProvider, ISelectorManagerProvider selectorManagerProvider)
- {
- m_gridManagerProvider = gridManagerProvider;
- m_roomFactoryProvider = roomFactoryProvider;
- m_selectorManagerProvider = selectorManagerProvider;
- }
- public void BuildRoom(RoomData roomData)
- {
- m_roomFactoryProvider.BuildRoom(RoomData); // Instanting and initializing new room
- m_gridManagerProvider.RegisterAtGrid(roomData.ID);
- m_selectorManagerProvider.Hide(); // Hide build position selectors
- }
- public void RemoveRoom(RoomData roomData)
- {
- m_gridManagerProvider.DeregisterFromGrid(RoomData.ID); //Deregister room from grid, make this tile empty
- m_roomFactoryProvider.RemoveRoom(RoomData); //Delete room from scene, clear room data
- m_selectorManagerProvider.Hide();
- }
- public void ReplaceRoom(RoomData roomData)
- {
- m_gridManagerProvider.DeregisterFromGrid(RoomData.ID);
- m_roomFactoryProvider.ReplaceRoom(RoomData);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement