Example #1
0
    private void Start()
    {
        DMShpere   shpere1   = new DMShpere();
        DMShpere   shpere2   = new DMShpere();
        DMCube     cube1     = new DMCube();
        DMCube     cube2     = new DMCube();
        DMCube     cube3     = new DMCube();
        DMCylinder cylinder1 = new DMCylinder();

        DMShapeContainer container = new DMShapeContainer();

        container.AddShape(shpere1);
        container.AddShape(shpere2);
        container.AddShape(cube1);
        container.AddShape(cube2);
        container.AddShape(cube3);
        container.AddShape(cylinder1);

        AccountOfShapeVisitor shapeVisitor = new AccountOfShapeVisitor();

        container.RunVisitor(shapeVisitor);
        Debug.Log("图形数量:" + shapeVisitor.account);

        AccountOfCubeVisitor cubeVisitor = new AccountOfCubeVisitor();

        container.RunVisitor(cubeVisitor);
        Debug.Log("Cube数量:" + cubeVisitor.account);
    }
Example #2
0
    private void Start()
    {
        DMCube   cube   = new DMCube();
        DMShpere shpere = new DMShpere();

        DMShapeContainer container = new DMShapeContainer();

        container.AddShape(cube);
        container.AddShape(shpere);

        DMAmountVisitor visitor = new DMAmountVisitor();

        container.RunVisitor(visitor);

        print(visitor.Amount);
    }
Example #3
0
    void Start()
    {
        DMShpere   shpere1   = new DMShpere();
        DMCylinder cylinder1 = new DMCylinder();
        DMCube     cube1     = new DMCube();
        DMCube     cube2     = new DMCube();

        DMShapeContainer shapeContainer = new DMShapeContainer();

        shapeContainer.AddShape(shpere1);
        shapeContainer.AddShape(cylinder1);
        shapeContainer.AddShape(cube1);
        shapeContainer.AddShape(cube2);

        AmountVisitor amountVisitor = new AmountVisitor();

        shapeContainer.RunVisitor(amountVisitor);

        Debug.Log(amountVisitor.amount);
    }
Example #4
0
    void Start()
    {
        DMShpere   shpere1   = new DMShpere();
        DMCylinder cylinder1 = new DMCylinder();
        DMCube     cube1     = new DMCube();
        DMCube     cube2     = new DMCube();

        DMShapeContainer container = new DMShapeContainer();

        container.AddShape(shpere1);
        container.AddShape(cylinder1);
        container.AddShape(cube1);
        container.AddShape(cube2);

        //int count = container.GetShapeCount();
        //int cubeCount = container.GetCubeCount();
        AmountVisitor amountVisitor = new AmountVisitor();

        container.RunVisitor(amountVisitor);
        int amount = amountVisitor.amount;

        Debug.Log("图形总数:" + amount);

        CubeAmountVisitor cubeAmountVisitor = new CubeAmountVisitor();

        container.RunVisitor(cubeAmountVisitor);
        int cubeAmount = cubeAmountVisitor.amount;

        Debug.Log("Cube总数:" + cubeAmount);


        EdgeVisitor edgeVisitor = new EdgeVisitor();

        container.RunVisitor(edgeVisitor);
        int edgeAmount = edgeVisitor.amount;

        Debug.Log("边总数:" + edgeAmount);
    }
Example #5
0
 public override void VisitSphere(DMShpere sphere)
 {
     amount += 1;
 }
Example #6
0
 public override void VisitSphere(DMShpere sphere)
 {
     return;
 }
Example #7
0
 public abstract void VisitSphere(DMShpere sphere);
Example #8
0
 public override void VisitSphere(DMShpere shpere)
 {
     account++;
 }