Пример #1
0
    public void Apply()
    {
        swapChain.Swap();

        ApplyTexture();
    }
Пример #2
0
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("TestSwapChain begin");

        var chain = new SwapChain <string>();

        chain.Clear();
        chain.AddFront("b1");
        chain.AddBack("b2");
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));

        chain.Clear();
        chain.AddFront("b1");
        chain.AddBack("b2");
        chain.AddBack("b3");
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Debug.Assert(chain.GetBack(1) == "b3");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b3");
        Debug.Assert(chain.GetBack(1) == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b3");
        Debug.Assert(chain.GetBack() == "b1");
        Debug.Assert(chain.GetBack(1) == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Debug.Assert(chain.GetBack(1) == "b3");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));

        chain.Clear();
        chain.AddBack("b1");
        chain.AddBack("b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetFront());
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));

        Debug.Log("TestSwapChain end");
    }