コード例 #1
0
        private void OnSceneObjectsAdded(SceneObjectsAddedEventParameters parameters)
        {
            var sceneObjects = parameters.SceneObjects;

            foreach (var sceneObject in sceneObjects)
            {
                AddSceneObject(sceneObject);
            }
        }
コード例 #2
0
        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());
        }
コード例 #3
0
 /// <summary>
 /// When a new game objects added, so send them the last current state.
 /// </summary>
 private void OnSceneObjectsAdded(SceneObjectsAddedEventParameters parameters)
 {
     UpdatePlayerStateOperation();
 }