private void OnSceneObjectsAdded(SceneObjectsAddedEventParameters parameters) { var sceneObjects = parameters.SceneObjects; foreach (var sceneObject in sceneObjects) { AddSceneObject(sceneObject); } }
private void OnSubscribersAdded(IReadOnlyList <ISceneObject> sceneObjects) { var sharedSceneObjects = new SceneObjectParameters[sceneObjects.Count]; for (var i = 0; i < sceneObjects.Count; i++) { sharedSceneObjects[i].Id = sceneObjects[i].Id; sharedSceneObjects[i].Name = sceneObjects[i].Name; var positionTransform = sceneObjects[i].Components.GetComponent <IPositionTransform>().AssertNotNull(); sharedSceneObjects[i].X = positionTransform.Position.X; sharedSceneObjects[i].Y = positionTransform.Position.Y; var directionTransform = sceneObjects[i].Components.GetComponent <IDirectionTransform>().AssertNotNull(); sharedSceneObjects[i].Direction = directionTransform.Direction.GetDirectionsFromDirection(); } var parameters = new SceneObjectsAddedEventParameters(sharedSceneObjects); eventSender.Send((byte)GameEvents.SceneObjectsAdded, parameters, MessageSendOptions.DefaultReliable()); }
/// <summary> /// When a new game objects added, so send them the last current state. /// </summary> private void OnSceneObjectsAdded(SceneObjectsAddedEventParameters parameters) { UpdatePlayerStateOperation(); }