public StepStatesData(StepStatesManager stepStatesManager) { keys = new long[stepStatesManager.CompletedStepStates.Count]; values = new string[stepStatesManager.CompletedStepStates.Count]; int i = 0; foreach (KeyValuePair <long, string> pair in stepStatesManager.CompletedStepStates) { keys[i] = pair.Key; values[i] = pair.Value; i++; } }
public override void RebuildFromData(ObjectData objectData) { StepStatesData stepStatesData = (StepStatesData)objectData; StepStatesManager stepStatesManager = (StepStatesManager)entityManager; CallAfterSceneLoaded(delegate() { PrepareDataForEntity(stepStatesManager, delegate() { for (int i = 0, c = stepStatesData.keys.Length; i < c; i++) { stepStatesManager.CompletedStepStates[stepStatesData.keys[i]] = stepStatesData.values[i]; // stores the step state value } // useless since the scene is reloaded // stepStatesManager.ReloadAllStepStatesHolderState(); // rechecks all step states in the current scene }); }); }
// Use this for initialization void Start() { stepStateManager = FindObjectOfType <StepStatesManager>(); StepStateSlug = stepState == BasicStepState.none ? orStepStateSlug : stepState.ToString(); LoadStepState(); }