コード例 #1
0
 RegisterUiGameObjects
     (List <GameObject> gameObjects,
     IScreenSizeBreakpointRegister register)
 {
     GenericRegisterFromList(
         gameObjects,
         false,
         CreateBreakpointRegistrationCallback(register)
         );
 }
コード例 #2
0
        InitialiseAndRegisterUiPrefabs
            (List <GameObject> prefabs,
            IScreenSizeBreakpointRegister register,
            Canvas parentCanvas)
        {
            InitialisationDelegate Callback
                = CreateFreshUIComponentSetupCallback(
                      parentCanvas.GetComponent <RectTransform>(),
                      prefabs,
                      CreateBreakpointRegistrationCallback(register)
                      );

            GenericRegisterFromList(prefabs, true, Callback);
        }
コード例 #3
0
 public void RegisterBreakpoints(IScreenSizeBreakpointRegister register)
 {
     MyContract.RequireArgumentNotNull(register, "register");
     foreach (ScreenBreakpointClient Client in BreakpointClients)
     {
         // there will be a null entry to cover for
         // UnityEvents not accepting listeners added through code
         // unless they have at least one pre-code listener
         if (Client != null)
         {
             Client.RegisterBreakpoints(register);
         }
     }
 }
コード例 #4
0
 CreateBreakpointRegistrationCallback
     (IScreenSizeBreakpointRegister register)
 {
     return(delegate(GameObject currentObject, int index)
     {
         // Copy into this scope to preserve?
         IScreenSizeBreakpointRegister MyRegister = register;
         UIComponentStem UICS
             = currentObject.GetComponent <UIComponentStem>();
         MyContract.RequireArgument(
             UICS != null,
             "has a UIComponentStem MonoBehavior/module attached",
             "currentObject"
             );
         UICS.RegisterBreakpoints(MyRegister);
         //Debug.Log("Registering breakpoints for element with elementid "
         //         + UICS.ElementIdentifier);
     });
 }
コード例 #5
0
        public void RegisterBreakpoints(IScreenSizeBreakpointRegister register)
        {
            MyContract.RequireField(BreakpointEntries != null,
                                    "is not null", "BreakpointEntries");
            ensureBreakpointHandlersHaveBeenRebuilt();

            SortedList <float, BreakpointHandler> height_breakpoints
                = new SortedList <float, BreakpointHandler>(inverse_comparer);
            SortedList <float, BreakpointHandler> width_breakpoints
                = new SortedList <float, BreakpointHandler>(inverse_comparer);

            foreach (BreakpointEntry breakpoint in BreakpointEntries)
            {
                switch (breakpoint.dimension)
                {
                case Dimension.HEIGHT:
                    height_breakpoints.Add(breakpoint.breakpoint,
                                           breakpoint.handler);
                    break;

                case Dimension.WIDTH:
                    width_breakpoints.Add(breakpoint.breakpoint,
                                          breakpoint.handler);
                    break;

                default:
                    throw new UnexpectedEnumValueException <Dimension>(
                              breakpoint.dimension
                              );
                }
            }
            if (height_breakpoints.Count > 0)
            {
                register.registerHeightBreakpointHandlers(height_breakpoints,
                                                          this);
            }
            if (width_breakpoints.Count > 0)
            {
                register.registerWidthBreakpointHandlers(width_breakpoints,
                                                         this);
            }
        }
コード例 #6
0
 InitialiseSubComponents
     (IScreenSizeBreakpointRegister register)
 {
     ComponentRegistry.RegisterUiGameObjects(SubComponents, register);
 }