private bool IsObjectiveReached(Alien finalAlien) { for (int i = 0; i < m_PickedGenes.Count; i++) { GeneType currentGeneType = m_PickedGenes[i]; AlienGeneData alienGeneData = GetAlienGeneFromType(currentGeneType); if (alienGeneData.Ignore) { continue; } bool isColor = currentGeneType == GeneType.COLOR; int targetAlienValue = alienGeneData.Value, finalAlienValue = isColor ? finalAlien.ColorGeneValue.Value : finalAlien.GetGeneFromType(currentGeneType).Value; if (targetAlienValue != finalAlienValue) { return(false); } } return(true); }
public AlienGeneData GetAlienGeneFromType(GeneType geneType) { for (int i = 0; i < m_TargetGeneValues.Count; i++) { AlienGeneData currentGeneValue = m_TargetGeneValues[i]; if (currentGeneValue.GeneType == geneType) { return(currentGeneValue); } } return(null); }
public void SetGeneData(AlienGeneData geneData) { if (geneData.GeneType == GeneType.COLOR) { m_ColorGeneValue.Value = geneData.Value; SetGeneColor(); SetAllGenesToColor(m_ColorGeneValue); return; } AlienGeneValue geneValue = GetGeneFromType(geneData.GeneType); geneValue.Value = geneData.Value; SetGeneImage(geneValue); }