public void SubCharacter(CharacterInfo characterInfo) { IsSubCharacter = true; if (characterDataSheet.TryGetCharacterTribe(characterInfo.id, out var tribe)) { TribeInfo tribeInfo = new TribeInfo(tribe, characterInfo.id); if (deployedTribes.ContainsKey(tribeInfo)) { --deployedTribes[tribeInfo]; if (deployedTribes[tribeInfo] == 0) { deployedTribes.Remove(tribeInfo); SubAppliedTribe(tribeInfo.tribe); } } else { Debug.Log("Error No Tribes"); } } if (characterDataSheet.TryGetCharacterOrigin(characterInfo.id, out var origin)) { OriginInfo originInfo = new OriginInfo(origin, characterInfo.id); if (deployedOrigins.ContainsKey(originInfo)) { --deployedOrigins[originInfo]; if (deployedOrigins[originInfo] == 0) { deployedOrigins.Remove(originInfo); SubAppliedOrigin(originInfo.origin); } } else { Debug.Log("Error No Origins"); } } UpdateApplySynergy(); }
public void AddCharacter(CharacterInfo characterInfo) { IsSubCharacter = false; if (characterDataSheet.TryGetCharacterTribe(characterInfo.id, out var tribe)) { TribeInfo tribeInfo = new TribeInfo(tribe, characterInfo.id); currentAddTribe = tribe; if (deployedTribes.ContainsKey(tribeInfo)) { ++deployedTribes[tribeInfo]; } else { deployedTribes.Add(tribeInfo, 1); AddAppliedTribe(tribeInfo.tribe); } } if (characterDataSheet.TryGetCharacterOrigin(characterInfo.id, out var origin)) { OriginInfo originInfo = new OriginInfo(origin, characterInfo.id); currentAddOrigin = origin; if (deployedOrigins.ContainsKey(originInfo)) { ++deployedOrigins[originInfo]; } else { deployedOrigins.Add(originInfo, 1); AddAppliedOrigin(originInfo.origin); } } UpdateApplySynergy(); }
public override bool Equals(object obj) { TribeInfo tribeInfo = obj as TribeInfo; return((tribeInfo.tribe == tribe && tribeInfo.id == id) ? true : false); }