public static void AddParameter(string p_parameterName, object p_value, bool p_addToNextScene, bool p_replaceParametersWithSameName) { if (p_addToNextScene) { ParametersToPassToNextScene.AddParameter(p_parameterName, p_value, p_replaceParametersWithSameName); } else { bool p_containParameterWithName = CurrentSceneParameters.ContainsParameterName(p_parameterName); CurrentSceneParameters.AddParameter(p_parameterName, p_value, p_replaceParametersWithSameName); if (OnParameterAdded != null && (!p_containParameterWithName || p_replaceParametersWithSameName)) { OnParameterAdded(p_parameterName, p_value); } } }
private static void ApplyNextParametersInCurrentParamenters() { CurrentSceneParameters = new SceneParameters(); if (ParametersToPassToNextScene != null) { CurrentSceneParameters.Message = ParametersToPassToNextScene.Message; foreach (AOTKeyValuePair <string, object> v_pair in ParametersToPassToNextScene.GetAllParameters()) { if (v_pair != null) { AddParameter(v_pair.Key, v_pair.Value, false, true); } } } ParametersToPassToNextScene = null; }