コード例 #1
0
        public override void SetProperties()
        {
            ShowDoppleganger             = false;
            DopplegangerProps.PackName   = string.Empty;
            DopplegangerProps.PrefabName = string.Empty;
            DopplegangerMode             = WIMode.Stacked;
            DopplegangerProps.State      = "Default";
            MouseoverHover   = false;
            NormalizedDamage = 0f;
            DisplayMode      = SquareDisplayMode.Empty;

            if (IsEnabled)
            {
                MouseoverHover = true;
                if (mStack.HasTopItem)
                {
                    //Debug.Log("Wearable has top item: " + mStack.TopItem.FileName);
                    DisplayMode = SquareDisplayMode.Enabled;
                    IWIBase topItem = mStack.TopItem;
                    DopplegangerProps.CopyFrom(topItem);
                    ShowDoppleganger = true;
                    //get the damageable properties
                    System.Object damageableStateObject = null;
                    if (topItem.GetStateOf <Damageable>(out damageableStateObject))
                    {
                        DamageableState state = damageableStateObject as DamageableState;
                        NormalizedDamage = state.NormalizedDamage;
                    }
                }
            }
        }
コード例 #2
0
        public override void SetProperties()
        {
            DisplayMode             = SquareDisplayMode.Disabled;
            ShowDoppleganger        = false;
            DopplegangerMode        = WIMode.Stacked;
            DopplegangerProps.State = "Default";
            WorldItem worlditem = null;

            if (IsEnabled)
            {
                DisplayMode = SquareDisplayMode.Enabled;
                IStackOwner owner = null;
                if (mContainerToDisplay.HasOwner(out owner))
                {
                    IWIBase wiOwner = owner.worlditem;
                    DopplegangerProps.CopyFrom(wiOwner);
                    DopplegangerMode = WIMode.Stacked;
                    ShowDoppleganger = true;
                }
                else
                {
                    DisplayMode = SquareDisplayMode.Error;
                }
            }
            else if (ShowDefaultContainerWhenEmpty)
            {
                DisplayMode = SquareDisplayMode.Enabled;
                DopplegangerProps.CopyFrom(Container.DefaultContainerGenericWorldItem);
                DopplegangerMode = WIMode.Stacked;
                ShowDoppleganger = true;
            }
        }
コード例 #3
0
        public virtual void SetProperties()
        {
            ShowDoppleganger = false;
            DopplegangerMode = WIMode.Stacked;
            MouseoverHover   = false;
            DisplayMode      = SquareDisplayMode.Disabled;

            if (IsEnabled && HasStack)
            {
                DisplayMode = SquareDisplayMode.Empty;
                if (mStack.HasTopItem)
                {
                    //TEMP
                    DisplayMode = SquareDisplayMode.Enabled;
                    IWIBase topItem = mStack.TopItem;
                    ShowDoppleganger = true;
                    DopplegangerProps.CopyFrom(topItem);
                }
                MouseoverHover = true;
            }
            else
            {
                DisplayMode = SquareDisplayMode.Disabled;
            }
        }
コード例 #4
0
        public override void SetProperties()
        {
            DisplayMode      = SquareDisplayMode.Disabled;
            ShowDoppleganger = false;
            MouseoverHover   = false;
            DopplegangerMode = WIMode.Crafting;

            if (!EnabledForBlueprint || !HasBlueprint)
            {
                if (HasStack && mStack.HasTopItem)
                {
                    MouseoverHover   = true;
                    ShowDoppleganger = true;
                    DopplegangerMode = WIMode.Stacked;
                    IWIBase topItem = mStack.TopItem;
                    DopplegangerProps.CopyFrom(topItem);
                    DisplayMode = SquareDisplayMode.Enabled;
                    //?
                }
                else
                {
                    DopplegangerProps.Clear();
                    RequirementBlueprint = string.Empty;
                }
            }
            else
            {
                MouseoverHover   = true;
                ShowDoppleganger = true;
                DopplegangerProps.Clear();
                if (HasStack && mStack.HasTopItem)
                {
                    DopplegangerMode = WIMode.Stacked;
                    IWIBase topItem = mStack.TopItem;
                    DopplegangerProps.CopyFrom(topItem);
                    if (AreRequirementsMet)
                    {
                        DisplayMode = SquareDisplayMode.Success;
                    }
                    else
                    {
                        DisplayMode = SquareDisplayMode.Error;
                    }
                }
                else
                {
                    //we know this because we can't meet requirements without items
                    mRequirementsMet   = false;
                    mNumCraftableItems = 0;
                    DopplegangerProps.CopyFrom(RequiredItemTemplate);
                    DisplayMode = SquareDisplayMode.Enabled;
                }
            }
        }
コード例 #5
0
        public override void UpdateDisplay()
        {
            InventoryItemName.text = string.Empty;
            DisplayMode            = SquareDisplayMode.Disabled;
            string stackNumberLabelText = string.Empty;

            ShowDoppleganger = false;
            MouseoverHover   = false;
            Collider.enabled = false;
            DopplegangerProps.CopyFrom(mCraftedItemTemplate);

            if (HasItemTemplate)
            {
                DisplayMode      = SquareDisplayMode.Enabled;
                ShowDoppleganger = true;

                if (NumItemsCrafted > 0)
                {
                    Collider.enabled     = true;
                    DisplayMode          = SquareDisplayMode.Success;
                    MouseoverHover       = true;
                    DopplegangerMode     = WIMode.Stacked;
                    stackNumberLabelText = NumItemsCrafted.ToString();
                }
                else
                {
                    DopplegangerMode = WIMode.Stacked;
                    if (NumItemsPossible > 0)
                    {
                        stackNumberLabelText = NumItemsPossible.ToString();
                    }
                }
            }

            if (!string.IsNullOrEmpty(stackNumberLabelText))
            {
                StackNumberLabel.enabled = true;
                StackNumberLabel.text    = stackNumberLabelText;
            }
            else
            {
                StackNumberLabel.enabled = false;
            }

            base.UpdateDisplay();
        }
コード例 #6
0
        public override void SetProperties()
        {
            DisplayMode             = SquareDisplayMode.Empty;
            MouseoverHover          = false;
            DopplegangerMode        = WIMode.Stacked;
            ShowDoppleganger        = false;
            DopplegangerProps.State = "Default";

            if (IsEnabled)
            {
                DisplayMode = SquareDisplayMode.Enabled;
                if (HasItemsToOffer)
                {
                    MouseoverHover   = true;
                    ShowDoppleganger = true;
                    IWIBase topItem = Goods.TopItem;
                    DopplegangerProps.CopyFrom(topItem);
                    if (IsStolen)
                    {
                        DisplayMode = SquareDisplayMode.Error;
                    }
                }
            }
        }
コード例 #7
0
        public override void UpdateDisplay()
        {
            string inventoryItemName = string.Empty;

            switch (CurrencyType)
            {
            case WICurrencyType.A_Bronze:
            default:
                DopplegangerProps.CopyFrom(Currency.BronzeGenericWorldItem);
                inventoryItemName = Currency.BronzeCurrencyNamePlural;
                break;

            case WICurrencyType.B_Silver:
                DopplegangerProps.CopyFrom(Currency.SilverGenericWorldItem);
                inventoryItemName = Currency.SilverCurrencyNamePlural;
                break;

            case WICurrencyType.C_Gold:
                DopplegangerProps.CopyFrom(Currency.GoldIGenericWorldItem);
                inventoryItemName = Currency.GoldCurrencyNamePlural;
                break;

            case WICurrencyType.D_Luminite:
                DopplegangerProps.CopyFrom(Currency.LumenGenericWorldItem);
                inventoryItemName = Currency.LumenCurrencyNamePlural;
                break;

            case WICurrencyType.E_Warlock:
                DopplegangerProps.CopyFrom(Currency.WarlockGenericWorldItem);
                inventoryItemName = Currency.WarlockCurrencyNamePlural + Colors.ColorWrap("\n(Warlock Coin)", Colors.Darken(StackNumberLabel.color));
                if (InventoryItemName != null)
                {
                    InventoryItemName.multiLine = true;
                }
                break;
            }

            if (InventoryItemName != null)
            {
                InventoryItemName.text = inventoryItemName;
            }

            if (DetailedPrices)
            {
                if (StackNumberLabel != null)
                {
                    StackNumberLabel.transform.localPosition = new Vector3(0f, 0f, -120f);                     //new Vector3(80f, 0f, -120f);
                    StackNumberLabel.pivot = UIWidget.Pivot.Center;
                }

                if (InventoryItemName != null)
                {
                    InventoryItemName.pivot     = UIWidget.Pivot.Right;
                    InventoryItemName.lineWidth = 200;
                }

                MultiplierLabel.enabled = true;
                if (CurrencyType != WICurrencyType.A_Bronze)
                {
                    BronzeDoppleganger = WorldItems.GetDoppleganger(Currency.BronzeGenericWorldItem, transform, BronzeDoppleganger, WIMode.Stacked, 0.4f);
                }
                else
                {
                    BronzeDoppleganger = WorldItems.GetDoppleganger(Currency.BronzeGenericWorldItem, gameObject.FindOrCreateChild("BronzeDopParent").transform, BronzeDoppleganger, WIMode.Stacked, 0.4f);
                }
                BronzeDoppleganger.transform.localPosition = new Vector3(72f, 0f, -125f);
                MultiplierLabel.text = "+ " + Colors.ColorWrap("$", Colors.Darken(MultiplierLabel.color)) + Currency.ConvertToBaseCurrency(CurrencyAmount, CurrencyType).ToString();
                MultiplierLabel.transform.localScale    = Vector3.one * 20f;
                MultiplierLabel.transform.localPosition = new Vector3(90f, 0f, -125f);
                MultiplierArrow.enabled = true;
                MultiplierArrow.transform.localPosition = new Vector3(80f, 10f, 0f);
                CurrencyShadow.enabled = true;
                CurrencyShadow.color   = Colors.Alpha(Color.black, 0.25f);
                CurrencyShadow.transform.localPosition = new Vector3(0f, 0f, -80f);
            }
            else
            {
                if (MultiplierArrow != null)
                {
                    MultiplierArrow.enabled = false;
                }
                if (MultiplierLabel != null)
                {
                    MultiplierLabel.enabled = false;
                }
            }

            if (StackNumberLabel != null)
            {
                StackNumberLabel.text = Colors.ColorWrap("$", Colors.Darken(StackNumberLabel.color)) + CurrencyAmount.ToString();
            }

            DisplayMode      = SquareDisplayMode.Enabled;
            ShowDoppleganger = true;
            MouseoverHover   = false;

            base.UpdateDisplay();

            if (RemoveFromFromOnClick != null && TransferToOnClick != null)
            {
                MouseoverHover = true;
            }
            else
            {
                MouseoverHover = false;
            }
        }