示例#1
0
    public float GeneticValue(GeneticKind kind)
    {
        float result = 0;

        switch (kind)
        {
        case GeneticKind.MoveSpeed:
            result = MoveSpeed;
            break;

        case GeneticKind.DetectRange:
            result = DetectRange;
            break;

        case GeneticKind.Hitpoints:
            result = Hitpoints;
            break;

        case GeneticKind.AttackRange:
            result = AttackRange;
            break;

        case GeneticKind.AttackSpeed:
            result = AttackSpeed;
            break;

        case GeneticKind.AttackDamage:
            result = AttackDamage;
            break;

        case GeneticKind.HarvestSpeed:
            result = HarvestSpeed;
            break;

        case GeneticKind.SpawnMonsters:
            result = SpawnMonsters;
            break;

        case GeneticKind.SpawnTime:
            result = SpawnTime;
            break;

        case GeneticKind.MonsterCount:
            result = MonsterCount;
            break;

        case GeneticKind.MonsterHitpoints:
            result = MonsterHitpoints;
            break;

        case GeneticKind.MonsterSpeed:
            result = MonsterSpeed;
            break;
        }
        return(result);
    }
示例#2
0
    public static IEnumerable <GeneticKind> GetGeneticKinds()
    {
        Array enumstrings = Enum.GetValues(typeof(GeneticKind));

        foreach (var enumstring in enumstrings)
        {
            GeneticKind kind = (GeneticKind)enumstring;
            yield return(kind);
        }
    }
示例#3
0
    public void SetGeneticValue(GeneticKind kind, float value)
    {
        switch (kind)
        {
        case GeneticKind.MoveSpeed:
            MoveSpeed = value;
            break;

        case GeneticKind.DetectRange:
            DetectRange = value;
            break;

        case GeneticKind.Hitpoints:
            Hitpoints = value;
            break;

        case GeneticKind.AttackRange:
            AttackRange = value;
            break;

        case GeneticKind.AttackSpeed:
            AttackSpeed = value;
            break;

        case GeneticKind.AttackDamage:
            AttackDamage = value;
            break;

        case GeneticKind.HarvestSpeed:
            HarvestSpeed = value;
            break;

        case GeneticKind.SpawnMonsters:
            SpawnMonsters = value;
            break;

        case GeneticKind.SpawnTime:
            SpawnTime = value;
            break;

        case GeneticKind.MonsterCount:
            MonsterCount = value;
            break;

        case GeneticKind.MonsterHitpoints:
            MonsterHitpoints = value;
            break;

        case GeneticKind.MonsterSpeed:
            MonsterSpeed = value;
            break;
        }
    }
示例#4
0
    public float GeneticValue(List <GeneticProps> genetic, GeneticKind kind)
    {
        float result = 0;

        foreach (GeneticProps props in genetic)
        {
            foreach (GeneticValue value in props.Genetics)
            {
                if (value.Kind == kind)
                {
                    result += GeneticValue(kind);
                }
            }
        }

        return(result);
    }
示例#5
0
 public void AddGeneticValue(GeneticKind kind, float value)
 {
     SetGeneticValue(kind, GeneticValue(kind) + value);
 }