using System; using DNAModule.Sunweaver.Commands.Abstracts; using DNAModule.Sunweaver.DataPrototypes; namespace DNAModule.Sunweaver { abstract public class BasicCoduleMutation : CoduleMutation { public float Commands { get; protected set; } public float Constants { get; protected set; } public float References { get; protected set; } public float Stores { get; protected set; } abstract public void mutate(Codule c, int index, int length, float commands, float constants, float references, float stores); public override void mutate(Codule c, int index, int length) { mutate(c, index, length, Commands, Constants, References, Stores); } public BasicCoduleMutation() : this(1, 1, 1, 1, 1, 1, 1) { } public BasicCoduleMutation(int minLength, int maxLength, double probability, float commands, float constants, float references, float stores) : base(minLength, maxLength, probability) { Commands = commands; Constants = constants; References = references; Stores = stores; } } }