예제 #1
0
    //Find requiered Data
    private void Awake()
    {
        playerNum = GetComponent <PlayerId>().GetId();
        player    = FindObjectOfType <PlayerStats>();
        loader    = FindObjectOfType <SceneLoader>();

        gameObjectDestroyer += OnLoadingNewScene;
        loader.OnFinishScene.AddListener(gameObjectDestroyer);

        PlayerObject = gameObject.transform.GetChild(0).gameObject;
        if (loader.myCurrentData.thisScenePlayerMovement != null)
        {
            playerMovement = ScriptableObject.CreateInstance(loader.myCurrentData.thisScenePlayerMovement.GetType()) as IPlayerMovement;
            playerMovement.OnAwake(PlayerObject);
        }
        if (loader.myCurrentData.thisScnenePlayerInteractions != null)
        {
            playerInteractions = ScriptableObject.CreateInstance(loader.myCurrentData.thisScnenePlayerInteractions.GetType()) as IPlayerInteractions;
            if (loader.myCurrentData.thisScnenePlayerInteractions.sensor != null)
            {
                playerInteractions.sensor = ScriptableObject.CreateInstance(loader.myCurrentData.thisScnenePlayerInteractions.sensor.GetType()) as ISensor;
            }
        }



        //playerMovement = loader.myCurrentData.thisScenePlayerMovement;
        //playerInteractions = loader.myCurrentData.thisScnenePlayerInteractions;
    }