// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Mono Runtime Version: 2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
// ------------------------------------------------------------------------------
using System.Collections.Generic;
using UnityEngine;
namespace TableConfig
{
public partial class RandomNameConfig : ConfigBase, IConfigPostProcess
{
private static Dictionary> m_RandomNameCfgs = new Dictionary>();
private static List m_RandomFirstNames = new List();
public void OnConfigParseCompleted()
{
int[] intarray = ConfigParse.GetMultipleStr(Sex);
if (intarray != null && intarray.Length > 0)
{
for (int i = 0; i < intarray.Length; i++)
{
List list = null;
m_RandomNameCfgs.TryGetValue(intarray[i], out list);
if (list == null)
{
list = new List();
list.Add(this);
m_RandomNameCfgs.Add(intarray[i], list);
}
else
{
list.Add(this);
}
}
}
if (!string.IsNullOrEmpty(RandomName1))
{
m_RandomFirstNames.Add(this);
}
}
public static string GetFirstName(int occupa)
{
List list = m_RandomFirstNames;
//m_RandomNameCfgs.TryGetValue(occupa, out list);
int cnt = list.Count;
string str = list[Random.Range(0, cnt)].RandomName1;
return str;
}
public static string GetSecondName(int occupa)
{
List list = null;
m_RandomNameCfgs.TryGetValue(occupa, out list);
int cnt = list.Count;
string str = list[Random.Range(0, cnt)].RandomName2;
return str;
}
public static string GetFirstName(ref List randoms)
{
var list = m_RandomFirstNames;
if (randoms.Count == 0)
{
for (int i = 0; i < list.Count; i++)
{
randoms.Add(i);
}
}
var index = Random.Range(0, randoms.Count);
var name = list[randoms[index]].RandomName1;
randoms.RemoveAt(index);
return name;
}
public static string GetSecondName(ref List randoms)
{
List list = null;
var name = string.Empty;
if (m_RandomNameCfgs.TryGetValue(1, out list))
{
if (randoms.Count == 0)
{
for (int i = 0; i < list.Count; i++)
{
randoms.Add(i);
}
}
var index = Random.Range(0, randoms.Count);
name = list[randoms[index]].RandomName2;
randoms.RemoveAt(index);
}
return name;
}
}
}