BeardedManStudios.Network.NetworkingManager.Populate C# (CSharp) Method

Populate() public method

This method is used to do all of the initial setup of objects
public Populate ( BeardedManStudios.Network.NetWorker socket ) : bool
socket BeardedManStudios.Network.NetWorker
return bool
		public bool Populate(NetWorker socket)
		{
			List<SimpleNetworkedMonoBehavior> allBehaviors = new List<SimpleNetworkedMonoBehavior>(startNetworkedSceneBehaviors);
			// Find all objects in the scene that have SNMB
			SimpleNetworkedMonoBehavior[] behaviors = FindObjectsOfType<SimpleNetworkedMonoBehavior>();

			foreach (SimpleNetworkedMonoBehavior behavior in behaviors)
			{
				if (!allBehaviors.Contains(behavior))
					allBehaviors.Add(behavior);
			}

			if (Networking.Sockets == null)
			{
				Debug.LogWarning("No connection has been established for this network scene, preparing offline play...");
				IsSetup = true;

				foreach (Action execute in setupActions)
					execute();

				return false;
			}

			ControllingSocket = socket;
			OwningNetWorker = ControllingSocket;

			if (!OwningNetWorker.Connected)
			{
				NetWorker.BasicEvent handler = null;

				handler = () =>
				{
					SetupObjects(allBehaviors.ToArray(), OwningNetWorker);

					foreach (Action execute in setupActions)
						execute();

					OwningNetWorker.connected -= handler;
				};

				OwningNetWorker.connected += handler;
			}
			else
			{
				SetupObjects(allBehaviors.ToArray(), OwningNetWorker);

				foreach (Action execute in setupActions)
					execute();
			}

			OwningNetWorker.AddCustomDataReadEvent(WriteCustomMapping.NETWORKING_MANAGER_POLL_PLAYERS, PollPlayersResponse, true);

			return true;
		}