protected internal virtual void Choose <V>(V context, NodeGender gender, VertexNodeStateContextContainer <V> contextContainer) where V : VertexNodeStateContext, new() { if (gender == NodeGender.Male) { contextContainer.ChangeStateContext(context, MaleChosenVertexNodeState.Instance); //context.ChangeState(MaleChosenVertexNodeState.Instance); } if (gender == NodeGender.Female) { contextContainer.ChangeStateContext(context, FemaleChosenVertexNodeState.Instance); //context.ChangeState(FemaleChosenVertexNodeState.Instance); } // Should this method be empty? }
protected internal virtual void ChooseAsFemale <V>(V context, VertexNodeStateContextContainer <V> contextContainer) where V : VertexNodeStateContext, new() { contextContainer.Choose(context, NodeGender.Female); }
protected internal virtual void ChooseAsOrigin <V>(V context, VertexNodeStateContextContainer <V> contextContainer) where V : VertexNodeStateContext, new() { contextContainer.ChangeStateContext(context, OriginChosenVertexNodeState.Instance); //context.ChangeState(OriginChosenVertexNodeState.Instance); }
protected internal virtual void Reset <V>(V context, VertexNodeStateContextContainer <V> contextContainer) where V : VertexNodeStateContext, new() { contextContainer.ChangeStateContext(context, UnchosenVertexNodeState.Instance); //context.ChangeState(UnchosenVertexNodeState.Instance); }
protected internal override void ChooseAsOrigin <V>(V context, VertexNodeStateContextContainer <V> contextContainer) { base.ChooseAsOrigin(context, contextContainer); }
protected internal override void Choose <V>(V context, NodeGender gender, VertexNodeStateContextContainer <V> contextContainer) { base.Choose(context, gender, contextContainer); }