//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; }
public void SetupData() { Debug.Log("SettingData"); playerColors[0] = Color.green; playerColors[1] = Color.red; playerColors[2] = Color.blue; playerColors[3] = Color.magenta; if (levelCompleted == null) { if (Resources.Load <ILevelCompleted>("Alex/WinConditions/Data/" + SceneManager.GetActiveScene().name + "WinCondition") != null) { levelCompleted = Resources.Load <ILevelCompleted>("Alex/WinConditions/Data/" + SceneManager.GetActiveScene().name + "WinCondition"); } else { levelCompleted = null; } } if (thisScenePlayerMovement == null) { if (Resources.Load <IPlayerMovement>("Alex/PlayerMovement/PlayerMovementObjects/" + SceneManager.GetActiveScene().name + "Movement") != null) { thisScenePlayerMovement = Resources.Load <IPlayerMovement>("Alex/PlayerMovement/PlayerMovementObjects/" + SceneManager.GetActiveScene().name + "Movement"); } else { thisScenePlayerMovement = null; } } if (thisScnenePlayerInteractions == null) { if (Resources.Load <IPlayerInteractions>("Alex/InteractionData/InteractionDataObjects/" + SceneManager.GetActiveScene().name + "Interaction") != null) { thisScnenePlayerInteractions = Resources.Load <IPlayerInteractions>("Alex/InteractionData/InteractionDataObjects/" + SceneManager.GetActiveScene().name + "Interaction"); if (Resources.Load <ISensor>("Alex/SensorData/SensorObjects/" + SceneManager.GetActiveScene().name + "Sensor") != null) { thisScnenePlayerInteractions.sensor = Resources.Load <ISensor>("Alex/SensorData/SensorObjects/" + SceneManager.GetActiveScene().name + "Sensor"); } else { thisScnenePlayerInteractions.sensor = null; } } else { thisScnenePlayerInteractions = null; } } }