//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; }