Exemple #1
0
    private void SetupRequiredItems()
    {
        if (!this.m_RequiredItems)
        {
            return;
        }
        if (this.IsExpanded())
        {
            this.m_RequiredItems.gameObject.SetActive(false);
            return;
        }
        Trigger trigger = this.GetTrigger();

        if (trigger == null || trigger.m_RequiredItems.Count == 0)
        {
            this.m_RequiredItems.gameObject.SetActive(false);
            return;
        }
        if (trigger.CanExecuteActions())
        {
            this.m_RequiredItems.gameObject.SetActive(false);
            return;
        }
        if (trigger.m_CantExecuteActionsDuringDialog && DialogsManager.Get().IsAnyDialogPlaying())
        {
            this.m_RequiredItems.gameObject.SetActive(false);
            return;
        }
        int num = 0;

        foreach (ItemID id in trigger.m_RequiredItems)
        {
            TriggerRIData triggerRIData = this.m_RequiredItemsData[num];
            ItemInfo      info          = ItemsManager.Get().GetInfo(id);
            if (info != null)
            {
                string iconName = info.m_IconName;
                Sprite sprite   = null;
                ItemsManager.Get().m_ItemIconsSprites.TryGetValue(iconName, out sprite);
                if (!sprite)
                {
                    this.m_SpritesMap.TryGetValue(iconName, out sprite);
                }
                if (sprite)
                {
                    triggerRIData.m_Icon.sprite = sprite;
                    triggerRIData.m_Icon.gameObject.SetActive(true);
                }
                else
                {
                    triggerRIData.m_Icon.gameObject.SetActive(false);
                }
                triggerRIData.m_Text.text = GreenHellGame.Instance.GetLocalization().Get(id.ToString(), true);
                triggerRIData.m_Parent.SetActive(true);
                Vector3 localPosition = triggerRIData.m_Parent.transform.localPosition;
                localPosition.y = -8f * (float)num;
                triggerRIData.m_Parent.transform.localPosition = localPosition;
                if (Player.Get().HaveItem(id))
                {
                    triggerRIData.m_Text.color = Color.white;
                }
                else
                {
                    triggerRIData.m_Text.color = Color.red;
                }
                num++;
            }
        }
        for (int i = num; i < this.m_RequiredItemsData.Count; i++)
        {
            this.m_RequiredItemsData[i].m_Parent.SetActive(false);
        }
        this.m_RequiredItems.gameObject.SetActive(true);
    }
Exemple #2
0
    protected override void Awake()
    {
        base.Awake();
        if (this.m_TriggerType == HUDTrigger.TriggerType.Normal)
        {
            HUDTrigger.s_NormalInstance = this;
        }
        else
        {
            HUDTrigger.s_AdditionalInstance = this;
        }
        this.m_Parent          = base.transform.Find("Group").gameObject;
        this.m_CanvasGroup     = this.m_Parent.AddComponent <CanvasGroup>();
        this.m_DefaultPosition = this.m_Parent.transform.localPosition;
        for (int i = 0; i < 2; i++)
        {
            this.m_KeyFrames[i] = this.m_Parent.transform.FindDeepChild("KeyFrame" + i.ToString()).gameObject.GetComponent <RawImage>();
            this.m_Keys[i]      = this.m_Parent.transform.FindDeepChild("Key" + i.ToString()).gameObject.GetComponent <Text>();
            this.m_Actions[i]   = this.m_Parent.transform.FindDeepChild("Action" + i.ToString()).gameObject.GetComponent <Text>();
            this.m_PadIcons[i]  = this.m_Parent.transform.FindDeepChild("PadIcon" + i.ToString()).gameObject.GetComponent <Image>();
            if (this.m_TriggerType == HUDTrigger.TriggerType.Normal)
            {
                this.m_MouseRMBIcon[i] = this.m_Parent.transform.FindDeepChild("MouseRMBIcon" + i.ToString()).GetComponent <RawImage>();
                if (i > 0)
                {
                    this.m_KeyFrameParents[i] = this.m_Parent.transform.FindDeepChild("KeyFrameParent" + i.ToString()).GetComponent <RectTransform>();
                }
            }
        }
        this.m_Name           = this.m_Parent.transform.Find("Name").gameObject.GetComponent <Text>();
        this.m_Icon           = this.m_Parent.transform.Find("Icon").gameObject.GetComponent <Image>();
        this.m_HoldProgress   = this.m_Icon.transform.Find("HoldProgress").gameObject.GetComponent <Image>();
        this.m_AdditionalIcon = this.m_Icon.transform.Find("AdditionalIcon").gameObject.GetComponent <Image>();
        Transform transform = this.m_Parent.transform.Find("Info/AdditionalInfo");

        if (transform != null)
        {
            this.m_AdditionalInfo = transform.gameObject.GetComponent <Text>();
        }
        this.m_Parent.SetActive(false);
        this.m_TextGen = new TextGenerator();
        this.m_ConsumableEffectsDummy = this.m_Parent.transform.Find("Info/ConsumableEffectsDummy");
        Transform transform2 = this.m_Parent.transform.Find("Info/ConsumableEffects");

        if (transform2)
        {
            this.m_ConsumableEffects = transform2.gameObject.GetComponent <Text>();
            this.m_ConsumableEffects.GetComponent <Text>().text = GreenHellGame.Instance.GetLocalization().Get("HUDTrigger_ConsumableEffects", true).ToUpper();
            this.m_UnknownEffect = this.m_ConsumableEffects.gameObject.FindChild("UnknownEffect");
            this.m_UnknownEffect.GetComponent <Text>().text = GreenHellGame.Instance.GetLocalization().Get("HUDTrigger_Unknown", true).ToUpper();
            for (int j = 0; j < 999; j++)
            {
                Transform transform3 = transform2.Find("Effect_" + j);
                if (!transform3)
                {
                    break;
                }
                TriggerCEData triggerCEData = new TriggerCEData();
                triggerCEData.m_Parent = transform3.gameObject;
                triggerCEData.m_Icon   = transform3.Find("Icon").gameObject.GetComponent <Image>();
                triggerCEData.m_Text   = transform3.Find("Text").gameObject.GetComponent <Text>();
                this.m_EffectsData.Add(triggerCEData);
            }
        }
        Transform transform4 = this.m_Parent.transform.Find("RequiredItems");

        if (transform4)
        {
            this.m_RequiredItems = transform4.gameObject.GetComponent <Text>();
            this.m_RequiredItems.GetComponent <Text>().text = GreenHellGame.Instance.GetLocalization().Get("HUDTrigger_RequiredItems", true).ToUpper();
            for (int k = 0; k < 999; k++)
            {
                Transform transform5 = transform4.Find("Item_" + k);
                if (!transform5)
                {
                    break;
                }
                TriggerRIData triggerRIData = new TriggerRIData();
                triggerRIData.m_Parent = transform5.gameObject;
                triggerRIData.m_Icon   = transform5.Find("Icon").gameObject.GetComponent <Image>();
                triggerRIData.m_Text   = transform5.Find("Text").gameObject.GetComponent <Text>();
                this.m_RequiredItemsData.Add(triggerRIData);
            }
        }
        for (int l = 0; l < this.m_Sprites.Count; l++)
        {
            if (this.m_Sprites[l] != null)
            {
                this.m_SpritesMap.Add(this.m_Sprites[l].name, this.m_Sprites[l]);
            }
        }
        if (this.m_TriggerType == HUDTrigger.TriggerType.Normal)
        {
            this.m_AcrePlowIcon = UnityEngine.Object.Instantiate <GameObject>(this.m_AcreSeedicon, this.m_AcreSeedicon.transform.position, this.m_AcreSeedicon.transform.rotation, this.m_AcreSeedicon.transform.parent);
            Sprite sprite = null;
            ItemsManager.Get().m_ItemIconsSprites.TryGetValue("plow_icon", out sprite);
            this.m_AcrePlowIcon.GetComponent <Image>().sprite = sprite;
            this.m_AcrePlowIcon.gameObject.SetActive(false);
            this.m_AcrePlowIcon.name = "AcrePlow";
        }
    }