Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssemblyCSharp.Scripts.EntLogic.SerializationObjects.Assignment"/> class.
        /// </summary>
        public Assignment()
        {
            VariableSignature signature = RegistrationManager.SelectReadWriteVariableAtRandom();

            this.readWriteVariable = new ReadWriteVariable(signature);
            this.rightStatement    = new RightStatement(signature.VariableType);
        }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssemblyCSharp.Scripts.EntLogic.SerializationObjects.Assignment"/> class.
        /// </summary>
        public Assignment(int depthIn)
        {
            this.depth = depthIn;
            VariableSignature signature = RegistrationManager.SelectReadWriteVariableAtRandom();

            this.readWriteVariable = new ReadWriteVariable(signature);
            this.rightStatement    = new RightStatement(signature.VariableType, depthIn + 1);
        }
Beispiel #3
0
        /// <summary>
        /// Will possibly mutate this section of logic.
        /// </summary>
        public void PossiblyMutate()
        {
            if (GeneticLogicRoot.RollMutateDice())
            {
                VariableSignature signature = RegistrationManager.SelectReadWriteVariableAtRandom();
                this.readWriteVariable = new ReadWriteVariable(signature);
                this.rightStatement    = new RightStatement(signature.VariableType);
                return;
            }

            if (this.rightStatement != null)
            {
                this.rightStatement.PossiblyMutate();
            }
        }