コード例 #1
0
        /// <summary>
        /// Serializes the <see cref="ScenarioNavOrigin"/> to the data node
        /// </summary>
        /// <param name="data"><see cref="JSONNode"/> where the data will be serialized</param>
        /// <param name="scenarioNavOrigin"><see cref="ScenarioNavOrigin"/> that will be serialized</param>
        private void SerializeNavOrigin(JSONNode data, ScenarioNavOrigin scenarioNavOrigin)
        {
            var navOriginNode = new JSONObject();

            data.Add(navOriginNode);
            var transformNode = new JSONObject();

            navOriginNode.Add("transform", transformNode);
            var position = new JSONObject().WriteVector3(scenarioNavOrigin.TransformToMove.position);

            transformNode.Add("position", position);
            var rotation = new JSONObject().WriteVector3(scenarioNavOrigin.TransformToRotate.rotation.eulerAngles);

            transformNode.Add("rotation", rotation);

            var parametersNode = new JSONObject();

            navOriginNode.Add("parameters", parametersNode);
            var originX = new JSONNumber(scenarioNavOrigin.NavOrigin.OriginX);

            parametersNode.Add("originX", originX);
            var originY = new JSONNumber(scenarioNavOrigin.NavOrigin.OriginY);

            parametersNode.Add("originY", originY);
            var rotationParameter = new JSONNumber(scenarioNavOrigin.NavOrigin.Rotation);

            parametersNode.Add("rotation", rotationParameter);
        }
コード例 #2
0
 /// <summary>
 /// Registers the <see cref="ScenarioNavOrigin"/> in the extension, for example for the serialization
 /// </summary>
 /// <param name="navOrigin"><see cref="ScenarioNavOrigin"/> that will be registered</param>
 public void RegisterNavOrigin(ScenarioNavOrigin navOrigin)
 {
     if (!navOrigins.Contains(navOrigin))
     {
         if (navOrigins.Count > 0)
         {
             ScenarioManager.Instance.logPanel.EnqueueWarning($"Scenario editor supports only one {nameof(NavOrigin)}.");
             navOrigin.RemoveFromMap();
             navOrigin.Dispose();
         }
         else
         {
             navOrigins.Add(navOrigin);
         }
     }
 }
コード例 #3
0
        /// <summary>
        /// Method called when another scenario element has been selected
        /// </summary>
        /// <param name="previousElement">Scenario element that has been deselected</param>
        /// <param name="selectedElement">Scenario element that has been selected</param>
        private void OnSelectedOtherElement(ScenarioElement previousElement, ScenarioElement selectedElement)
        {
            //Detach from current agent events
            if (selectedNavOrigin != null)
            {
            }

            selectedNavOrigin = selectedElement as ScenarioNavOrigin;
            //Attach to selected <see cref="ScenarioNavOrigin"/>
            if (selectedNavOrigin != null)
            {
                Show();
            }
            else
            {
                Hide();
            }
        }
コード例 #4
0
 /// <summary>
 /// Unregisters the <see cref="ScenarioNavOrigin"/> from the extension
 /// </summary>
 /// <param name="navOrigin"><see cref="ScenarioNavOrigin"/> that will be unregistered</param>
 public void UnregisterNavOrigin(ScenarioNavOrigin navOrigin)
 {
     navOrigins.Remove(navOrigin);
 }