示例#1
0
 protected override void ClearOptions()
 {
     if (textBoxUIManager != null)
     {
         textBoxUIManager.InterceptActionPress();
         textBoxUIManager = null;
     }
     ClearActionButtons();
     ClearHypotheticalStatsDisplay();
     ClearAdditionalOverlays();
     ClearItemButtons();
     ClearValidItems();
     ClearSectionButtons();
     base.ClearOptions();
 }
示例#2
0
    public bool DisplayItemInfo(ItemDisplayContext displayContext, ItemData itemData)
    {
        int itemID = ItemData.INVALID_ITEM_ID;
        GameTextDatabase  textDatabase      = null;
        TextBoxUIManager  textBoxUIManager  = null;
        bool              boxCreated        = false;
        bool              displaySuccessful = false;
        ItemDisplayScheme displayScheme     = null;

        ItemDisplayScheme.DisplayProperty[] schemeProperties = null;

        if ((itemData != null) && (itemDisplaySchemes != null) && (itemDisplayContexts != null))
        {
            itemID = itemData.itemID;
            if (itemID != ItemData.INVALID_ITEM_ID)
            {
                textDatabase     = GameTextDatabase.Instance;
                textBoxUIManager = TextBoxUIManager.Instance;
                for (int i = 0; i < itemDisplayContexts.Length; i++)
                {
                    if (itemDisplayContexts[i] == displayContext)
                    {
                        if (itemDisplaySchemes.Length > i)
                        {
                            displayScheme = itemDisplaySchemes[i];
                        }
                    }
                }
                if ((displayScheme != null) && (textDatabase != null) && (textBoxUIManager != null))
                {
                    schemeProperties = displayScheme.properties;
                    if (displayScheme.ConfiguredProperly() && (schemeProperties != null))
                    {
                        string  itemName         = null;
                        string  itemDescription  = null;
                        string  boxText          = null;
                        Sprite  boxPicture       = null;
                        Vector2 boxPositionRates = Vector2.zero;
                        Vector2 boxMaxSizeRates  = Vector2.zero;
                        bool    toDiscard        = false;
                        for (int i = 0; i < schemeProperties.Length; i++)
                        {
                            boxText    = null;
                            boxPicture = null;
                            switch (schemeProperties[i])
                            {
                            case ItemDisplayScheme.DisplayProperty.Name:
                                if (itemName == null)
                                {
                                    itemDescription = textDatabase.GetItemDescription(itemID, ref itemName);
                                }
                                boxText = itemName;
                                break;

                            case ItemDisplayScheme.DisplayProperty.Description:
                                if (itemDescription == null)
                                {
                                    itemDescription = textDatabase.GetItemDescription(itemID, ref itemName);
                                }
                                boxText = itemDescription;
                                break;

                            case ItemDisplayScheme.DisplayProperty.Icon:
                                boxPicture = itemData.itemIcon;
                                break;

                            case ItemDisplayScheme.DisplayProperty.Tutorial:
                                boxText = textDatabase.GetPlatformText(textIDInventoryTutorial, currentPlatform, ref toDiscard);
                                break;
                            }
                            boxPositionRates = displayScheme.positionRates[i];
                            boxMaxSizeRates  = displayScheme.maxSizeRates[i];
                            boxCreated       = textBoxUIManager.ShowDialogue(boxText, 0f, boxPicture, false, boxMaxSizeRates, boxPositionRates, null,
                                                                             itemData);
                            if (!displaySuccessful)
                            {
                                displaySuccessful = boxCreated;
                            }
                        }
                    }
                }
            }
        }
        return(displaySuccessful);
    }
示例#3
0
    protected override bool CheckOptionsHit(Vector2 canvasPoint)
    {
        if (!base.CheckOptionsHit(canvasPoint))
        {
            if ((sectionButtonTransforms != null) && (actionButtonTransforms == null))
            {
                for (int i = 0; i < sectionButtonTransforms.Length; i++)
                {
                    if (CheckTransformPointCollision(sectionButtonTransforms[i], canvasPoint))
                    {
                        if ((chosenSectionIndex > -1) && (chosenSectionIndex != i))
                        {
                            sectionButtons[chosenSectionIndex].SetPressed(false);
                            ClearItemButtons();
                            ClearValidItems();
                            chosenSectionIndex = i;
                            sectionButtons[i].SetPressed(true);
                            SeparateValidItems();
                            CreateItemButtons();
                        }
                        return(true);
                    }
                }
            }
            if ((itemButtonTransforms != null) && (actionButtonTransforms == null))
            {
                for (int i = firstItemIndex; i <= lastItemIndex; i++)
                {
                    if (CheckTransformPointCollision(itemButtonTransforms[i], canvasPoint))
                    {
                        if (i != chosenItemIndex)
                        {
                            ChangeButtonState(true, itemButtons[i], itemTexts[i], itemAmountComponents[i]);
                        }
                        checkingItemIndex = i;
                        CreateAdditionalOverlays();
                        CreateHypotheticalStatsDisplay();
                        CreateActionButtons();
                        if (itemDatabase.DisplayItemInfo(ItemDatabase.ItemDisplayContext.Inventory, validItems[i]))
                        {
                            textBoxUIManager = TextBoxUIManager.Instance;
                        }
                        return(true);
                    }
                }
                if (CheckTransformPointCollision(itemAdvanceButtonTransform, canvasPoint))
                {
                    if ((itemButtons.Length - 1) > lastItemIndex)
                    {
                        firstItemIndex += itemDisplayScheme.elementsScrolled;
                        lastItemIndex  += itemDisplayScheme.elementsScrolled;
                        if (lastItemIndex >= itemButtons.Length)
                        {
                            lastItemIndex = itemButtons.Length - 1;
                        }
                        RepositionItemButtons();
                        itemAdvanceButton.SetPressed(!((itemButtons.Length - 1) > lastItemIndex));
                        itemReturnButton.SetPressed(!(firstItemIndex > 0));
                    }
                    return(true);
                }
                if (CheckTransformPointCollision(itemReturnButtonTransform, canvasPoint))
                {
                    if (firstItemIndex > 0)
                    {
                        firstItemIndex -= itemDisplayScheme.elementsScrolled;
                        Vector2[] allElementPositions = itemDisplayScheme.elementPositionRates;
                        lastItemIndex = allElementPositions.Length - 1;
                        RepositionItemButtons();
                        itemReturnButton.SetPressed(!(firstItemIndex > 0));
                        itemAdvanceButton.SetPressed(!((itemButtons.Length - 1) > lastItemIndex));
                    }
                    return(true);
                }
            }
            if (actionButtonTransforms != null)
            {
                for (int i = 0; i < actionButtonTransforms.Length; i++)
                {
                    if (CheckTransformPointCollision(actionButtonTransforms[i], canvasPoint))
                    {
                        if (!actionButtons[i].IsPressed())
                        {
                            switch (itemActions[i])
                            {
                            case ChoiceEffect.Equip:
                                player.EquipItem(validItems[checkingItemIndex]);
                                UpdateStatsDisplay();
                                if (chosenItemIndex > -1)
                                {
                                    ChangeButtonState(false, itemButtons[chosenItemIndex], itemTexts[chosenItemIndex],
                                                      itemAmountComponents[chosenItemIndex]);
                                }
                                chosenItemIndex = checkingItemIndex;
                                break;

                            case ChoiceEffect.Unequip:
                                player.UnequipItem(validItems[checkingItemIndex].itemID);
                                UpdateStatsDisplay();
                                ChangeButtonState(false, itemButtons[checkingItemIndex], itemTexts[checkingItemIndex],
                                                  itemAmountComponents[checkingItemIndex]);
                                checkingItemIndex = -1;
                                chosenItemIndex   = -1;
                                break;

                            case ChoiceEffect.Use:
                                break;

                            case ChoiceEffect.CloseMenu:
                                if (checkingItemIndex != chosenItemIndex)
                                {
                                    ChangeButtonState(false, itemButtons[checkingItemIndex], itemTexts[checkingItemIndex],
                                                      itemAmountComponents[checkingItemIndex]);
                                }
                                break;
                            }
                            ClearActionButtons();
                            ClearHypotheticalStatsDisplay();
                            ClearAdditionalOverlays();
                            if (textBoxUIManager != null)
                            {
                                textBoxUIManager.InterceptActionPress();
                                textBoxUIManager = null;
                            }
                        }
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
示例#4
0
 protected override void Awake()
 {
     base.Awake();
     itemDatabase           = null;
     textBoxUIManager       = null;
     sectionButtonModel     = null;
     itemButtonModel        = null;
     itemReturnButtonModel  = null;
     itemAdvanceButtonModel = null;
     actionButtonModel      = null;
     if (sectionDisplayScheme != null)
     {
         sectionButtonModel = CheckButtonValidity(sectionDisplayScheme.buttonElementModel);
     }
     Vector2[] itemContentOffsets = null;
     if (itemDisplayScheme != null)
     {
         itemButtonModel        = CheckButtonValidity(itemDisplayScheme.buttonElementModel);
         itemReturnButtonModel  = CheckButtonValidity(itemDisplayScheme.buttonReturnModel);
         itemAdvanceButtonModel = CheckButtonValidity(itemDisplayScheme.buttonAdvanceModel);
         itemContentOffsets     = itemDisplayScheme.elementContentOffsetRates;
     }
     if (actionDisplayScheme != null)
     {
         actionButtonModel = CheckButtonValidity(actionDisplayScheme.buttonElementModel);
     }
     sectionButtonObjects    = null;
     sectionButtonTransforms = null;
     sectionButtons          = null;
     sectionTextObjects      = null;
     sectionTexts            = null;
     chosenSectionIndex      = -1;
     itemButtonObjects       = null;
     itemButtonTransforms    = null;
     itemButtons             = null;
     itemTextObjects         = null;
     itemTextTransforms      = null;
     itemTexts             = null;
     itemTextOffsetRates   = Vector2.zero;
     itemAmountObjects     = null;
     itemAmountTransforms  = null;
     itemAmountComponents  = null;
     itemAmountOffsetRates = Vector2.zero;
     if (itemContentOffsets != null)
     {
         if (itemContentOffsets.Length > 0)
         {
             itemTextOffsetRates = itemContentOffsets[0];
             if (itemContentOffsets.Length > 1)
             {
                 itemAmountOffsetRates = itemContentOffsets[1];
             }
         }
     }
     itemReturnButtonObject     = null;
     itemReturnButtonTransform  = null;
     itemReturnButton           = null;
     itemAdvanceButtonObject    = null;
     itemAdvanceButtonTransform = null;
     itemAdvanceButton          = null;
     chosenItemIndex            = -1;
     checkingItemIndex          = -1;
     firstItemIndex             = -1;
     lastItemIndex          = -1;
     validItems             = new List <ItemData>();
     validItemUnits         = new List <int>();
     secondOverlayObject    = null;
     secondOverlayImage     = null;
     thirdOverlayObject     = null;
     thirdOverlayImage      = null;
     hypotheticObjects      = null;
     hypotheticTexts        = null;
     actionButtonObjects    = null;
     actionButtonTransforms = null;
     actionButtons          = null;
     actionTextObjects      = null;
     actionTexts            = null;
 }
示例#5
0
 void Awake()
 {
     cameraObject           = null;
     cameraComponent        = null;
     cameraController       = null;
     inputCollider          = gameObject.GetComponent <BoxCollider2D>();
     inputColliderOriWidth  = 0f;
     inputColliderOriHeight = 0f;
     inputColliderAltWidth  = 0f;
     inputColliderAltHeight = 0f;
     inputColliderAltered   = false;
     colliderValid          = false;
     gameController         = null;
     challengeEditor        = null;
     challengeCanvas        = null;
     challengeStage         = null;
     menu                  = null;
     textBoxUIManager      = null;
     textBoxManager        = null;
     transactionBoxManager = null;
     loadVirtualKeypad     = false;
             #if UNITY_ANDROID && !UNITY_EDITOR
     loadVirtualKeypad = true;
             #endif
     interfaceCanvasObject      = null;
     interfaceCanvas            = null;
     interfaceCanvasScreenRect  = new Rect(0f, 0f, 0f, 0f);
     halfCanvasScreenWidth      = 0f;
     halfCanvasScreenHeight     = 0f;
     interfaceCanvasFactor      = 0f;
     stickLeftBackgroundObject  = null;
     stickLeftForegroundObject  = null;
     stickRightBackgroundObject = null;
     stickRightForegroundObject = null;
     stickLeftBackgroundTrans   = null;
     stickLeftForegroundTrans   = null;
     stickRightBackgroundTrans  = null;
     stickRightForegroundTrans  = null;
     stickLeftBackgroundImage   = null;
     stickLeftForegroundImage   = null;
     stickRightBackgroundImage  = null;
     stickRightForegroundImage  = null;
     buttonObjectPause          = null;
     buttonComponentPause       = null;
     buttonTriggerPause         = null;
     buttonImagePause           = null;
     actionPressPause           = null;
     visualBlockRequested       = false;
     functionalBlockRequested   = false;
     blockerEventIDs            = null;
     controlsEnabled            = false;
     virtualKeypadVisible       = false;
     cameraPixelWidth           = 0;
     cameraPixelHeight          = 0;
     draggingLeftStick          = false;
     draggingRightStick         = false;
     stickLeftNeutralPos        = Vector2.zero;
     stickLeftTiltedPos         = Vector2.zero;
     stickLeftDirection         = Vector2.zero;
     stickRightNeutralPos       = Vector2.zero;
     stickRightTiltedPos        = Vector2.zero;
     stickRightDirection        = Vector2.zero;
     stickActiveRadius          = STICK_ACTIVE_RADIUS;
     stickActiveRadiusSqr       = stickActiveRadius * stickActiveRadius;
     stickMaxRadius             = STICK_MAX_RADIUS;
     if (stickMaxRadius < stickActiveRadius)
     {
         stickMaxRadius = stickActiveRadius;
     }
     stickMaxRadiusSqr = stickMaxRadius * stickMaxRadius;
 }
示例#6
0
 public void SetBoxManagers(TextBoxUIManager newTextBoxUIManager, TextBoxManager newTextBoxManager, TransactionBoxManager newTransactionBoxManager)
 {
     textBoxUIManager      = newTextBoxUIManager;
     textBoxManager        = newTextBoxManager;
     transactionBoxManager = newTransactionBoxManager;
 }