示例#1
0
        private void OnGrabInit()
        {
            _saveTransform = GameObject.transform.ToTransformDT();

            _onInitTransform = ObjectController.gameObject.transform.ToTransformDT();

            if (ObjectController != null)
            {
                _saveJointData = ObjectController.GetJointData();
            }
        }
示例#2
0
        private void OnUngrabInit()
        {
            TransformDT newTransform = GameObject.transform.ToTransformDT();

            new ModifyCommand(ObjectController,
                              GameObject,
                              newTransform,
                              _saveTransform,
                              _saveJointData);
            ProjectData.ObjectsAreChanged = true;
        }
示例#3
0
 /// <summary>
 /// Modify object command
 /// </summary>
 /// <param name="objectController">Controller</param>
 /// <param name="gameObject">Modifided gameObject</param>
 /// <param name="newTransform">New RootGameObject transform</param>
 /// <param name="saveTransform">Saved transform to redo action</param>
 /// <param name="jointData">Saved joints</param>
 public ModifyCommand(ObjectController objectController, GameObject gameObject, TransformDT newTransform = null, TransformDT saveTransform = null, JointData jointData = null, Action <ObjectController> callback = null)
 {
     //ToDo сохратять так же ObjectId
     _saveTransformDt  = saveTransform;
     _newTransformDt   = newTransform;
     _gameObject       = gameObject;
     _objectController = objectController;
     _saveJointData    = jointData;
     _callback         = callback;
     SaveObject(objectController);
     CommandsManager.AddCommand(this);
 }
示例#4
0
 private void Awake()
 {
     Instance = this;
     Loader.StopLoaderAnimation();
     ObjectLoader.StopLoaderAnimation();
     ModeButton.SetActive(false);
     _savedTransform  = BrowserWindow.transform.ToLocalTransformDT();
     ModeButtonOffset = new GameObject();
     ModeButtonOffset.transform.SetParent(transform.parent);
     ModeButtonOffset.transform.localRotation = Quaternion.identity;
     ModeButtonOffset.transform.localPosition = new Vector3(0f, 0.29f, 0.433f);
 }
示例#5
0
        public TransformDto GetTransform()
        {
            if (_gameObject.GetComponent <ObjectId>() == null)
            {
                return(null);
            }

            int         id        = _gameObject.GetComponent <ObjectId>().Id;
            TransformDT transform = _gameObject.transform.ToTransformDT();

            return(new TransformDto {
                Id = id, Transform = transform
            });
        }
        public TransformDto GetTransform()
        {
            var objectId = gameObject.GetComponent <ObjectId>();

            if (objectId == null)
            {
                return(null);
            }

            TransformDT transformDt = gameObject.transform.ToTransformDT();

            return(new TransformDto
            {
                Id = objectId.Id,
                Transform = transformDt
            });
        }
示例#7
0
        /// <summary>
        /// Spawn object in position
        /// </summary>
        /// <param name="objectId">Object Id</param>
        /// <param name="position">Object's spawn position</param>
        public void SpawnObject(int objectId, Vector3 position)
        {
            if (objectId == 0)
            {
                return;
            }

            ProjectData.ObjectsAreChanged = true;

            var transforms    = new Dictionary <int, TransformDT>();
            var prefabGo      = GameStateData.GetPrefabGameObject(objectId);
            var rootId        = prefabGo.GetComponent <ObjectId>().Id;
            var rootTransform = new TransformDT()
            {
                PositionDT = new Vector3DT(position),
                RotationDT = new QuaternionDT(Quaternion.identity),
                ScaleDT    = new Vector3DT(Vector3.one)
            };

            transforms.Add(rootId, rootTransform);

            var spawnParams = new SpawnInitParams()
            {
                IdObject   = objectId,
                IdLocation = ProjectData.SceneId,
                Transforms = transforms
            };

            if (ParentManager.Instance != null && ParentManager.Instance.ParentCommand == ParentCommand.SetNew)
            {
                spawnParams.ParentId = ParentManager.Instance.GetSelectedParent().Id;
            }

            ICommand command = new SpawnCommand(spawnParams);

            command.Execute();
        }
示例#8
0
        private void OnGrabInit()
        {
            _saveTransform = _gameObject.transform.ToTransformDT();

            _onInitTransform = _objectController.gameObject.transform.ToTransformDT();
        }
示例#9
0
        private void OnUngrabInit()
        {
            TransformDT newTransform = _gameObject.transform.ToTransformDT();

            WorldData.ObjectsAreChanged = true;
        }