public void RebuildMovables(SceneContentData currentSceneContentData, CurrentSceneManager currentSceneManager)
    {
        foreach (SceneContentData.MovableData movableData in currentSceneContentData.movablesData)
        {
            foreach (Movable movable in currentSceneManager.GetMovableObjects())
            {
                if (Helper.GetObjectLocalIdInFile(movable) == movableData.localIdInFile)
                {
                    PrepareDataForEntity(movable, delegate()
                    {
                        movable.moveSpeed = movableData.moveSpeed;
                        movable.IsMoving  = movableData.IsMoving;
                        movable.AreMovementsRestrained = movableData.AreMovementsRestrained;
                        movable.IsImmobilized          = movableData.IsImmobilized;
                        movable.IsInCinematicMode      = movableData.IsInCinematicMode;

                        movable.LastMove = new Vector3
                                               (movableData.LastMove[0],
                                               movableData.LastMove[1],
                                               movableData.LastMove[2]
                                               );

                        movable.MoveInput = new Vector3
                                                (movableData.MoveInput[0],
                                                movableData.MoveInput[1],
                                                movableData.MoveInput[2]
                                                );
                    });
                }
            }
        }
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        DoubleJumped = false;

        // Respawn Settings
        DataManager.Instance.RespawnSettings(DataManager.Instance.startOptions);
        // Respawn Settings Ends

        shield         = transform.GetChild(0).gameObject.GetComponent <SpriteRenderer>();
        shield.enabled = false;

        isFacingRight = true;


        rightBullet = Resources.Load <GameObject>("Prefabs/RightBullet");
        leftBullet  = Resources.Load <GameObject>("Prefabs/LeftBullet");

        if (true)
        {
            canPlaceHiraijin = true;
        }

        CurrentSceneManager csm = GameObject.Find("CurrentSceneManager").gameObject.GetComponent <CurrentSceneManager>();

        canShoot    = csm.canShoot;
        canHiraijin = csm.canHiraijin;
    }
 private void Awake()
 {
     if (instance != null)
     {
         Debug.LogError("Double instance CurrentSceneManager");
         return;
     }
     instance = this;
 }
Beispiel #4
0
 private void Awake()
 {
     if (instance != null)
     {
         Debug.LogWarning("Il y a plus d'un CurrentSceneManager");
         return;
     }
     instance = this;
 }
 private void Awake()
 {
     if (instance != null)
     {
         Debug.LogWarning("il y a plus d'une instance de CurrentSceneManager");
         return;
     }
     instance     = this;
     respawnPoint = GameObject.FindGameObjectWithTag("Player").transform.position;
 }
    public override void RebuildFromData(ObjectData objectData)
    {
        SceneContentData    currentSceneContentData = (SceneContentData)objectData;
        CurrentSceneManager currentSceneManager     = (CurrentSceneManager)entityManager;

        CallAfterSceneLoaded(delegate()
        {
            RebuildTransformSaveHolders(currentSceneContentData, currentSceneManager);
            RebuildMovables(currentSceneContentData, currentSceneManager);
            RebuildEnnemies(currentSceneContentData, currentSceneManager);
        });
    }
Beispiel #7
0
    private void Awake()
    {
        if (instance)
        {
            Debug.LogWarning("Déjà un CurrentSceneManager");
            return;
        }

        instance = this;

        respawnPoint = GameObject.FindGameObjectWithTag("Player").transform.position;
    }
Beispiel #8
0
    private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        currentSceneName = scene.name;

        // Debug.Log("씬 교체됨, 현재 씬: " + scene.name);

        CurrentSceneManager currentSceneManager = GameObject.FindWithTag("SCENE_MANAGER").GetComponent <CurrentSceneManager>();

        // 플레이어 위치를 포탈 위치로 옮김
        GameManager.instance.playerManager.transform.position = currentSceneManager.PortalList[portalNumber].position;

        // NPC들에게 퀘스트 진행 세팅
        GameManager.instance.playerManager.SetQuestToAllNPC();

        // 씬 전환 효과
        GameUiManager.instance.ShowFadeIn();
    }
        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++;
            }
        }
 public void RebuildEnnemies(SceneContentData currentSceneContentData, CurrentSceneManager currentSceneManager)
 {
     foreach (SceneContentData.EnnemyData ennemyData in currentSceneContentData.ennemiesData)
     {
         foreach (EnnemyController ennemyController in currentSceneManager.GetEnnemies())
         {
             if (Helper.GetObjectLocalIdInFile(ennemyController) == ennemyData.localIdInFile)
             {
                 PrepareDataForEntity(ennemyController, delegate()
                 {
                     ennemyController.averageMoveTime         = ennemyData.averageMoveTime;
                     ennemyController.betweenMovesAverageTime = ennemyData.betweenMovesAverageTime;
                     ennemyController.TimeBetweenMovesCounter = ennemyData.TimeBetweenMovesCounter;
                     ennemyController.MoveTimeCounter         = ennemyData.MoveTimeCounter;
                 });
             }
         }
     }
 }
 public void RebuildAutoMovings(SceneContentData currentSceneContentData, CurrentSceneManager currentSceneManager)
 {
     foreach (SceneContentData.AutoMovingData autoMovingData in currentSceneContentData.autoMovingsData)
     {
         foreach (AutoMoving autoMoving in currentSceneManager.GetMovableObjects())
         {
             if (Helper.GetObjectLocalIdInFile(autoMoving) == autoMovingData.localIdInFile)
             {
                 PrepareDataForEntity(autoMoving, delegate()
                 {
                     autoMoving.averageMoveTime              = autoMovingData.averageMoveTime;
                     autoMoving.averageMoveTimeDelta         = autoMovingData.averageMoveTimeDelta;
                     autoMoving.betweenMovesAverageTimeDelta = autoMovingData.betweenMovesAverageTimeDelta;
                     autoMoving.moveDirectionType            = (AutoMoving.AutomoveDirectionType)autoMovingData.moveDirectionType;
                     autoMoving.TimeBetweenMovesCounter      = autoMovingData.TimeBetweenMovesCounter;
                     autoMoving.MoveTimeCounter              = autoMovingData.MoveTimeCounter;
                     autoMoving.CanMove = autoMovingData.CanMove;
                 });
             }
         }
     }
 }
 // Use this for initialization
 void Start()
 {
     mainPlayer          = FindObjectOfType <PlayerController>();
     currentSceneManager = FindObjectOfType <CurrentSceneManager>();
 }
    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);
                    });
                }
            }
        }
    }