public void RebuildTransformSaveHolders(SceneContentData currentSceneContentData, CurrentSceneManager currentSceneManager)
    {
        foreach (SceneContentData.TransformSaveHolderData transformSaveHolderData in currentSceneContentData.transformSaveHoldersData)
        {
            foreach (MonoBehaviour transformSaveHolder in currentSceneManager.GetTransformSaveHolders())
            {
                if (Helper.GetObjectLocalIdInFile(transformSaveHolder) == transformSaveHolderData.localIdInFile)
                {
                    PrepareDataForEntity(transformSaveHolder, delegate()
                    {
                        transformSaveHolder.transform.position = new Vector2(
                            transformSaveHolderData.position[0],
                            transformSaveHolderData.position[1]
                            );

                        transformSaveHolder.transform.rotation = new Quaternion(
                            transformSaveHolderData.rotation[0],
                            transformSaveHolderData.rotation[1],
                            transformSaveHolderData.rotation[2],
                            transformSaveHolderData.rotation[3]
                            );

                        transformSaveHolder.gameObject.SetActive(transformSaveHolderData.isActive);
                    });
                }
            }
        }
    }
        public SceneContentData(CurrentSceneManager currentSceneManager)
        {
            List <MonoBehaviour> transformSaveHolders = currentSceneManager.GetTransformSaveHolders();

            transformSaveHoldersData = new TransformSaveHolderData[transformSaveHolders.Count];
            int i = 0;

            foreach (MonoBehaviour transformSaveHolder in transformSaveHolders)
            {
                transformSaveHoldersData[i] = new TransformSaveHolderData(transformSaveHolder);
                i++;
            }

            Movable[] movables = currentSceneManager.GetMovableObjects();
            movablesData = new MovableData[movables.Length];
            i            = 0;

            foreach (Movable movable in movables)
            {
                movablesData[i] = new MovableData(movable);
                i++;
            }

            AutoMoving[] autoMovings = currentSceneManager.GetAutoMovingObjects();
            autoMovingsData = new AutoMovingData[autoMovings.Length];
            i = 0;

            foreach (AutoMoving autoMoving in autoMovings)
            {
                autoMovingsData[i] = new AutoMovingData(autoMoving);
                i++;
            }

            EnnemyController[] ennemies = currentSceneManager.GetEnnemies();
            ennemiesData = new EnnemyData[ennemies.Length];
            i            = 0;

            foreach (EnnemyController movable in ennemies)
            {
                ennemiesData[i] = new EnnemyData(movable);
                i++;
            }
        }