public DialogCharacter this[DialogCharacterID id] { get { foreach (var item in _data) { if (item.ID == id) { return(item.Character); } } throw new ArgumentException(); } }
private DialogCharacter GetCharacter(DialogCharacterID characterID) { DialogCharacter result; if (!_charactersCashe.TryGetValue(characterID, out result)) { var characterRef = _providerCharacters[characterID]; var characterInstance = Instantiate(characterRef, _charactersContainer, false); _charactersCashe.Add(characterID, characterInstance); result = characterInstance; } result.Show(); return(result); }