File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ using System . Collections . Generic ;
2+ using LevelImposter . Core ;
3+ using LevelImposter . Lobby ;
4+ using UnityEngine ;
5+
6+ namespace LevelImposter . Builders ;
7+
8+ public class LobbySpawnBuilder : IElemBuilder
9+ {
10+ public void OnPreBuild ( )
11+ {
12+ }
13+
14+ public void OnBuild ( LIElement elem , GameObject obj )
15+ {
16+ if ( elem . type != "util-lobbyspawn" )
17+ return ;
18+
19+ var lobbyBehaviour = LILobbyBehaviour . GetLobbyBehaviour ( ) ;
20+ lobbyBehaviour . SpawnPositions = MapUtils . AddToArr ( lobbyBehaviour . SpawnPositions , obj . transform . position ) ;
21+ }
22+
23+ public void OnPostBuild ( )
24+ {
25+ // Check if no spawn positions were added
26+ var lobbyBehaviour = LILobbyBehaviour . GetLobbyBehaviour ( ) ;
27+ if ( lobbyBehaviour . SpawnPositions . Length == 0 )
28+ lobbyBehaviour . SpawnPositions = new [ ] { Vector2 . zero } ;
29+
30+ // Replay the spawn animations for all players
31+ foreach ( var playerControl in PlayerControl . AllPlayerControls )
32+ playerControl . StartCoroutine (
33+ playerControl . MyPhysics . CoSpawnPlayer ( lobbyBehaviour ) ) ;
34+ }
35+ }
Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ public static class LobbyMapBuilder
3131 new LobbyOptionsConsoleBuilder ( ) ,
3232 new LobbyWardrobeConsoleBuilder ( ) ,
3333 new LobbyMapConsoleBuilder ( ) ,
34+ new LobbySpawnBuilder ( ) ,
3435
3536 new TriggerAnimBuilder ( ) ,
3637 new TriggerAreaBuilder ( ) ,
@@ -67,8 +68,7 @@ private static void ResetMap()
6768
6869 // Reset LobbyBehaviour Properties
6970 lobbyBehaviour . AllRooms = new Il2CppReferenceArray < SkeldShipRoom > ( 0 ) ;
70- lobbyBehaviour . SpawnPositions = new Il2CppStructArray < Vector2 > ( 1 ) ;
71- lobbyBehaviour . SpawnPositions [ 0 ] = new Vector2 ( 0 , 0 ) ;
71+ lobbyBehaviour . SpawnPositions = new Il2CppStructArray < Vector2 > ( 0 ) ;
7272 lobbyBehaviour . GetComponent < Collider2D > ( ) . enabled = false ;
7373 lobbyBehaviour . DropShipSound = null ;
7474 lobbyBehaviour . MapTheme = null ;
You can’t perform that action at this time.
0 commit comments