-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathInitialPlayerSync.cs
More file actions
145 lines (142 loc) · 6.24 KB
/
InitialPlayerSync.cs
File metadata and controls
145 lines (142 loc) · 6.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using System;
using System.Collections.Generic;
using System.Linq;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.Unity;
using NitroxModel.DataStructures.Util;
using NitroxModel.MultiplayerSession;
using NitroxModel.Server;
namespace NitroxModel.Packets
{
[Serializable]
public class InitialPlayerSync : Packet
{
public NitroxId AssignedEscapePodId { get; }
public Dictionary<string, NitroxId> EquippedItems { get; }
public List<NitroxTechType> UsedItems { get; }
public Optional<NitroxId>[] QuickSlotsBindingIds { get; }
public NitroxId PlayerGameObjectId { get; }
public bool FirstTimeConnecting { get; }
public InitialPDAData PDAData { get; }
public InitialStoryGoalData StoryGoalData { get; }
public NitroxVector3 PlayerSpawnData { get; }
public NitroxQuaternion PlayerSpawnRotation { get; }
public Optional<NitroxId> PlayerSubRootId { get; }
public PlayerStatsData PlayerStatsData { get; }
public List<PlayerContext> OtherPlayers { get; }
public List<Entity> GlobalRootEntities { get; }
public List<SimulatedEntity> InitialSimulationOwnerships { get; }
public NitroxGameMode GameMode { get; }
public Perms Permissions { get; }
public IntroCinematicMode IntroCinematicMode { get; }
public SubnauticaPlayerPreferences Preferences { get; }
public TimeData TimeData { get; }
public bool IsFirstPlayer { get; }
public Dictionary<NitroxId, int> BuildOperationIds { get; }
public bool KeepInventoryOnDeath { get; }
public bool MarkDeathPointsWithBeacon { get; }
public InitialPlayerSync(NitroxId playerGameObjectId,
bool firstTimeConnecting,
NitroxId assignedEscapePodId,
IDictionary<string, NitroxId> equipment,
IEnumerable<NitroxTechType> usedItems,
Optional<NitroxId>[] quickSlotsBindingIds,
InitialPDAData pdaData,
InitialStoryGoalData storyGoalData,
NitroxVector3 playerSpawnData,
NitroxQuaternion playerSpawnRotation,
Optional<NitroxId> playerSubRootId,
PlayerStatsData playerStatsData,
IEnumerable<PlayerContext> otherPlayers,
IEnumerable<Entity> globalRootEntities,
IEnumerable<SimulatedEntity> initialSimulationOwnerships,
NitroxGameMode gameMode,
Perms perms,
IntroCinematicMode introCinematicMode,
SubnauticaPlayerPreferences preferences,
TimeData timeData,
bool isFirstPlayer,
Dictionary<NitroxId, int> buildOperationIds,
bool keepInventoryOnDeath,
bool markDeathPointsWithBeacon)
{
AssignedEscapePodId = assignedEscapePodId;
PlayerGameObjectId = playerGameObjectId;
FirstTimeConnecting = firstTimeConnecting;
EquippedItems = new(equipment);
UsedItems = usedItems.ToList();
QuickSlotsBindingIds = quickSlotsBindingIds;
PDAData = pdaData;
StoryGoalData = storyGoalData;
PlayerSpawnData = playerSpawnData;
PlayerSpawnRotation = playerSpawnRotation;
PlayerSubRootId = playerSubRootId;
PlayerStatsData = playerStatsData;
OtherPlayers = otherPlayers.ToList();
GlobalRootEntities = globalRootEntities.ToList();
InitialSimulationOwnerships = initialSimulationOwnerships.ToList();
GameMode = gameMode;
Permissions = perms;
IntroCinematicMode = introCinematicMode;
Preferences = preferences;
TimeData = timeData;
IsFirstPlayer = isFirstPlayer;
BuildOperationIds = buildOperationIds;
KeepInventoryOnDeath = keepInventoryOnDeath;
MarkDeathPointsWithBeacon = markDeathPointsWithBeacon;
}
/// <remarks>Used for deserialization</remarks>
public InitialPlayerSync(
NitroxId assignedEscapePodId,
Dictionary<string, NitroxId> equippedItems,
List<NitroxTechType> usedItems,
Optional<NitroxId>[] quickSlotsBindingIds,
NitroxId playerGameObjectId,
bool firstTimeConnecting,
InitialPDAData pdaData,
InitialStoryGoalData storyGoalData,
NitroxVector3 playerSpawnData,
NitroxQuaternion playerSpawnRotation,
Optional<NitroxId> playerSubRootId,
PlayerStatsData playerStatsData,
List<PlayerContext> otherPlayers,
List<Entity> globalRootEntities,
List<SimulatedEntity> initialSimulationOwnerships,
NitroxGameMode gameMode,
Perms permissions,
IntroCinematicMode introCinematicMode,
SubnauticaPlayerPreferences preferences,
TimeData timeData,
bool isFirstPlayer,
Dictionary<NitroxId, int> buildOperationIds,
bool keepInventoryOnDeath,
bool markDeathPointsWithBeacon)
{
AssignedEscapePodId = assignedEscapePodId;
PlayerGameObjectId = playerGameObjectId;
FirstTimeConnecting = firstTimeConnecting;
EquippedItems = equippedItems;
UsedItems = usedItems;
QuickSlotsBindingIds = quickSlotsBindingIds;
PDAData = pdaData;
StoryGoalData = storyGoalData;
PlayerSpawnData = playerSpawnData;
PlayerSpawnRotation = playerSpawnRotation;
PlayerSubRootId = playerSubRootId;
PlayerStatsData = playerStatsData;
OtherPlayers = otherPlayers;
GlobalRootEntities = globalRootEntities;
InitialSimulationOwnerships = initialSimulationOwnerships;
GameMode = gameMode;
Permissions = permissions;
IntroCinematicMode = introCinematicMode;
Preferences = preferences;
TimeData = timeData;
IsFirstPlayer = isFirstPlayer;
BuildOperationIds = buildOperationIds;
KeepInventoryOnDeath = keepInventoryOnDeath;
MarkDeathPointsWithBeacon = markDeathPointsWithBeacon;
}
}
}