Esempio n. 1
0
        private void ProgressTutorial()
        {
            if (WorldScript.instance?.mWorldData != null && !WorldScript.instance.mWorldData.mbIntroCompleted)
            {
                return;
            }

            if (SurvivalPlayerScript.meTutorialState + 1 == SurvivalPlayerScript.eTutorialState.CraftSomething &&
                WorldScript.mLocalPlayer?.mInventory == null)
            {
                return;
            }

            SurvivalPlayerScript.TutorialSectionComplete();
            UIManager.mrHandbookDisplayDelay = 0;

            // TODO: Re-Add Arther Core when progressing Tutorial

//			switch (SurvivalPlayerScript.meTutorialState)
//			{
//				case SurvivalPlayerScript.eTutorialState.CraftSomething:
//					WorldScript.mLocalPlayer.mInventory.AddItem(ItemManager.SpawnItem(2000)); // Give the player an Arther Power Core
//					break;
//				case SurvivalPlayerScript.eTutorialState.ScanSomething:
//					SurvivalPlayerScript.CompleteTutorial();
//					break;
//			}
        }
    public override bool ButtonClicked(string name, SegmentEntity targetEntity)
    {
        ExtraStorageHoppers hopper = targetEntity as ExtraStorageHoppers;

        if (name == "AddRemoveButton")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            ExtraStorageHopperWindowNew.SetPermissions(WorldScript.mLocalPlayer, hopper, eHopperPermissions.AddAndRemove);
            return(true);
        }
        if (name == "AddOnlyButton")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            ExtraStorageHopperWindowNew.SetPermissions(WorldScript.mLocalPlayer, hopper, eHopperPermissions.AddOnly);
            return(true);
        }
        if (name == "RemoveOnlyButton")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            ExtraStorageHopperWindowNew.SetPermissions(WorldScript.mLocalPlayer, hopper, eHopperPermissions.RemoveOnly);
            return(true);
        }
        if (name == "LockedButton")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            ExtraStorageHopperWindowNew.SetPermissions(WorldScript.mLocalPlayer, hopper, eHopperPermissions.Locked);
            return(true);
        }
        if (name == "ToggleHoover")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            AudioHUDManager.instance.HUDIn();
            ExtraStorageHopperWindowNew.ToggleHoover(WorldScript.mLocalPlayer, hopper);
            return(true);
        }
        if (name == "ToggleShare")
        {
            UIManager.ForceNGUIUpdate = 0.1f;
            AudioHUDManager.instance.HUDIn();
            ExtraStorageHopperWindowNew.ToggleShare(WorldScript.mLocalPlayer, hopper);
            return(true);
        }
        if (name.Contains("ItemSlot"))
        {
            int num = -1;
            int.TryParse(name.Replace("ItemSlot", string.Empty), out num);
            if (num > -1)
            {
                int num2 = 100;
                if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
                {
                    num2 = 10;
                }
                if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
                {
                    num2 = 1;
                }
                ItemBase item = ItemManager.CloneItem(this.GetNthItemSlot(hopper, num));
                if (num2 < ItemManager.GetCurrentStackSize(item))
                {
                    ItemManager.SetItemCount(item, num2);
                    if (hopper.IsFull())
                    {
                        ExtraStorageHopperWindowNew.networkRedraw = true;
                    }
                    else
                    {
                        ExtraStorageHopperWindowNew.dirty = true;
                    }
                }
                else
                {
                    ExtraStorageHopperWindowNew.networkRedraw = true;
                }
                ExtraStorageHopperWindowNew.TakeItems(WorldScript.mLocalPlayer, hopper, item);
                UIManager.ForceNGUIUpdate = 0.1f;
                AudioHUDManager.instance.OrePickup();
                if (WorldScript.meGameMode == eGameMode.eSurvival && SurvivalPlayerScript.meTutorialState == SurvivalPlayerScript.eTutorialState.RemoveCoalFromHopper)
                {
                    SurvivalPlayerScript.TutorialSectionComplete();
                }
                typeof(ExtraStorageHoppers).GetField("mRetakeDebounce", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(hopper, 0.5f);
                return(true);
            }
        }
        return(false);
    }