// CTOR public tnGameModeStringOption(tnGameModeStringOptionDescriptor i_Descriptor) : base() { foreach (string key in i_Descriptor.keys) { string value; if (i_Descriptor.TryGetValue(key, out value)) { int hash = StringUtils.GetHashCode(key); InternalAdd(hash, value); } } }
// LOGIC public void Initialize(string i_DatabasePath) { tnGameModeOptions database = Resources.Load <tnGameModeOptions>(i_DatabasePath); if (database != null) { tnGameModeFloatOptionDescriptor matchDurationOptionDescriptor = database.matchDurationOption; m_MatchDurationOption = new tnGameModeFloatOption(matchDurationOptionDescriptor); tnGameModeStringOptionDescriptor refereeOptionDescriptor = database.refereeOption; m_RefereeOption = new tnGameModeStringOption(refereeOptionDescriptor); tnGameModeStringOptionDescriptor goldenGoalOptionDescriptor = database.goldenGoalOption; m_GoldenGoalOption = new tnGameModeStringOption(goldenGoalOptionDescriptor); } else { m_MatchDurationOption = new tnGameModeFloatOption(null); m_RefereeOption = new tnGameModeStringOption(null); m_GoldenGoalOption = new tnGameModeStringOption(null); LogManager.LogWarning(this, "Database not loaded."); } }