Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        AbilitiesManager.playerLoadedInLobby = false;

        lobbyInst = this;

        cDT = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.CUSTOM_DATA_TRASMIT] as PlayerCustomDataTrasmitter;
        iDT = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.IMAGE_DATA_TRANSMIT] as ImageDependenciesTransfer;
        mE  = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.MANIFEST] as ManifestEncoder;

        ResetGameplayNetworkHelpers();

        lobbyText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        lobbyText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.9f));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(lobbyText).text = "Lobby";

        progressOfFiles = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        progressOfFiles.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.5f));
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(progressOfFiles).verticalOverflow = VerticalWrapMode.Overflow;

        startGame = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));
        startGame.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.1f));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(startGame, "Text").text = "Start Game";

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(startGame).onClick.AddListener(() => {
            ServerChannel sC = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.SERVER_CHANNEL] as ServerChannel;
            sC.CommunicateServerSide(ServerSideMethods.START_GAME);
        });
    }
Ejemplo n.º 2
0
 static public void ToggleItem(int givenID, bool shouldRefresh = true)
 {
     if (Data.mode == mode)
     {
         if (shopMode == 0)
         {
             if (!blueprintsPurchased.Contains(givenID))
             {
                 itemsClicked.Add(new List <float>()
                 {
                     givenID, Time.time
                 });
                 if (itemsClicked.Count == 2)
                 {
                     if (itemsClicked[0][0] == itemsClicked[1][0] && itemsClicked[1][1] - itemsClicked[0][1] <= doubleClickWindow)
                     {
                         int itemTier = Data.GetItemTier(givenID);
                         if (scrap[itemTier] >= prices[itemTier])
                         {
                             blueprintsPurchased.Add(givenID);
                             scrap[itemTier] -= prices[itemTier];
                             SetScrapStarting();
                             UIDrawerShop.PurchaseItem(givenID);
                             if (shouldRefresh)
                             {
                                 Data.SaveConfigProfile();
                                 UIDrawer.Refresh();
                             }
                         }
                     }
                     itemsClicked.RemoveAt(0);
                 }
             }
         }
         else if (shopMode == 1)
         {
             if (canDisablePurchasedBlueprints)
             {
                 if (itemsToDrop[Data.profile[mode]].Contains(givenID))
                 {
                     itemsToDrop[Data.profile[mode]].Remove(givenID);
                     if (shouldRefresh)
                     {
                         Data.SaveConfigProfile();
                         UIDrawer.Refresh();
                     }
                 }
                 else
                 {
                     itemsToDrop[Data.profile[mode]].Add(givenID);
                     if (shouldRefresh)
                     {
                         Data.SaveConfigProfile();
                         UIDrawer.Refresh();
                     }
                 }
             }
         }
     }
 }
        private void RotateAndMoveArrowToMatchDrawerDirection(UIDrawer drawer)
        {
            rotator.localRotation = Quaternion.identity;
            switch (drawer.drawerCloseDirection)
            {
            case SimpleSwipe.Left:
                RectTransform.SetParent(drawer.leftDrawerArrowHolder);
                rotator.localRotation = Quaternion.Euler(0, 0, 90);
                break;

            case SimpleSwipe.Right:
                RectTransform.SetParent(drawer.rightDrawerArrowHolder);
                rotator.localRotation = Quaternion.Euler(0, 0, 90);
                break;

            case SimpleSwipe.Up:
                RectTransform.SetParent(drawer.upDrawerArrowHolder);
                rotator.localRotation = Quaternion.Euler(0, 0, 0);
                break;

            case SimpleSwipe.Down:
                RectTransform.SetParent(drawer.downDrawerArrowHolder);
                rotator.localRotation = Quaternion.Euler(0, 0, 0);
                break;
            }
            RectTransform.anchoredPosition = Vector2.zero;
            UpdateLocalScale(drawer.arrowScale);

            UpdateArrowColor(drawer);
        }
Ejemplo n.º 4
0
    void Start()
    {
        // Applies pending data that was recieved while loading.
        Debug.Log("Updating " + pendingData.Count + " messages while loading.");
        for (int i = 0; i < pendingData.Count; i++)
        {
            (NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.UPDATE_ABILITY_DATA] as UpdateAbilityDataEncoder).ParseMessage(pendingData[i]);
        }

        pendingData.Clear();
        playerLoadedInLobby = true;

        // Creates global variables for this player.
        aData[ClientProgram.clientId].abilties[""].InputCallback(0);

        // Creates player main character.
        string priCharacterId = aData[ClientProgram.clientId].abilityManifest[(int)AbilityManifest.PRIMARY_CHARACTER];

        aData[ClientProgram.clientId].abilties[priCharacterId].InputCallback(0);

        abilities = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));
        (abilities.script as LinearLayout).o = LinearLayout.Orientation.X;
        abilities.script.transform.position  = UIDrawer.UINormalisedPosition(new Vector3(0.1f,0.1f));
        AssignInputKeys();
    }
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


            static public void BuyItem(int itemID)
            {
                bool boughtItem = false;

                for (int transactionIndex = 0; transactionIndex < Data.buyMultiplier; transactionIndex++)
                {
                    if (userPoints >= Data.GetItemPrice(itemID))
                    {
                        if (!itemsPurchased[Data.profile[Data.mode]].ContainsKey(itemID))
                        {
                            itemsPurchased[Data.profile[Data.mode]].Add(itemID, 0);
                        }
                        itemsPurchased[Data.profile[Data.mode]][itemID] += 1;
                        userPoints -= Data.GetItemPrice(itemID);
                        boughtItem  = true;
                    }
                    else
                    {
                        break;
                    }
                }
                if (boughtItem)
                {
                    Data.MakeDirectoryExist();
                    Data.SaveConfigProfile();
                    UIDrawer.Refresh();
                }
            }
Ejemplo n.º 6
0
            static public void SellItem(int itemID)
            {
                bool soldItem = false;

                for (int transactionIndex = 0; transactionIndex < Data.buyMultiplier; transactionIndex++)
                {
                    if (itemsPurchased[Data.profile[Data.mode]].ContainsKey(itemID))
                    {
                        itemsPurchased[Data.profile[Data.mode]][itemID] -= 1;
                        if (itemsPurchased[Data.profile[Data.mode]][itemID] == 0)
                        {
                            itemsPurchased[Data.profile[Data.mode]].Remove(itemID);
                        }
                        soldItem = true;
                    }
                    else
                    {
                        break;
                    }
                }
                if (soldItem)
                {
                    Data.MakeDirectoryExist();
                    Data.SaveConfigProfile();
                    UIDrawer.Refresh();
                }
            }
    void GenerateMenuElements()
    {
        SpawnerOutput topText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(topText).text  = "Abilities";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(topText).color = Color.white;

        topText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.5f, 0.9f));

        commandText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).text  = "";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).color = Color.white;

        commandText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.5f, 0.75f));

        SpawnerOutput addAbility = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(addAbility).onClick.AddListener(() => { CreateAbility(); });
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(addAbility, "Text").text = "Create Ability";

        addAbility.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.15f, 0.1f));

        SpawnerOutput setNewPrimary = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(setNewPrimary).onClick.AddListener(() => { ChangeButtonMode(AbilityButtonMode.CHANGE_PRIMARY_CHARACTER); });
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(setNewPrimary, "Text").text = "Set new primary";

        setNewPrimary.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.9f, 0.8f));

        lL = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));
        lL.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.1f, 0.75f));
    }
Ejemplo n.º 8
0
 static public void OpenStartingItems()
 {
     DataShop.shopMode = 0;
     Data.RefreshInfo();
     UIDrawer.DrawUI();
     UIDrawer.rootTransform.transform.parent.GetComponent <CanvasGroup>().blocksRaycasts = true;
 }
        /// <summary> Rotates the Rotator according to the UIDrawer's settings </summary>
        /// <param name="drawer"> UIDrawer that controls this animator </param>
        private void RotateAndMoveArrowToMatchDrawerDirection(UIDrawer drawer)
        {
            Rotator.localRotation = Quaternion.identity;
            switch (drawer.CloseDirection)
            {
            case SimpleSwipe.Left:
                RectTransform.SetParent(drawer.Arrow.Left.Root);
                Rotator.localRotation = Quaternion.Euler(0, 0, 90);
                break;

            case SimpleSwipe.Right:
                RectTransform.SetParent(drawer.Arrow.Right.Root);
                Rotator.localRotation = Quaternion.Euler(0, 0, 90);
                break;

            case SimpleSwipe.Up:
                RectTransform.SetParent(drawer.Arrow.Up.Root);
                Rotator.localRotation = Quaternion.Euler(0, 0, 0);
                break;

            case SimpleSwipe.Down:
                RectTransform.SetParent(drawer.Arrow.Down.Root);
                Rotator.localRotation = Quaternion.Euler(0, 0, 0);
                break;
            }

            RectTransform.anchoredPosition = Vector2.zero;
            UpdateLocalScale(drawer.Arrow.Scale);

            UpdateArrowColor(drawer);
        }
Ejemplo n.º 10
0
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

            static public void SetShopMode(int givenMode)
            {
                if (shopMode != givenMode)
                {
                    shopMode = givenMode;
                    UIDrawer.DrawUI();
                }
            }
Ejemplo n.º 11
0
 static public void OpenStartingItems()
 {
     Data.buyMultiplier = 1;
     Data.RefreshInfo();
     UIDrawer.DrawUI();
     DrawRecentPanel();
     rootTransform.transform.parent.GetComponent <CanvasGroup>().blocksRaycasts = true;
 }
Ejemplo n.º 12
0
 public void ResetComponent(UIDrawer drawer)
 {
     drawer.CloseDirection = CloseDirection;
     drawer.CloseSpeed     = CloseSpeed;
     drawer.CustomStartAnchoredPosition = CustomStartAnchoredPosition;
     drawer.DetectGestures = DetectGestures;
     drawer.OpenSpeed      = OpenSpeed;
     drawer.UseCustomStartAnchoredPosition = UseCustomStartAnchoredPosition;
 }
Ejemplo n.º 13
0
            static public Dictionary <int, int> GenerateRandomItemList()
            {
                List <int>            storeItems = UIDrawer.GetStoreItems();
                Dictionary <int, int> itemPrices = new Dictionary <int, int>();
                List <int>            allPrices  = new List <int>()
                {
                    Data.tier1Price,
                    Data.tier2Price,
                    Data.tier3Price,
                    Data.bossPrice,
                    Data.lunarPrice,
                    Data.equipmentPrice,
                    Data.lunarEquipmentPrice,
                    Data.eliteEquipmentPrice,
                };
                List <int> equipmentPrices = new List <int>()
                {
                    Data.equipmentPrice,
                    Data.lunarEquipmentPrice,
                    Data.eliteEquipmentPrice,
                };

                foreach (int itemID in storeItems)
                {
                    int itemPrice = Data.GetItemPrice(itemID);
                    itemPrices.Add(itemID, itemPrice);
                }
                int points = GetPoints();
                Dictionary <int, int> itemsPurchased = new Dictionary <int, int>();
                bool equipmentGiven = false;

                System.Random random = new System.Random();

                ReduceItemList(points, equipmentGiven, allPrices, equipmentPrices, itemPrices);
                while (allPrices.Count > 0)
                {
                    List <int> availableItems = itemPrices.Keys.ToList();
                    int        nextItem       = availableItems[random.Next(availableItems.Count)];
                    if (!itemsPurchased.ContainsKey(nextItem))
                    {
                        itemsPurchased.Add(nextItem, 0);
                    }
                    int itemPrice  = Data.GetItemPrice(nextItem);
                    int itemsGiven = random.Next(1, Mathf.Min(Mathf.FloorToInt(points / itemPrice) + 1, GetCountRange(nextItem) + 1));
                    itemsPurchased[nextItem] += itemsGiven;
                    points -= itemPrice * itemsGiven;
                    if (Data.allEquipmentIDs.ContainsKey(nextItem))
                    {
                        equipmentGiven = true;
                    }
                    ReduceItemList(points, equipmentGiven, allPrices, equipmentPrices, itemPrices);
                }

                return(itemsPurchased);
            }
Ejemplo n.º 14
0
    public void ChangeWindowsContentSize(Vector2 size)
    {
        (windowsGraphic.transform as RectTransform).sizeDelta = new Vector2(size.x + contentOffset.z + contentOffset.w, size.y + contentOffset.x + contentOffset.y);

        deleteButton.transform.position = UIDrawer.UINormalisedPosition(windowsGraphic.transform as RectTransform, new Vector2(0.95f, 1f)) - new Vector3(0, contentOffset.x / 2);
        windowsText.transform.position  = UIDrawer.UINormalisedPosition(windowsGraphic.transform as RectTransform, new Vector2(0.5f, 1f)) - new Vector3(0, contentOffset.x / 2);
        (windowsText.transform as RectTransform).sizeDelta = new Vector2(size.x - contentOffset.z - contentOffset.w, contentOffset.x * 0.9f);
        content.transform.position = UIDrawer.UINormalisedPosition(windowsGraphic.transform as RectTransform, new Vector2(0f, 1f)) - new Vector3(-contentOffset.z, contentOffset.x);

        windowsSize = size;
    }
Ejemplo n.º 15
0
 public UIDrawer()
 {
     if (Singleton == null)
     {
         Singleton = this;
     }
     else
     {
         throw new System.Exception();			//if singleton exist, throw a Exception
     }
 }
Ejemplo n.º 16
0
 static public void CreateMenuButton()
 {
     if (logbookButton != null)
     {
         GameObject button = ButtonCreator.SpawnBlueButton(logbookButton.transform.parent.gameObject, new Vector2(0, 1), new Vector2(320, 48), "Item Drops", TMPro.TextAlignmentOptions.Left, new List <Image>());
         button.transform.SetSiblingIndex(logbookButton.transform.GetSiblingIndex());
         float localScale = logbookButton.GetComponent <RectTransform>().rect.width / 320;
         button.GetComponent <RectTransform>().localScale = new Vector3(localScale, localScale, 1);
         button.GetComponent <RoR2.UI.HGButton>().onClick.AddListener(() => {
             UIDrawer.SetMenuStartingItems();
         });
     }
 }
        /// <summary> Updates the UIDrawerArrow color according to the UIDrawer's settings </summary>
        /// <param name="drawer"> UIDrawer that controls this animator </param>
        public void UpdateArrowColor(UIDrawer drawer)
        {
            if (!drawer.Arrow.OverrideColor)
            {
                return;
            }

            if (LeftBar == null || RightBar == null)
            {
                return;
            }

            Color color = Color.white;

            if (drawer.IsDragged)
            {
                color = Color.Lerp(drawer.Arrow.ClosedColor, drawer.Arrow.OpenedColor, drawer.VisibilityProgress);
            }
            else
            {
                switch (drawer.Visibility)
                {
                case VisibilityState.Visible:
                    color = drawer.Arrow.OpenedColor;
                    break;

                case VisibilityState.Showing:
                    color = Color.Lerp(drawer.Arrow.ClosedColor, drawer.Arrow.OpenedColor, drawer.VisibilityProgress);
                    break;

                case VisibilityState.Hiding:
                    color = Color.Lerp(drawer.Arrow.OpenedColor, drawer.Arrow.ClosedColor, 1 - drawer.VisibilityProgress);
                    break;

                case VisibilityState.NotVisible:
                    color = drawer.Arrow.ClosedColor;
                    break;
                }
            }

            if (m_leftBarImage != null)
            {
                m_leftBarImage.color = color;
            }
            if (m_rightBarImage != null)
            {
                m_rightBarImage.color = color;
            }
        }
        /// <summary> Fire the 'Back' button event (if it can be executed and is enabled) </summary>
        public void Execute()
        {
            if (!DoozySettings.Instance.UseBackButton)
            {
                return;
            }
            if (!CanExecuteBackButton)
            {
                return;
            }
            if (BackButtonDisabled)
            {
                return;
            }

            if (UIPopup.AnyPopupVisible)
            {
                UIPopup lastShownPopup = UIPopup.LastShownPopup;
                if (lastShownPopup.HideOnBackButton)
                {
                    lastShownPopup.Hide();
                }

                if (lastShownPopup.BlockBackButton)
                {
                    return;
                }
            }

            if (UIDrawer.AnyDrawerOpened)
            {
                UIDrawer openedDrawer = UIDrawer.OpenedDrawer;
                if (openedDrawer.HideOnBackButton)
                {
                    openedDrawer.Close();
                }

                if (openedDrawer.BlockBackButton)
                {
                    return;
                }
            }

            Message.Send(new UIButtonMessage(NAME, UIButtonBehaviorType.OnClick));
            m_lastBackButtonPressTime = Time.realtimeSinceStartup;
        }
        private void ExecuteActions()
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (Action)
            {
            case DrawerAction.Open:
                UIDrawer.Open(DrawerName, DebugMode);
                break;

            case DrawerAction.Close:
                UIDrawer.Close(DrawerName, DebugMode);
                break;

            case DrawerAction.Toggle:
                UIDrawer.Toggle(DrawerName, DebugMode);
                break;
            }
        }
Ejemplo n.º 20
0
        public void UpdateArrowColor(UIDrawer drawer)
        {
            if (!drawer.overrideArrowColor)
            {
                return;
            }
            if (leftBar == null || rightBar == null)
            {
                return;
            }

            if (drawer.IsDragged)
            {
                leftBarImage.color  = Color.Lerp(drawer.arrowColorWhenClosed, drawer.arrowColorWhenOpened, drawer.Visibility);
                rightBarImage.color = Color.Lerp(drawer.arrowColorWhenClosed, drawer.arrowColorWhenOpened, drawer.Visibility);
                return;
            }

            switch (drawer.CurerntDrawerState)
            {
            case UIDrawer.DrawerState.Opened:
                leftBarImage.color  = drawer.arrowColorWhenOpened;
                rightBarImage.color = drawer.arrowColorWhenOpened;
                break;

            case UIDrawer.DrawerState.IsOpening:
                leftBarImage.color  = Color.Lerp(drawer.arrowColorWhenClosed, drawer.arrowColorWhenOpened, drawer.Visibility);
                rightBarImage.color = Color.Lerp(drawer.arrowColorWhenClosed, drawer.arrowColorWhenOpened, drawer.Visibility);
                break;

            case UIDrawer.DrawerState.Closed:
                leftBarImage.color  = Color.Lerp(drawer.arrowColorWhenOpened, drawer.arrowColorWhenClosed, 1 - drawer.Visibility);
                rightBarImage.color = Color.Lerp(drawer.arrowColorWhenOpened, drawer.arrowColorWhenClosed, 1 - drawer.Visibility);
                break;

            case UIDrawer.DrawerState.IsClosing:
                leftBarImage.color  = drawer.arrowColorWhenClosed;
                rightBarImage.color = drawer.arrowColorWhenClosed;
                break;
            }
        }
    void Start()
    {
        mPos          = new Vector2();
        rcs           = 16;
        dimensions    = 450;
        PNGDimensions = 1024;

        CalibrateEditor();

        SpawnerOutput sO = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(sO).onClick.AddListener(SavePNG);
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(sO, "Text").text = "Save Art";

        SpawnerOutput nO = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(InputFieldWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <InputField>(nO).onValueChanged.AddListener((s) => {
            name = s;
        });

        sO.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.9f));
        nO.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.8f));

        GeneratePixels();
        pointer = CreatePixel();


        /*colors = new Color[1000];
         * for (int i = 0; i < colors.Length; i++)
         *  if (i < 500)
         *      colors[i] = Color.red;
         *  else
         *      colors[i] = Color.black;
         *
         * colorTest = new Texture2D(100, 10);
         * colorTest.SetPixels(colors);
         *
         * File.WriteAllBytes(Application.dataPath + "/../test6.png", colorTest.EncodeToPNG());*/
    }
Ejemplo n.º 22
0
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


            static public void ToggleItem(int givenID, bool shouldRefresh = true)
            {
                if (Data.mode == mode)
                {
                    if (itemsToDrop[Data.profile[mode]].Contains(givenID))
                    {
                        itemsToDrop[Data.profile[mode]].Remove(givenID);
                        if (shouldRefresh)
                        {
                            Data.SaveConfigProfile();
                            UIDrawer.Refresh();
                        }
                    }
                    else
                    {
                        itemsToDrop[Data.profile[mode]].Add(givenID);
                        if (shouldRefresh)
                        {
                            Data.SaveConfigProfile();
                            UIDrawer.Refresh();
                        }
                    }
                }
            }
 void DrawRenameGameObjectButton(float width)
 {
     QUI.BeginHorizontal(width);
     {
         if (QUI.GhostButton("Rename GameObject to Drawer Name", QColors.Color.Gray, width, 18))
         {
             if (serializedObject.isEditingMultipleObjects)
             {
                 Undo.RecordObjects(targets, "Renamed Multiple Objects");
                 for (int i = 0; i < targets.Length; i++)
                 {
                     UIDrawer uid = (UIDrawer)targets[i];
                     uid.gameObject.name = "UID - " + uid.GetDrawerName();
                 }
             }
             else
             {
                 Undo.RecordObject(Drawer.gameObject, "Renamed GameObject");
                 Drawer.gameObject.name = "UID - " + Drawer.GetDrawerName();
             }
         }
     }
     QUI.EndHorizontal();
 }
    SpawnerOutput CreateVariableButtons(ActionType aT, int[] id)
    {
        SpawnerOutput linkageButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(linkageButton, "Text").text = "";
        UIDrawer.ChangeUISize(linkageButton, new Vector2(20, 20));

        switch (aT)
        {
        case ActionType.RECIEVE:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(linkageButton).onClick.AddListener(() => {
                CreateLinkage(id);
            });
            break;

        case ActionType.SEND:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(linkageButton).onClick.AddListener(() => {
                prevPath = id;
            });
            break;
        }

        return(linkageButton);
    }
 /// <summary> Sets the target UIDrawer that this animator belongs to </summary>
 /// <param name="drawer"> Target UIDrawer</param>
 public void SetTargetDrawer(UIDrawer drawer)
 {
     Drawer = drawer;
     RotateAndMoveArrowToMatchDrawerDirection(Drawer);
 }
Ejemplo n.º 26
0
 void SceneLoadSetup()
 {
     UIDrawer.CreateCanvas();
     UIVanilla.GetObjectsFromScene();
     UIVanilla.CreateMenuButton();
 }
    void Start()
    {
        string cData = FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericLoadTrigger(new string[] { AbilityPageScript.selectedAbility }, 0);
        string wData = FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericLoadTrigger(new string[] { AbilityPageScript.selectedAbility }, 2);

        if (cData != "")
        {
            abilityData = new UIAbilityData(LoadedData.GetSingleton <JSONFileConvertor>().ConvertToData(JsonConvert.DeserializeObject <StandardJSONFileFormat[]>(cData)), JsonConvert.DeserializeObject <float[][]>(wData));
        }
        else
        {
            abilityData = new UIAbilityData();
        }


        abilityWindows = new AutoPopulationList <EditableWindow>();
        lineData       = new AutoPopulationList <LineData>();

        SpawnUIFromData();

        mainClassSelection = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));

        SpawnerOutput name = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(InputFieldWrapper));

        name.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.9f));

        InputField castedName = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <InputField>(name);

        string data = FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericLoadTrigger(new string[] { AbilityPageScript.selectedAbility }, 1);

        abilityDescription = JsonConvert.DeserializeObject <AbilityInfo>(data);
        castedName.text    = abilityDescription.n;

        castedName.onValueChanged.AddListener((s) => {
            abilityDescription.n = s;
        });

        SpawnerOutput[] buttons = new SpawnerOutput[LoadedData.loadedNodeInstance.Count];


        foreach (KeyValuePair <Type, AbilityTreeNode> entry in LoadedData.loadedNodeInstance)
        {
            SpawnerOutput button = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

            Button butInst = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(button);

            // Need another way to get elements within spawner output...
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(button, "Text").text = entry.Key.Name;

            butInst.onClick.AddListener(() => {
                selectedType = entry.Key;
                windowSpawner.script.gameObject.SetActive(true);
                mMode = MouseMode.CREATE_NODE;
            });

            (mainClassSelection.script as LinearLayout).Add(butInst.transform as RectTransform);
        }

        classSelectionScrollRect = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ScrollRectWrapper));
        (classSelectionScrollRect.script as ScrollRectWrapper).ChangeScrollRectSize(new Vector2(100, 600));


        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <UIMule>(classSelectionScrollRect, "Content").GetRectTransform().sizeDelta = (mainClassSelection.script.transform as RectTransform).sizeDelta;
        classSelectionScrollRect.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.6f));

        mainClassSelection.script.transform.SetParent(LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <UIMule>(classSelectionScrollRect, "Content").transform);
        mainClassSelection.script.transform.localPosition = new Vector2(-(mainClassSelection.script.transform as RectTransform).sizeDelta.x / 2, 0);


        windowSpawner = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image));
        windowSpawner.script.gameObject.SetActive(false);

        SpawnerOutput optLL = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));

        SpawnerOutput normConnButt = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(normConnButt, "Text").text    = "Normal Conection";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(normConnButt, "Image").color = Color.green;

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(normConnButt).onClick.AddListener(() => {
            mMode = MouseMode.EDIT_CONN;
            lMode = LinkMode.NORMAL;
        });

        SpawnerOutput sigConnButt = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(sigConnButt, "Text").text    = "Signal Conection";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(sigConnButt, "Image").color = Color.red;

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(sigConnButt).onClick.AddListener(() => {
            mMode = MouseMode.EDIT_CONN;
            lMode = LinkMode.SIGNAL;
        });

        SpawnerOutput rmConnButt = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(rmConnButt,"Text").text = "Remove Conection";

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(rmConnButt).onClick.AddListener(() => {
            mMode = MouseMode.REMOVE_CONN;
        });

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(optLL).Add(normConnButt.script.transform as RectTransform);
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(optLL).Add(sigConnButt.script.transform as RectTransform);
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(optLL).Add(rmConnButt.script.transform as RectTransform);

        optLL.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.9f,0.9f));

        SpawnerOutput saveButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(saveButton).onClick.AddListener(() => {
            int[] aEle = abilityData.subclasses.ReturnActiveElementIndex();

            AbilityDataSubclass[] cAD = abilityData.RelinkSubclass();

            string[] imgDependencies = AbilityDataSubclass.GetImageDependencies(cAD);

            // Gets all window locations.
            float[][] windowLocations = new float[cAD.Length][];

            for (int i = 0; i < windowLocations.Length; i++)
            {
                windowLocations[i] = new float[2];

                windowLocations[i][0] = abilityWindows.l[aEle[i]].transform.position.x;
                windowLocations[i][1] = abilityWindows.l[aEle[i]].transform.position.y;
            }

            FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericSaveTrigger(new string[] { AbilityPageScript.selectedAbility },0,JsonConvert.SerializeObject(LoadedData.GetSingleton <JSONFileConvertor>().ConvertToStandard(cAD)));
            FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericSaveTrigger(new string[] { AbilityPageScript.selectedAbility }, 1, JsonConvert.SerializeObject(abilityDescription));
            FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericSaveTrigger(new string[] { AbilityPageScript.selectedAbility }, 2, JsonConvert.SerializeObject(windowLocations));
            FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].GenericSaveTrigger(new string[] { AbilityPageScript.selectedAbility }, 3, JsonConvert.SerializeObject(imgDependencies));
        });

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(saveButton, "Text").text = "Save JSON";
        saveButton.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.1f));


        // Creates dropdown for input.
        kcDdL = new KeyCodeDropdownList(abilityDescription.kC);
        kcDdL.ReturnDropdownWrapper().transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.75f, 0.9f));

        kcDdL.ReturnDropdownWrapper().dropdown.onValueChanged.AddListener((v) => {
            abilityDescription.kC = KeyCodeDropdownList.inputValues[v];
        });

        // Creates dropdown for startnode.
        //DropdownWrapper sNDW = LoadedData.GetSingleton<UIDrawer>().CreateScriptedObject(typeof(DropdownWrapper)).script as DropdownWrapper;



        ButtonWrapper addOptionsButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper)).script as ButtonWrapper;

        addOptionsButton.button.onClick.AddListener(() => CreateWindowForAdditionalOptions());

        addOptionsButton.text.text          = "Additional Options";
        addOptionsButton.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.2f));

        ButtonWrapper exitBlueprintMaker = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper)).script as ButtonWrapper;

        exitBlueprintMaker.button.onClick.AddListener(() => SceneTransitionData.LoadScene("AbilityPage"));
        exitBlueprintMaker.text.text          = "Exit";
        exitBlueprintMaker.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.1f));
    }
        void DrawArrow(float width)
        {
            QUI.BeginHorizontal(width);
            {
                QUI.QToggle("Show Arrow", showArrow);
                QUI.FlexibleSpace();
            }
            QUI.EndHorizontal();

            showArrowAnimBool.target = showArrow.boolValue;

            if (QUI.BeginFadeGroup(showArrowAnimBool.faded))
            {
                QUI.BeginVertical(width);
                {
                    QUI.Space(SPACE_2 * showArrowAnimBool.faded);
                    QUI.BeginHorizontal(width);
                    {
                        QUI.QObjectPropertyField("Arrow", arrow, width - 4 - 100, 20, true);
                        QUI.Space(SPACE_4 * showArrowAnimBool.faded);
                        QUI.QObjectPropertyField("Scale", arrowScale, 100, 20, false);
                        QUI.FlexibleSpace();
                    }
                    QUI.EndHorizontal();
                    QUI.BeginHorizontal(width);
                    {
                        QUI.QToggle("Override Arrow Color", overrideArrowColor);
                        QUI.Space(SPACE_2);
                        if (overrideArrowColor.boolValue)
                        {
                            tempFloat = (width - 152) / 2; //color fields width
                            QUI.QObjectPropertyField("Closed", arrowColorWhenClosed, tempFloat, 20, false);
                            QUI.Space(SPACE_2);
                            QUI.QObjectPropertyField("Opened", arrowColorWhenOpened, tempFloat, 20, false);
                        }
                        QUI.FlexibleSpace();
                    }
                    QUI.EndHorizontal();
                    QUI.Space(SPACE_2);
                    QUI.BeginHorizontal(width);
                    {
                        if (QUI.GhostButton("Reset Arrow Holder Pos", QColors.Color.Gray, (width - 4) / 3, 18))
                        {
                            Undo.RecordObject(Drawer.leftDrawerArrowHolder, "Update Arrow Holder");
                            switch (Drawer.drawerCloseDirection)
                            {
                            case Gestures.SimpleSwipe.Left: UIDrawer.ResetArrowHolder(Drawer.leftDrawerArrowHolder, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Right: UIDrawer.ResetArrowHolder(Drawer.rightDrawerArrowHolder, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Up: UIDrawer.ResetArrowHolder(Drawer.upDrawerArrowHolder, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Down: UIDrawer.ResetArrowHolder(Drawer.downDrawerArrowHolder, Drawer.drawerCloseDirection); break;
                            }
                        }
                        QUI.Space(SPACE_2);
                        if (QUI.GhostButton("Reset Closed Arrow Pos", QColors.Color.Gray, (width - 4) / 3, 18))
                        {
                            Undo.RecordObject(Drawer.leftDrawerArrowClosedPosition, "Update Closed Arrow");
                            switch (Drawer.drawerCloseDirection)
                            {
                            case Gestures.SimpleSwipe.Left: UIDrawer.ResetClosedArrow(Drawer.leftDrawerArrowClosedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Right: UIDrawer.ResetClosedArrow(Drawer.rightDrawerArrowClosedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Up: UIDrawer.ResetClosedArrow(Drawer.upDrawerArrowClosedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Down: UIDrawer.ResetClosedArrow(Drawer.downDrawerArrowClosedPosition, Drawer.drawerCloseDirection); break;
                            }
                        }
                        QUI.Space(SPACE_2);
                        if (QUI.GhostButton("Reset Opened Arrow Pos", QColors.Color.Gray, (width - 4) / 3, 18))
                        {
                            Undo.RecordObject(Drawer.leftDrawerArrowOpenedPosition, "Update Opened Arrow");
                            switch (Drawer.drawerCloseDirection)
                            {
                            case Gestures.SimpleSwipe.Left: UIDrawer.ResetOpenedArrow(Drawer.leftDrawerArrowOpenedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Right: UIDrawer.ResetOpenedArrow(Drawer.rightDrawerArrowOpenedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Up: UIDrawer.ResetOpenedArrow(Drawer.upDrawerArrowOpenedPosition, Drawer.drawerCloseDirection); break;

                            case Gestures.SimpleSwipe.Down: UIDrawer.ResetOpenedArrow(Drawer.downDrawerArrowOpenedPosition, Drawer.drawerCloseDirection); break;
                            }
                        }
                    }
                    QUI.EndHorizontal();
                    QUI.Space(SPACE_2);
                    QUI.BeginHorizontal(width);
                    {
                        if (QUI.GhostButton("Copy - Opened Arrow Position - to - Closed Arrow Position", QColors.Color.Gray, width, 18))
                        {
                            Undo.RecordObject(Drawer.leftDrawerArrowOpenedPosition, "Update Opened Arrow");
                            switch (Drawer.drawerCloseDirection)
                            {
                            case Gestures.SimpleSwipe.Left: UIDrawer.MatchRectTransform(Drawer.leftDrawerArrowClosedPosition, Drawer.leftDrawerArrowOpenedPosition); break;

                            case Gestures.SimpleSwipe.Right: UIDrawer.MatchRectTransform(Drawer.rightDrawerArrowClosedPosition, Drawer.rightDrawerArrowOpenedPosition); break;

                            case Gestures.SimpleSwipe.Up: UIDrawer.MatchRectTransform(Drawer.upDrawerArrowClosedPosition, Drawer.upDrawerArrowOpenedPosition); break;

                            case Gestures.SimpleSwipe.Down: UIDrawer.MatchRectTransform(Drawer.downDrawerArrowClosedPosition, Drawer.downDrawerArrowOpenedPosition); break;
                            }
                        }
                    }
                    QUI.EndHorizontal();
                    QUI.Space(SPACE_2);
                    QUI.BeginHorizontal(width);
                    {
                        if (QUI.GhostButton("Copy - Closed Arrow Position - to - Opened Arrow Position", QColors.Color.Gray, width, 18))
                        {
                            Undo.RecordObject(Drawer.leftDrawerArrowClosedPosition, "Update Closed Arrow");
                            switch (Drawer.drawerCloseDirection)
                            {
                            case Gestures.SimpleSwipe.Left: UIDrawer.MatchRectTransform(Drawer.leftDrawerArrowOpenedPosition, Drawer.leftDrawerArrowClosedPosition); break;

                            case Gestures.SimpleSwipe.Right: UIDrawer.MatchRectTransform(Drawer.rightDrawerArrowOpenedPosition, Drawer.rightDrawerArrowClosedPosition); break;

                            case Gestures.SimpleSwipe.Up: UIDrawer.MatchRectTransform(Drawer.upDrawerArrowOpenedPosition, Drawer.upDrawerArrowClosedPosition); break;

                            case Gestures.SimpleSwipe.Down: UIDrawer.MatchRectTransform(Drawer.downDrawerArrowOpenedPosition, Drawer.downDrawerArrowClosedPosition); break;
                            }
                        }
                    }
                    QUI.EndHorizontal();
                    QUI.Space(SPACE_2);
                    if (QUI.GhostBar("Show Arrow References", showArrowReferences.target ? QColors.Color.Blue : QColors.Color.Gray, showArrowReferences, width * showArrowAnimBool.faded, MiniBarHeight))
                    {
                        showArrowReferences.target = !showArrowReferences.target;
                    }
                    QUI.BeginHorizontal(width);
                    {
                        QUI.Space(SPACE_8 * showArrowReferences.faded);
                        if (QUI.BeginFadeGroup(showArrowReferences.faded))
                        {
                            QUI.BeginVertical(width - SPACE_8);
                            {
                                QUI.Space(SPACE_4 * showArrowReferences.faded);
                                QUI.QObjectPropertyField("Arrow Container", arrowContainer, width - SPACE_8, 20, true);
                                QUI.Space(SPACE_2 * showArrowReferences.faded);
                                DrawArrowHolder("Left", leftDrawerArrowHolder, leftDrawerArrowClosedPosition, leftDrawerArrowOpenedPosition, width);
                                QUI.Space(SPACE_2 * showArrowReferences.faded);
                                DrawArrowHolder("Right", rightDrawerArrowHolder, rightDrawerArrowClosedPosition, rightDrawerArrowOpenedPosition, width);
                                QUI.Space(SPACE_2 * showArrowReferences.faded);
                                DrawArrowHolder("Up", upDrawerArrowHolder, upDrawerArrowClosedPosition, upDrawerArrowOpenedPosition, width);
                                QUI.Space(SPACE_2 * showArrowReferences.faded);
                                DrawArrowHolder("Down", downDrawerArrowHolder, downDrawerArrowClosedPosition, downDrawerArrowOpenedPosition, width);
                                QUI.Space(SPACE_2 * showArrowReferences.faded);
                            }
                            QUI.EndVertical();
                        }
                        QUI.EndFadeGroup();
                    }
                    QUI.EndHorizontal();
                    QUI.Space(SPACE_2 * showArrowAnimBool.faded);
                }
                QUI.EndVertical();
            }
            QUI.EndFadeGroup();
        }
 /// <summary>
 ///     Initializes a new instance of the class with reference to the UIDrawer and the UIDrawerBehaviorType,
 ///     of the UIDrawerBehavior, that triggered that sent this message
 /// </summary>
 /// <param name="drawer"> Reference to the UIDrawer that sent this message </param>
 /// <param name="type"> UIDrawerBehaviorType of the UIDrawerBehavior that triggered the UIDrawer to send this message </param>
 public UIDrawerMessage(UIDrawer drawer, UIDrawerBehaviorType type)
 {
     Drawer = drawer;
     Type   = type;
 }
Ejemplo n.º 30
0
 void Awake()
 {
     main = this;
     SetUpChildrenObj();
 }