示例#1
0
    public void RemoveStallObjectFromTrade(ExchangeSpace playerSpace)
    {
        if (playerSpace.stallObjectHeld != null)
        {
            stallObjectsSelected.Remove(playerSpace.stallObjectHeld);
            playerSpace.stallObjectHeld   = null;
            playerSpace.objectImage.color = Color.clear;

            if (stallObjectsSelected.Count == 1 && playerSpace == playerSpaces[0])
            {
                StallObject stallObjectToMove = null;
                for (int i = 0; i < playerSpaces.Count; i++)
                {
                    if (playerSpaces[i].stallObjectHeld != null)
                    {
                        stallObjectToMove = playerSpaces[i].stallObjectHeld;
                        stallObjectsSelected.Remove(playerSpaces[i].stallObjectHeld);
                        playerSpaces[i].stallObjectHeld   = null;
                        playerSpaces[i].objectImage.color = Color.clear;
                    }
                }
                AddObjectToTrade(stallObjectToMove, null);
            }
        }
    }
示例#2
0
    public void RemoveCharaObjectFromTrade(ExchangeSpace charaSpace)
    {
        if (charaSpace.charaObjectHeld != null)
        {
            charaObjectsSelected.Remove(charaSpace.charaObjectHeld);
            charaSpace.charaObjectHeld   = null;
            charaSpace.objectImage.color = Color.clear;

            if (charaObjectsSelected.Count == 1 && charaSpace == characterSpaces[0])
            {
                CharaObject charaObjectToMove = null;
                for (int i = 0; i < characterSpaces.Count; i++)
                {
                    if (characterSpaces[i].charaObjectHeld != null)
                    {
                        charaObjectToMove = characterSpaces[i].charaObjectHeld;

                        charaObjectsSelected.Remove(characterSpaces[i].charaObjectHeld);
                        characterSpaces[i].charaObjectHeld   = null;
                        characterSpaces[i].objectImage.color = Color.clear;
                    }
                }
                AddObjectToTrade(null, charaObjectToMove);
            }
        }
    }
示例#3
0
    public void OpenRadialMenu(StallObject stallObject, CharacterHandler characterHandler, ExchangeSpace exchangeSpace)
    {
        currentExchangeSpace   = exchangeSpace;
        rectTransform.position = exchangeSpace.rectTransform.position;
        appearAnim.GetReferences();
        StartCoroutine(appearAnim.anim.PlayBackward(appearAnim, true));


        currentStallObject        = stallObject;
        objectIllustration.sprite = stallObject.linkedObject.illustration;
        objectNameText.text       = stallObject.linkedObject.objectName;
        characterTargeted         = characterHandler;
        currentPotentialObject    = characterTargeted.GetPotentialFromStallObject(currentStallObject);
        isOpened = true;

        categoryRadialOptions[0].radialOption.icon.sprite = stallObject.linkedObject.features[0].categoryProperties.icon;
        categoryRadialOptions[0].radialOption.icon.color  = stallObject.linkedObject.features[0].categoryProperties.color;
        categoryRadialOptions[0].feature                = stallObject.linkedObject.features[0];
        categoryRadialOptions[0].knownFeature           = currentPotentialObject.GetKnownFeatureFromFeature(categoryRadialOptions[0].feature);
        categoryRadialOptions[0].radialOption.time.text = stallObject.linkedObject.features[0].categoryProperties.argumentRememberTime.ToString() + " s.";

        if (stallObject.linkedObject.categories.Count > 1)
        {
            categoryRadialOptions[1].radialOption.gameObject.SetActive(true);
            categoryRadialOptions[1].radialOption.icon.sprite = stallObject.linkedObject.features[1].categoryProperties.icon;
            categoryRadialOptions[1].radialOption.icon.color  = stallObject.linkedObject.features[1].categoryProperties.color;
            categoryRadialOptions[1].feature                = stallObject.linkedObject.features[1];
            categoryRadialOptions[1].knownFeature           = currentPotentialObject.GetKnownFeatureFromFeature(categoryRadialOptions[1].feature);
            categoryRadialOptions[1].radialOption.time.text = stallObject.linkedObject.features[1].categoryProperties.argumentRememberTime.ToString() + " s.";
        }
        else
        {
            categoryRadialOptions[1].radialOption.icon.color = Color.clear;
            categoryRadialOptions[1].radialOption.gameObject.SetActive(false);
        }


        for (int i = 0; i < featureRadialOptions.Count; i++)
        {
            if (i + 2 < stallObject.linkedObject.features.Count)
            {
                featureRadialOptions[i].radialOption.gameObject.SetActive(true);
                featureRadialOptions[i].radialOption.info.text = stallObject.linkedObject.features[i + 2].argumentTitle;
                featureRadialOptions[i].radialOption.time.text = stallObject.linkedObject.features[i + 2].rememberTime.ToString() + " s.";
                featureRadialOptions[i].feature      = stallObject.linkedObject.features[i + 2];
                featureRadialOptions[i].knownFeature = currentPotentialObject.GetKnownFeatureFromFeature(featureRadialOptions[i].feature);
            }
            else
            {
                featureRadialOptions[i].radialOption.gameObject.SetActive(false);
            }
        }
    }