public override void OnExecute(TriggerAction.TYPE action) { base.OnExecute(action); AI.AIID id = this.m_AI.m_ID; Item item = ItemsManager.Get().CreateItem(id.ToString() + "_Body", false); if (id == AI.AIID.PoisonDartFrog) { List <Renderer> componentsDeepChild = General.GetComponentsDeepChild <Renderer>(base.gameObject); Material material = null; for (int i = 0; i < componentsDeepChild.Count; i++) { material = componentsDeepChild[i].material; } item.ApplyMaterial(material); } if (!item.Take()) { Inventory3DManager.Get().DropItem(item); } UnityEngine.Object.Destroy(this.m_AI.gameObject); this.m_AI = null; }
public override void OnAnimEvent(AnimEventID id) { base.OnAnimEvent(id); if (id == AnimEventID.CraftingEnd) { Inventory3DManager.Get().m_InventoryImage.enabled = true; InventoryBackpack.Get().m_Backpack.gameObject.SetActive(true); CursorManager.Get().ShowCursor(true); Inventory3DManager.Get().m_InputsBlocked = false; CraftingManager.Get().Craft(); this.m_Animator.SetBool(this.m_CraftHash, false); this.m_AudioSource.Stop(); this.m_InProgress = false; if (this.m_Player.GetCurrentItem(Hand.Right)) { this.m_Player.GetCurrentItem(Hand.Right).gameObject.SetActive(true); } if (this.m_Player.GetCurrentItem(Hand.Left)) { this.m_Player.GetCurrentItem(Hand.Left).gameObject.SetActive(true); } } }
public void OnNotepad(GameObject obj) { if (!Player.Get().CanShowNotepad()) { return; } if (Inventory3DManager.Get().gameObject.activeSelf) { Inventory3DManager.Get().Deactivate(); } if (BodyInspectionController.Get().IsActive()) { Player.Get().StopController(PlayerControllerType.BodyInspection); } if (!NotepadController.Get().IsActive()) { Player.Get().StartController(PlayerControllerType.Notepad); } else { NotepadController.Get().Hide(); } }
private void PlayMovieWithFadeInternal() { this.m_TextSkip.text = GreenHellGame.Instance.GetLocalization().Get("HUDSkipMovie"); VideoClip videoClip = Resources.Load("Movies/" + this.m_MovieName) as VideoClip; if (videoClip == null) { this.SetState(MovieWithFadeState.PreFadeOut); return; } this.m_VideoPlayer.clip = videoClip; this.m_VideoPlayer.SetTargetAudioSource(0, base.GetComponent <AudioSource>()); this.m_VideoPlayer.Play(); this.m_Texture.enabled = true; this.m_Texture.gameObject.SetActive(true); this.m_BG.gameObject.SetActive(true); this.m_PlayingMovieClip = videoClip; this.m_MainCamera = Camera.main; this.m_MainCamera.enabled = false; Inventory3DManager.Get().m_Camera.enabled = false; this.m_Camera.enabled = true; this.m_VideoJustStarted = true; }
public void PlayCutscene(string name) { if (Scenario.Get().m_IsLoading) { return; } PlayableDirector cutscene = this.GetCutscene(name); if (!cutscene) { return; } if (Inventory3DManager.Get().gameObject.activeSelf) { Inventory3DManager.Get().Deactivate(); } this.m_CurrentCutscene = cutscene; this.m_CurrentCutscene.Play(); this.m_PlayTime = 0f; Watch.Get().gameObject.SetActive(true); Player.Get().StartController(PlayerControllerType.PlayerCutscene); PlayableDirectorEx component = cutscene.gameObject.GetComponent <PlayableDirectorEx>(); if (component != null) { this.m_PlayableDirectorEx = component; if (component.m_FollowOffsetHelper) { this.m_StoreStartPosition = true; return; } } else { DebugUtils.Assert("Missing PlayableDirectorEx in cutscene - " + name, true, DebugUtils.AssertType.Info); } }
private void UpdateBlock() { bool flag = InputsManager.Get().IsActionActive(InputsManager.InputAction.Block); if (this.m_IsBlock != flag && !Player.Get().m_Animator.GetBool(Player.Get().m_CleanUpHash)) { this.SetBlock(!this.m_IsBlock); } if (!flag) { this.m_WasBlockBroken = false; } if (this.m_IsBlock) { this.m_LastBlockTime = Time.time; PlayerConditionModule.Get().DecreaseStamina(PlayerConditionModule.Get().GetStaminaDecrease(StaminaDecreaseReason.Block) * Time.deltaTime); if (SwimController.Get().IsActive()) { this.SetBlock(false); return; } if (Inventory3DManager.Get().gameObject.activeSelf) { this.SetBlock(false); return; } if (HUDReadableItem.Get().enabled) { this.SetBlock(false); return; } if (Player.Get().m_Animator.GetBool(Player.Get().m_CleanUpHash)) { this.SetBlock(false); } } }
protected override void OnShow() { base.OnShow(); Player.Get().BlockRotation(); CursorManager.Get().ShowCursor(true); Vector3 position = base.gameObject.transform.position; CursorManager.Get().SetCursorPos(position); for (int i = 0; i < 6; i++) { if (!this.IsSlotActive((HUDWheel.HUDWheelSlot)i)) { this.m_Icons[i].color = this.m_InactiveColor; } else { this.m_Icons[i].color = this.m_ActiveColor; } } if (Inventory3DManager.Get().IsActive()) { Inventory3DManager.Get().Deactivate(); } if (BodyInspectionController.Get().IsActive()) { BodyInspectionController.Get().Hide(); } if (NotepadController.Get().IsActive()) { NotepadController.Get().Hide(); } if (MapController.Get().IsActive()) { MapController.Get().Hide(); } }
protected override void Update() { base.Update(); this.UpdateAnimations(); this.UpdateColor(); this.UpdateEquippedIcon(); this.m_PadQuitHint.SetActive(GreenHellGame.IsPadControllerActive() && !BodyInspectionController.Get().IsActive()); this.m_PadSortHint.SetActive(GreenHellGame.IsPadControllerActive() && !BodyInspectionController.Get().IsActive()); this.m_IsHovered = RectTransformUtility.RectangleContainsScreenPoint(this.m_BG.rectTransform, Input.mousePosition); if (this.m_IsHovered) { PocketImageData pocketImageData = null; foreach (PocketImageData pocketImageData2 in this.m_PocketImages) { if (pocketImageData2.selection.gameObject.activeSelf) { pocketImageData = pocketImageData2; break; } } CursorManager.Get().SetCursor((pocketImageData != null) ? CursorManager.TYPE.MouseOver : CursorManager.TYPE.Normal); if (pocketImageData != null && Input.GetKeyDown(InputHelpers.PadButton.Button_X.KeyFromPad())) { this.OnPocketClick(pocketImageData.pocket.ToString()); } } foreach (Image image in this.m_PADChangeTabs) { if (image.gameObject.activeSelf) { Color color = image.color; color.a = (Inventory3DManager.Get().m_CarriedItem ? (this.m_PADChangeTabDefaultAlpha * 0.5f) : this.m_PADChangeTabDefaultAlpha); image.color = color; } } }
public void StartCrafting(List<Item> items) { this.m_Items.Clear(); foreach (Item item in items) { this.m_Items.Add(item); item.gameObject.SetActive(false); } CraftingManager.Get().RemoveAllItems(true); this.m_Animator.SetBool(this.m_CraftHash, true); if (this.m_Player.GetCurrentItem(Hand.Right)) { this.m_Player.GetCurrentItem(Hand.Right).gameObject.SetActive(false); } if (this.m_Player.GetCurrentItem(Hand.Left)) { this.m_Player.GetCurrentItem(Hand.Left).gameObject.SetActive(false); } Inventory3DManager.Get().Deactivate(); Player.Get().BlockMoves(); Player.Get().BlockRotation(); this.m_InProgress = true; this.PlayCraftingSound(); }
public bool PlayMovie(string movie_name) { this.m_Type = MovieType.Simple; this.m_TextSkip.text = GreenHellGame.Instance.GetLocalization().Get("HUDSkipMovie"); VideoClip videoClip = Resources.Load("Movies/" + movie_name) as VideoClip; if (videoClip == null) { return(false); } this.m_VideoPlayer.clip = videoClip; this.m_VideoPlayer.SetTargetAudioSource(0, base.GetComponent <AudioSource>()); this.m_VideoPlayer.Play(); this.m_Texture.enabled = true; this.m_Texture.gameObject.SetActive(true); this.m_BG.gameObject.SetActive(true); this.m_PlayingMovieClip = videoClip; this.m_MainCamera = Camera.main; this.m_MainCamera.enabled = false; Inventory3DManager.Get().m_Camera.enabled = false; this.m_Camera.enabled = true; this.m_VideoJustStarted = true; return(true); }
protected override bool ShouldShow() { return(!Player.Get().IsDead() && !Player.Get().m_DreamActive&& !CutscenesManager.Get().IsCutscenePlaying() && !SleepController.Get().IsActive() && !HUDWheel.Get().enabled&& !Storage3D.Get().IsActive() && !BodyInspectionController.Get().IsBandagingInProgress() && (Inventory3DManager.Get().gameObject.activeSelf || NotepadController.Get().IsActive() || MapController.Get().IsActive() || BodyInspectionController.Get().IsActive())); }
private void UpdateSlotActivity() { if (!Inventory3DManager.Get().m_CarriedItem) { this.m_GetFromContainerSlot.gameObject.SetActive(false); } else if (Inventory3DManager.Get().m_CarriedItem.m_Info.m_ID == ItemID.Coconut) { this.m_GetFromContainerSlot.gameObject.SetActive(false); } else if (this.m_GetFromContainerSlot.gameObject.activeSelf) { if (!this.m_GetFromContainerSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { this.m_GetFromContainerSlot.gameObject.SetActive(false); } } else if (this.m_GetFromContainerSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { LiquidContainerInfo liquidContainerInfo = (LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info; if (liquidContainerInfo.m_Amount < liquidContainerInfo.m_Capacity) { this.m_GetFromContainerSlot.gameObject.SetActive(true); } } if (this.m_Info.m_ID == ItemID.Coconut) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); this.m_PourToCollectorSlot.gameObject.SetActive(false); } if (this.m_GetFromCollectorSlot) { if (this.m_CollectorData.m_Amount < 1f) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } else if (this.m_CollectorData.m_Amount > 0f && this.m_CollectorLiquidType != LiquidType.Water && this.m_CollectorLiquidType != LiquidType.UnsafeWater && this.m_CollectorLiquidType != LiquidType.DirtyWater) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } else if (this.m_GetFromCollectorSlot.gameObject.activeSelf) { if (this.m_CollectorData.m_Amount < 1f) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } else if (!this.m_GetFromCollectorSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } else { LiquidContainerInfo liquidContainerInfo2 = (LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info; if (liquidContainerInfo2.m_Amount >= liquidContainerInfo2.m_Capacity) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } } } else if (this.m_GetFromCollectorSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { if (Inventory3DManager.Get().m_CarriedItem.m_Info.m_ID == ItemID.Coconut) { this.m_GetFromCollectorSlot.gameObject.SetActive(false); } else { LiquidContainerInfo liquidContainerInfo3 = (LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info; if (liquidContainerInfo3.m_Amount < liquidContainerInfo3.m_Capacity) { this.m_GetFromCollectorSlot.gameObject.SetActive(true); } } } } if (this.m_PourToCollectorSlot) { if (this.m_PourToCollectorSlot.gameObject.activeSelf) { if (!Inventory3DManager.Get().m_CarriedItem) { this.m_PourToCollectorSlot.gameObject.SetActive(false); return; } if (((LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info).m_Amount < 1f) { this.m_PourToCollectorSlot.gameObject.SetActive(false); return; } if (!this.m_PourToCollectorSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { this.m_PourToCollectorSlot.gameObject.SetActive(false); return; } if (this.m_CollectorData.m_Amount >= this.m_CollectorData.m_Capacity) { this.m_PourToCollectorSlot.gameObject.SetActive(false); return; } } else if (this.m_PourToCollectorSlot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem)) { if ((this.m_Info.m_ID == ItemID.Bidon || this.m_Info.m_ID == ItemID.Coconut_Bidon) && Inventory3DManager.Get().m_CarriedItem.m_Info.IsLiquidContainer() && ((LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info).m_Amount >= 1f && ((LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info).m_LiquidType != LiquidType.Water && ((LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info).m_LiquidType != LiquidType.UnsafeWater && ((LiquidContainerInfo)Inventory3DManager.Get().m_CarriedItem.m_Info).m_LiquidType != LiquidType.DirtyWater) { this.m_PourToCollectorSlot.gameObject.SetActive(false); return; } if (this.m_CollectorData.m_Amount < this.m_CollectorData.m_Capacity) { this.m_PourToCollectorSlot.gameObject.SetActive(true); } } } }
private void SetupConsumableEffects() { if (!this.m_ConsumableEffects) { return; } if (!Inventory3DManager.Get().gameObject.activeSelf || this.IsExpanded()) { this.m_ConsumableEffects.gameObject.SetActive(false); return; } Trigger trigger = this.GetTrigger(); if (trigger == null || !trigger.IsItem()) { this.m_ConsumableEffects.gameObject.SetActive(false); return; } Item item = (Item)trigger; if (!item.m_Info.IsConsumable() && !item.m_Info.IsLiquidContainer()) { this.m_ConsumableEffects.gameObject.SetActive(false); return; } int num = 0; if (item.m_Info.IsConsumable()) { if (!ItemsManager.Get().WasConsumed(item.m_Info.m_ID)) { this.m_UnknownEffect.SetActive(true); } else { this.m_UnknownEffect.SetActive(false); ConsumableInfo consumableInfo = (ConsumableInfo)item.m_Info; if (consumableInfo.m_Proteins > 0f) { this.SetupEffect("Watch_protein_icon", IconColors.GetColor(IconColors.Icon.Proteins), consumableInfo.m_Proteins, "HUD_Nutrition_Protein", ref num, -1f); } if (consumableInfo.m_Fat > 0f) { this.SetupEffect("Watch_fat_icon", IconColors.GetColor(IconColors.Icon.Fat), consumableInfo.m_Fat, "HUD_Nutrition_Fat", ref num, -1f); } if (consumableInfo.m_Carbohydrates > 0f) { this.SetupEffect("Watch_carbo_icon", IconColors.GetColor(IconColors.Icon.Carbo), consumableInfo.m_Carbohydrates, "HUD_Nutrition_Carbo", ref num, -1f); } if (consumableInfo.m_Water > 0f) { this.SetupEffect("Watch_water_icon", IconColors.GetColor(IconColors.Icon.Hydration), consumableInfo.m_Water, "HUD_Hydration", ref num, -1f); } if (consumableInfo.m_AddEnergy > 0f) { this.SetupEffect("Energy_icon", Color.white, consumableInfo.m_AddEnergy, "HUD_Energy", ref num, -1f); } if ((float)consumableInfo.m_SanityChange > 0f) { this.SetupEffect("Default_Pickup", Color.white, (float)consumableInfo.m_SanityChange, "HUD_Sanity", ref num, -1f); } if (consumableInfo.m_ConsumeEffect == ConsumeEffect.FoodPoisoning) { this.SetupEffect("Vomit_icon_H", Color.white, (float)consumableInfo.m_ConsumeEffectLevel, "HUD_FoodPoisoning", ref num, -1f); } } } else if (item.m_Info.IsLiquidContainer()) { LiquidContainerInfo liquidContainerInfo = (LiquidContainerInfo)item.m_Info; if (liquidContainerInfo.m_Amount > 0f) { LiquidData liquidData = LiquidManager.Get().GetLiquidData(liquidContainerInfo.m_LiquidType); if (liquidContainerInfo.m_Amount > 0f) { this.SetupEffect("Watch_water_icon", IconColors.GetColor(IconColors.Icon.Hydration), liquidContainerInfo.m_Amount, "HUD_Hydration", ref num, liquidContainerInfo.m_Capacity); } if (liquidData.m_Energy > 0f) { this.SetupEffect("Energy_icon", Color.white, liquidData.m_Energy, "HUD_Energy", ref num, -1f); } if (liquidData.m_ConsumeEffect == ConsumeEffect.FoodPoisoning) { this.SetupEffect("Vomit_icon_H", Color.white, (float)liquidData.m_ConsumeEffectLevel, "HUD_FoodPoisoning", ref num, -1f); } } this.m_UnknownEffect.SetActive(num == 0); } for (int i = num; i < this.m_EffectsData.Count; i++) { this.m_EffectsData[i].m_Parent.SetActive(false); } this.m_ConsumableEffects.gameObject.SetActive(true); }
private bool CanAttack() { return(!FightController.s_BlockFight && !MainLevel.Instance.IsPause() && Time.time - MainLevel.Instance.m_LastUnpauseTime >= 0.25f && !this.m_Player.IsDead() && !SwimController.Get().IsActive() && !HUDWheel.Get().enabled&& !BodyInspectionController.Get().IsActive() && !WatchController.Get().IsActive() && !NotepadController.Get().IsActive() && !MapController.Get().IsActive() && this.m_ActionAllowed && !this.m_Player.GetRotationBlocked() && !Inventory3DManager.Get().gameObject.activeSelf&& !HitReactionController.Get().IsActive() && !base.IsBlock() && this.m_CurrentParam != 6 && this.m_CurrentParam != 8 && !ScenarioManager.Get().IsBoolVariableTrue("PlayerMechGameEnding") && !HUDSelectDialog.Get().enabled); }
protected override void Update() { base.Update(); this.m_BackpackHint.SetActive(GreenHellGame.IsPadControllerActive() && !Inventory3DManager.Get().IsActive()); this.m_SortBackpackHint.SetActive(GreenHellGame.IsPadControllerActive() && Inventory3DManager.Get().IsActive()); Limb limb = Limb.None; if (GreenHellGame.IsPCControllerActive()) { for (int i = 0; i < 4; i++) { if (this.m_SelectionColliders[i].OverlapPoint(Input.mousePosition)) { limb = (Limb)i; break; } } } else if (!HUDItem.Get().enabled) { float axis = CrossPlatformInputManager.GetAxis("LeftStickX"); float axis2 = CrossPlatformInputManager.GetAxis("LeftStickY"); Vector2 zero = Vector2.zero; zero.x = axis; zero.y = axis2; if (zero.magnitude > 0.08f) { float num = Vector3.Angle(zero, Vector3.up); if (axis > 0f) { num = 360f - num; } if (num <= 90f) { limb = Limb.RArm; } else if (num > 90f && num <= 180f) { limb = Limb.RLeg; } else if (num > 180f && num <= 270f) { limb = Limb.LLeg; } else if (num > 270f) { limb = Limb.LArm; } } } this.SelectLimb(limb); if ((GreenHellGame.IsPCControllerActive() && Input.GetMouseButtonDown(0)) || (GreenHellGame.IsPadControllerActive() && Input.GetKeyDown(InputHelpers.PadButton.L3.KeyFromPad()))) { this.OnClickLimb(limb); switch (limb) { case Limb.LArm: BodyInspectionController.Get().m_Inputs.m_ChooseLimbX = -1f; BodyInspectionController.Get().m_Inputs.m_ChooseLimbY = 1f; break; case Limb.RArm: BodyInspectionController.Get().m_Inputs.m_ChooseLimbX = 1f; BodyInspectionController.Get().m_Inputs.m_ChooseLimbY = 1f; break; case Limb.LLeg: BodyInspectionController.Get().m_Inputs.m_ChooseLimbX = -1f; BodyInspectionController.Get().m_Inputs.m_ChooseLimbY = -1f; break; case Limb.RLeg: BodyInspectionController.Get().m_Inputs.m_ChooseLimbX = 1f; BodyInspectionController.Get().m_Inputs.m_ChooseLimbY = -1f; break; } } this.UpdateArmor(); this.UpdateSmallIcons(); this.UpdateArmorTooltip(); }
public override void UpdateScale() { if (!GulliverMod.IsEnabled) { base.UpdateScale(); } else { if (m_IsBeingDestroyed || !ReplIsOwner()) { return; } m_WantedScale = m_DefaultLocalScale; if (m_CurrentSlot && m_CurrentSlot.m_InventoryStackSlot) { m_WantedScale = Vector3.one; } else { if (m_CurrentSlot != null && m_CurrentSlot.m_IsHookBaitSlot) { return; } else if (Inventory3DManager.Get().m_StackItems.Contains(this)) { m_WantedScale = Vector3.one; } else if ((m_InInventory || m_InStorage) && (!m_CurrentSlot || !m_CurrentSlot.m_InventoryStackSlot) || m_OnCraftingTable || Inventory3DManager.Get().m_CarriedItem == this) { m_WantedScale = m_InventoryLocalScale; } else if (m_CurrentSlot != null && (m_CurrentSlot.m_ParentType == ItemSlot.ParentType.FoodProcessor || m_CurrentSlot.m_ParentType == ItemSlot.ParentType.WaterCollector || m_CurrentSlot.m_ParentType == ItemSlot.ParentType.WaterFilter)) { m_WantedScale = Vector3.one; } else if (m_CurrentSlot != null && !m_CurrentSlot.m_InventoryStackSlot) { m_WantedScale = m_InventoryLocalScale; } else if (m_Info != null && m_Info.IsArrow() && ((Arrow)(Item)this).m_Loaded) { m_WantedScale = Vector3.one; } } if (m_WantedScale != transform.localScale) { transform.localScale = m_WantedScale; ReplSetDirty(); } } }
public bool CanTrigger() { return(!this.m_Item || !this.m_Item.m_CurrentSlot || Inventory3DManager.Get().IsActive()); }
private void ExecuteAction(HUDItem.Action action, Item item) { if (action != HUDItem.Action.Close && this.m_ItemReplacer != null) { item = this.m_ItemReplacer.ReplaceItem(true); this.m_ItemReplacer = null; } switch (action) { case HUDItem.Action.Close: this.m_Active = false; break; case HUDItem.Action.Take: if (item) { item.Take(); } else if (this.m_PlantFruit) { this.m_PlantFruit.Take(); } break; case HUDItem.Action.PickUp: item.PickUp(true); break; case HUDItem.Action.Eat: if (item) { item.Eat(); } else if (this.m_PlantFruit) { this.m_PlantFruit.Eat(); } break; case HUDItem.Action.Drink: if (item) { item.Drink(); } else if (this.m_LiquidSource) { this.m_LiquidSource.Drink(); } break; case HUDItem.Action.Harvest: Player.Get().HideWeapon(); HarvestingSmallAnimalController.Get().SetItem(item); Player.Get().StartController(PlayerControllerType.HarvestingSmallAnimal); break; case HUDItem.Action.Craft: if (Player.Get().CanStartCrafting()) { if (Player.Get().GetCurrentItem(Hand.Left) == item) { Player.Get().SetWantedItem(Hand.Left, null, true); } else if (Player.Get().GetCurrentItem(Hand.Right) == item) { Player.Get().SetWantedItem(Hand.Right, null, true); } else if (!item.m_CurrentSlot && item.m_InventorySlot && item.m_InventorySlot.m_Items.Count > 0) { item.m_InventorySlot.RemoveItem(item, false); } else if (item.m_CurrentSlot && item.m_CurrentSlot.m_InventoryStackSlot) { item.m_CurrentSlot.RemoveItem(item, false); } if (InventoryBackpack.Get().m_EquippedItem == item) { InventoryBackpack.Get().m_EquippedItem = null; } InventoryBackpack.Get().RemoveItem(item, false); CraftingManager.Get().Activate(); CraftingManager.Get().AddItem(item, true); } break; case HUDItem.Action.Fill: this.m_LiquidSource.TakeLiquid(); break; case HUDItem.Action.Equip: Player.Get().Equip(item.m_CurrentSlot); break; case HUDItem.Action.Drop: if (CraftingManager.Get().gameObject.activeSelf&& CraftingManager.Get().ContainsItem(item)) { CraftingManager.Get().RemoveItem(item); } if (!item.m_CurrentSlot && item.m_InventorySlot && item.m_InventorySlot.m_Items.Count > 0) { item.m_InventorySlot.RemoveItem(item, false); } else if (item.m_CurrentSlot && item.m_CurrentSlot.m_InventoryStackSlot) { item.m_CurrentSlot.RemoveItem(item, false); } if (InventoryBackpack.Get().m_EquippedItem == item) { InventoryBackpack.Get().m_EquippedItem = null; } InventoryBackpack.Get().RemoveItem(item, false); Inventory3DManager.Get().DropItem(item); break; case HUDItem.Action.Swap: item.Swap(); break; case HUDItem.Action.Use: { Item currentItem = Player.Get().GetCurrentItem(); if (currentItem) { InventoryBackpack.Get().InsertItem(currentItem, InventoryBackpack.Get().m_EquippedItemSlot, null, true, true, true, true, false); Player.Get().SetWantedItem((!currentItem.m_Info.IsBow()) ? Hand.Right : Hand.Left, null, true); if (Player.Get().m_ControllerToStart != PlayerControllerType.Unknown) { Player.Get().StartControllerInternal(); } } Player.Get().SetWantedItem(this.m_Item, true); break; } case HUDItem.Action.Spill: ((LiquidContainer)this.m_Item).Spill(-1f); break; } }
private void UpdateBestTrigger() { if (HUDReadableItem.Get() != null && HUDReadableItem.Get().enabled) { this.ResetTrigger(); return; } if (this.m_CameraMain == null) { this.ResetTrigger(); this.m_CameraMain = Camera.main; return; } if (CutscenesManager.Get().IsCutscenePlaying()) { this.ResetTrigger(); return; } if (MakeFireController.Get().IsActive() && (MakeFireController.Get().ShouldBlockTriggers() || !Inventory3DManager.Get().gameObject.activeSelf)) { this.ResetTrigger(); return; } if (CraftingController.Get().IsActive() && CraftingController.Get().m_InProgress) { this.ResetTrigger(); return; } if (this.m_Player.m_ActiveFightController && (this.m_Player.m_ActiveFightController.IsBlock() || this.m_Player.m_ActiveFightController.IsAttack())) { this.ResetTrigger(); return; } if (VomitingController.Get().IsActive()) { this.ResetTrigger(); return; } if (HUDItem.Get().m_Active&& HUDItem.Get().m_Item) { this.SetBestTrigger(HUDItem.Get().m_Item, HUDItem.Get().m_Item.transform.position); return; } if (Inventory3DManager.Get().gameObject.activeSelf) { if (!Inventory3DManager.Get().m_FocusedItem) { this.ResetTrigger(); return; } if (BodyInspectionController.Get().IsActive() && Inventory3DManager.Get().m_FocusedItem.IsStorage()) { this.ResetTrigger(); return; } this.SetBestTrigger(Inventory3DManager.Get().m_FocusedItem, Inventory3DManager.Get().m_FocusedItem.transform.position); return; } else { if (BodyInspectionController.Get().IsActive()) { this.ResetTrigger(); return; } if (Player.Get().m_Aim) { this.ResetTrigger(); return; } if (HUDWheel.Get().m_Active) { this.ResetTrigger(); return; } if (this.m_Animator.GetBool(Player.Get().m_CleanUpHash)) { this.ResetTrigger(); return; } if (this.m_Animator.GetBool(TriggerController.Get().m_BDrinkWater)) { this.ResetTrigger(); return; } if (WeaponSpearController.Get().IsActive() && WeaponSpearController.Get().m_ItemBody) { this.SetBestTrigger(WeaponSpearController.Get().m_ItemBody, WeaponSpearController.Get().m_ItemBody.transform.position); return; } TriggerController.s_AllPotentialTriggers.Clear(); TriggerController.s_OffCrosshairTriggers.Clear(); TriggerController.s_ColldersEnabledMap.Clear(); Vector3 crossHairOrigin = this.GetCrossHairOrigin(); Vector3 position = Player.Get().transform.position; float num = 0.8f; float num2 = -1f; float num3 = -1f; float num4 = float.MinValue; Vector3 vector = Vector3.zero; Vector3 vector2 = Vector3.zero; TriggersManager triggersManager = TriggersManager.Get(); bool flag = false; Trigger trigger = null; Vector3 hit_pos = Vector3.zero; Trigger trigger2 = null; Vector3 hit_pos2 = Vector3.zero; float num5 = float.MinValue; HashSet <Trigger> .Enumerator enumerator = triggersManager.GetActiveTriggers().GetEnumerator(); Item currentItem = Player.Get().GetCurrentItem(); while (enumerator.MoveNext()) { Trigger trigger3 = enumerator.Current; if (trigger3 != null && trigger3.enabled && !trigger3.m_IsCut && trigger3.m_Initialized && trigger3.CanTrigger() && (!currentItem || currentItem.GetInfoID() != ItemID.Fire || trigger3.IsFIrecamp() || trigger3.IsCharcoalFurnace() || trigger3.IsForge())) { Collider collider = null; trigger3.gameObject.GetComponents <Collider>(TriggerController.s_ColliderCache); if (TriggerController.s_ColliderCache.Count > 0) { collider = TriggerController.s_ColliderCache[0]; } if (collider != null) { if (trigger3.CheckInsideCollider() && collider.bounds.Contains(this.m_CameraMain.transform.position) && trigger3.IsAdditionalTrigger() && (!trigger3.CheckDot() || num4 > num3)) { hit_pos2 = collider.bounds.center; trigger2 = trigger3; num3 = num4; } float num6 = (trigger3.m_TriggerCheckRange > 0f) ? trigger3.m_TriggerCheckRange : this.m_Player.GetParams().GetTriggerCheckRange(); if (trigger3.CheckRange()) { vector2 = ((collider != null) ? collider.ClosestPointOnBounds(position) : trigger3.gameObject.transform.position); if (Vector3.Distance(position, vector2) > num6) { continue; } } vector2 = ((collider != null) ? collider.bounds.center : trigger3.gameObject.transform.position); vector = vector2 - crossHairOrigin; vector.Normalize(); if (trigger3.CheckDot()) { num4 = Vector3.Dot(this.m_CameraMain.transform.forward, vector); if (num4 < num || (trigger3.m_TriggerMaxDot > 0f && num4 < trigger3.m_TriggerMaxDot)) { continue; } } TriggerController.s_AllPotentialTriggers.Add(trigger3); if (!trigger3.OnlyInCrosshair()) { TriggerController.s_OffCrosshairTriggers.Add(trigger3); } TriggerController.s_ColldersEnabledMap[collider] = collider.enabled; collider.enabled = true; if (num6 > num5) { num5 = num6; } } } } Vector3 crossHairDir = this.GetCrossHairDir(); int num7 = (num5 > 0f) ? Physics.RaycastNonAlloc(crossHairOrigin, crossHairDir, TriggerController.s_RaycastHitCache, num5) : 0; if (num7 > 0) { TriggerController.s_CrosshairOrigin = crossHairOrigin; Array.Sort <RaycastHit>(TriggerController.s_RaycastHitCache, 0, num7, TriggerController.s_DistComparer); for (int i = 0; i < TriggerController.s_AllPotentialTriggers.Count; i++) { Trigger trigger4 = TriggerController.s_AllPotentialTriggers[i]; Collider collider2 = null; trigger4.gameObject.GetComponents <Collider>(TriggerController.s_ColliderCache); if (TriggerController.s_ColliderCache.Count > 0) { collider2 = TriggerController.s_ColliderCache[0]; } if (collider2 != null) { for (int j = 0; j < num7; j++) { RaycastHit raycastHit = TriggerController.s_RaycastHitCache[j]; if (raycastHit.collider != null && !(raycastHit.collider.gameObject == base.gameObject) && !(raycastHit.collider == FistFightController.Get().m_RightHandCollider) && !(raycastHit.collider == FistFightController.Get().m_LeftHandCollider) && !(raycastHit.collider.gameObject == this.m_Proxy.m_Controller.gameObject)) { GhostSlot ghostSlot = null; raycastHit.collider.gameObject.GetComponents <GhostSlot>(TriggerController.s_GhostSlotCache); if (TriggerController.s_GhostSlotCache.Count > 0) { ghostSlot = TriggerController.s_GhostSlotCache[0]; } if (!flag || ghostSlot != null || trigger4.IsAdditionalTrigger()) { if (collider2 == raycastHit.collider || trigger4.IsAdditionalCollider(raycastHit.collider)) { if (trigger4.IsAdditionalTrigger()) { if (!trigger4.CheckDot() || num4 > num3 || (trigger4.m_TriggerMaxDot > 0f && num4 >= trigger4.m_TriggerMaxDot)) { hit_pos2 = raycastHit.point; trigger2 = trigger4; num3 = num4; break; } break; } else { if (trigger4.CheckDot() && num4 < num2 && (trigger4.m_TriggerMaxDot <= 0f || num4 < trigger4.m_TriggerMaxDot)) { break; } hit_pos = raycastHit.point; trigger = trigger4; if (!trigger || !trigger.IsLiquidSource()) { num2 = num4; break; } break; } } else { ITriggerThrough triggerThrough = null; raycastHit.collider.gameObject.GetComponents <ITriggerThrough>(TriggerController.s_TriggerThroughCache); if (TriggerController.s_TriggerThroughCache.Count > 0) { triggerThrough = TriggerController.s_TriggerThroughCache[0]; } if (triggerThrough == null && !raycastHit.collider.gameObject.GetComponent <TriggerThrough>() && (!trigger || !trigger.IsLiquidSource() || !(trigger.gameObject == raycastHit.collider.gameObject))) { if (ghostSlot != null) { flag = true; } else { Item currentItem2 = this.m_Player.GetCurrentItem(Hand.Right); if (currentItem2 == null || !(currentItem2.gameObject == raycastHit.collider.gameObject)) { currentItem2 = this.m_Player.GetCurrentItem(Hand.Left); if ((currentItem2 == null || !(currentItem2.gameObject == raycastHit.collider.gameObject)) && !(raycastHit.collider.gameObject == this.m_Proxy.m_Controller.gameObject)) { Trigger trigger5 = null; raycastHit.collider.gameObject.GetComponents <Trigger>(TriggerController.s_OtherTriggerCache); if (TriggerController.s_OtherTriggerCache.Count > 0) { trigger5 = TriggerController.s_OtherTriggerCache[0]; } if (trigger5 == null || !trigger5.TriggerThrough()) { break; } } } } } } } } } } } } if (trigger == null || trigger.IsLiquidSource()) { TriggerController.s_CrosshairDir = crossHairDir; TriggerController.s_CrosshairOrigin = crossHairOrigin; TriggerController.s_OffCrosshairTriggers.Sort(TriggerController.s_DotComparer); bool flag2 = false; int num8 = 0; while (num8 < TriggerController.s_OffCrosshairTriggers.Count && !flag2) { Trigger trigger6 = TriggerController.s_OffCrosshairTriggers[num8]; Collider collider3 = null; trigger6.gameObject.GetComponents <Collider>(TriggerController.s_ColliderCache); if (TriggerController.s_ColliderCache.Count > 0) { collider3 = TriggerController.s_ColliderCache[0]; } if (collider3 != null) { float maxDistance = (trigger6.m_TriggerCheckRange > 0f) ? trigger6.m_TriggerCheckRange : this.m_Player.GetParams().GetTriggerCheckRange(); vector2 = ((collider3 != null) ? collider3.bounds.center : trigger6.gameObject.transform.position); vector = vector2 - crossHairOrigin; vector.Normalize(); num7 = Physics.RaycastNonAlloc(crossHairOrigin, vector, TriggerController.s_RaycastHitCache, maxDistance); if ((float)num7 > 0f) { TriggerController.s_CrosshairOrigin = crossHairOrigin; Array.Sort <RaycastHit>(TriggerController.s_RaycastHitCache, 0, num7, TriggerController.s_DistComparer); for (int k = 0; k < num7; k++) { RaycastHit raycastHit2 = TriggerController.s_RaycastHitCache[k]; if (!(raycastHit2.collider.gameObject == base.gameObject)) { GhostSlot ghostSlot2 = null; raycastHit2.collider.gameObject.GetComponents <GhostSlot>(TriggerController.s_GhostSlotCache); if (TriggerController.s_GhostSlotCache.Count > 0) { ghostSlot2 = TriggerController.s_GhostSlotCache[0]; } if (!flag || ghostSlot2 != null || trigger6.IsAdditionalTrigger()) { if (collider3 == raycastHit2.collider) { if (!trigger6.CheckDot() || num4 > num2 || (trigger6.m_TriggerMaxDot > 0f && num4 >= trigger6.m_TriggerMaxDot)) { hit_pos = raycastHit2.point; trigger = trigger6; num2 = num4; flag2 = true; break; } break; } else { ITriggerThrough triggerThrough2 = null; raycastHit2.collider.gameObject.GetComponents <ITriggerThrough>(TriggerController.s_TriggerThroughCache); if (TriggerController.s_TriggerThroughCache.Count > 0) { triggerThrough2 = TriggerController.s_TriggerThroughCache[0]; } if (triggerThrough2 == null && raycastHit2.collider.gameObject.layer != this.m_BalanceSpawnerLayer && (trigger == null || !trigger.IsLiquidSource() || !(trigger.gameObject == raycastHit2.collider.gameObject))) { if (ghostSlot2 != null) { flag = true; } else { Item currentItem3 = this.m_Player.GetCurrentItem(Hand.Right); if (currentItem3 == null || !(currentItem3.gameObject == raycastHit2.collider.gameObject)) { currentItem3 = this.m_Player.GetCurrentItem(Hand.Left); if (currentItem3 == null || !(currentItem3.gameObject == raycastHit2.collider.gameObject)) { Trigger trigger7 = null; raycastHit2.collider.gameObject.GetComponents <Trigger>(TriggerController.s_OtherTriggerCache); if (TriggerController.s_OtherTriggerCache.Count > 0) { trigger7 = TriggerController.s_OtherTriggerCache[0]; } if (trigger7 == null || !trigger7.TriggerThrough()) { if (trigger7 != null && TriggerController.s_OffCrosshairTriggers.Contains(trigger7)) { trigger = trigger7; hit_pos = raycastHit2.point; flag2 = true; break; } break; } } } } } } } } } } } num8++; } } Trigger trigger8 = null; if (trigger != this.m_BestTrigger.trigger && this.m_BestTrigger.trigger) { trigger8 = this.m_BestTrigger.trigger; } this.SetBestTrigger(trigger, hit_pos); if (trigger) { trigger.UpdateLayer(); } if (trigger8) { trigger8.UpdateLayer(); } if (this.m_AdditionalTrigger.trigger != trigger2) { if (trigger2 != this.m_AdditionalTrigger.trigger && this.m_AdditionalTrigger.trigger) { trigger8 = this.m_AdditionalTrigger.trigger; } this.m_AdditionalTrigger.trigger = trigger2; this.m_AdditionalTrigger.actions.Clear(); if (this.m_AdditionalTrigger.trigger) { this.m_AdditionalTrigger.trigger.GetActions(this.m_AdditionalTrigger.actions); } this.m_AdditionalTrigger.hit_pos = hit_pos2; if (this.m_AdditionalTrigger.trigger) { this.m_AdditionalTrigger.trigger.UpdateLayer(); } if (trigger8) { trigger8.UpdateLayer(); } } foreach (KeyValuePair <Collider, bool> keyValuePair in TriggerController.s_ColldersEnabledMap) { Collider key = keyValuePair.Key; Dictionary <Collider, bool> .Enumerator enumerator2; keyValuePair = enumerator2.Current; key.enabled = keyValuePair.Value; } return; } }
private void UpdateWoundSlots(SlotData data) { if (!Inventory3DManager.Get().isActiveAndEnabled || !BodyInspectionController.Get().IsActive()) { data.obj.gameObject.SetActive(false); return; } if (GreenHellGame.IsPCControllerActive() && (Inventory3DManager.Get().m_CarriedItem == null || !data.slot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem))) { data.obj.gameObject.SetActive(false); return; } BIWoundSlot biwoundSlot = (BIWoundSlot)data.slot; if (biwoundSlot == null || biwoundSlot.m_Injury == null) { data.obj.gameObject.SetActive(false); return; } if (biwoundSlot.m_Injury.m_Type == InjuryType.Leech) { data.obj.gameObject.SetActive(false); return; } if (!data.obj.gameObject.activeSelf) { data.obj.gameObject.SetActive(true); } Vector3 screenPoint = data.slot.GetScreenPoint(); if (screenPoint.z <= 0f) { data.icon.enabled = false; return; } data.icon.rectTransform.position = screenPoint; if (biwoundSlot.GetInjury() != null && BodyInspectionController.Get() != null && BodyInspectionController.Get().enabled&& EnumTools.ConvertInjuryPlaceToLimb(biwoundSlot.GetInjury().m_Place) == HUDBodyInspection.Get().GetSelectedLimb() && biwoundSlot.GetInjury().m_Bandage == null && biwoundSlot.m_Maggots == null && biwoundSlot.GetInjury().m_ParentInjury == null) { data.icon.enabled = true; this.m_SelectedSlotData = data; return; } data.icon.enabled = false; }
protected override void Awake() { base.Awake(); this.m_InventoryManager = Inventory3DManager.Get(); }
private void UpdateSlots(SlotData data) { bool flag = !Inventory3DManager.Get().m_CarriedItem || data.slot.CanInsertItem(Inventory3DManager.Get().m_CarriedItem); data.obj.gameObject.SetActive(flag); if (!flag) { return; } if (!data.slot.enabled) { data.icon.gameObject.SetActive(false); return; } Vector3 screenPoint = data.slot.GetScreenPoint(); if (screenPoint.z <= 0f) { data.icon.gameObject.SetActive(false); return; } data.icon.rectTransform.position = screenPoint; if (data.slot.IsOccupied()) { data.icon.gameObject.SetActive(false); return; } if (data.slot.IsArmorSlot()) { if (!BodyInspectionController.Get().IsActive()) { data.icon.gameObject.SetActive(false); return; } if (!Inventory3DManager.Get().IsActive() || Inventory3DManager.Get().m_CarriedItem == null || !Inventory3DManager.Get().m_CarriedItem.m_Info.IsArmor()) { data.icon.gameObject.SetActive(false); return; } } Color color; if (Inventory3DManager.Get().m_SelectedSlot == data.slot) { color = this.m_SelectedColor; } else { color = this.m_NormalColor; if (data.slot.m_ItemParent && (data.slot.m_ItemParent.m_InInventory || data.slot.m_ItemParent.m_InStorage)) { color.a = 1f; } else if (!data.slot.m_BackpackSlot) { float b = Vector3.Distance(data.slot.GetCheckPosition(), Player.Get().transform.position); color.a = CJTools.Math.GetProportionalClamp(0f, 0.6f, b, ItemSlot.s_DistToActivate, ItemSlot.s_DistToActivate * 0.5f); } } if (color.a <= 0f) { data.icon.gameObject.SetActive(false); return; } data.icon.color = color; data.icon.gameObject.SetActive(true); data.icon.rectTransform.localScale = Vector2.one; Vector2 zero = Vector2.zero; zero.Set(screenPoint.x, screenPoint.y); Vector2 zero2 = Vector2.zero; zero2.Set((float)Screen.width * 0.5f, (float)Screen.height * 0.5f); float num = Vector2.Distance(zero, zero2); if (data.slot.m_CanSelect && color.a > 0f && num < this.m_MaxDistToSelect && num < this.m_ClosestDistTemp) { this.m_SelectedSlotData = data; this.m_ClosestDistTemp = num; } this.m_VisibleSlots.Add(data); }
private void Update() { if (this.m_KillItem.m_InInventory || Player.Get().GetCurrentItem(Hand.Right) == this.m_KillItem || Inventory3DManager.Get().m_CarriedItem == this.m_KillItem) { this.m_Item.Take(); Animator componentDeepChild = General.GetComponentDeepChild <Animator>(this.m_Item.gameObject); if (componentDeepChild != null) { componentDeepChild.SetBool("Backpack", true); } UnityEngine.Object.Destroy(this); return; } if (this.m_KillItemSpeed >= 0.5f) { this.m_KillItemSpeed -= this.m_KillItemSpeed * Time.deltaTime * 0.5f; if (this.m_KillItemSpeed <= 0.5f) { return; } Vector3 normalized = (this.m_KillItem.m_DamagerStart.position - this.m_KillItem.m_DamagerEnd.position).normalized; RaycastHit raycastHit; if (Physics.Raycast(this.m_KillItem.m_DamagerStart.position, normalized, out raycastHit, this.m_KillItemSpeed * Time.deltaTime)) { this.m_KillItemSpeed = 0f; } else { this.m_KillItem.transform.position += normalized * this.m_KillItemSpeed * Time.deltaTime; } } else { Quaternion b = Quaternion.LookRotation(this.m_KillItem.transform.forward.GetNormalized2D(), (this.m_KillItem.transform.up.y <= 0f) ? (-Vector3.up) : Vector3.up); this.m_KillItem.transform.rotation = Quaternion.Slerp(this.m_KillItem.transform.rotation, b, Time.deltaTime * 0.5f); if (this.m_WaterBoxCollider && this.m_KillItem.transform.position.y >= this.m_WaterBoxCollider.bounds.max.y) { Vector3 position = this.m_KillItem.transform.position; position.y = this.m_WaterBoxCollider.bounds.max.y; this.m_KillItem.transform.position = position; } else { this.m_KillItem.transform.position += Vector3.up * Time.deltaTime * 0.2f; } } if (this.m_Item.m_InInventory || Inventory3DManager.Get().m_CarriedItem == this.m_Item) { this.m_Item.StaticPhxRequestRemove(); UnityEngine.Object.Destroy(this); this.m_KillItem.Take(); } else { base.transform.parent = this.m_KillItem.transform; base.transform.localRotation = this.m_LocalRot; base.transform.parent = null; Vector3 b2 = (this.m_KillItem.m_DamagerStart.position - this.m_KillItem.m_DamagerEnd.position).normalized * -0.07f; base.transform.position = this.m_KillItem.m_DamagerStart.position + b2; } }
public override void UpdateAfterCamera() { base.UpdateAfterCamera(); if (this.m_ActiveSlots.Count == 0 || !base.enabled) { return; } this.m_ClosestDistTemp = float.MaxValue; SlotData selectedSlotData = this.m_SelectedSlotData; this.m_SelectedSlotData = null; this.m_VisibleSlots.Clear(); foreach (SlotData slotData in this.m_ActiveSlots) { if (slotData.slot.IsBIWoundSlot()) { this.UpdateWoundSlots(slotData); } else { this.UpdateSlots(slotData); } } if (this.m_SelectedSlotData == null && Inventory3DManager.Get().IsActive() && Inventory3DManager.Get().m_ActivePocket != BackpackPocket.Left && Player.Get().GetCurrentItem(Hand.Right) && Player.Get().GetCurrentItem(Hand.Right).m_Info.IsFishingRod()) { FishingRod component = Player.Get().GetCurrentItem(Hand.Right).gameObject.GetComponent <FishingRod>(); ItemSlot y; if (!component.m_Hook) { y = component.m_HookSlot; } else { y = component.m_Hook.m_BaitSlot; } foreach (SlotData slotData2 in this.m_VisibleSlots) { if (slotData2.slot == y) { this.m_SelectedSlotData = slotData2; break; } } } if (this.m_SelectedSlotData != null) { this.m_SelectedSlotData.icon.rectTransform.localScale = Vector2.one * 2f; if (this.m_SelectedSlotData.add_icon) { this.m_SelectedSlotData.add_icon.rectTransform.localScale = Vector2.one * 0.5f; } Color color = this.m_SelectedSlotData.icon.color; color.a *= 1.5f; this.m_SelectedSlotData.icon.color = color; } if (this.m_SelectedSlotData != selectedSlotData) { HUDItem.Get().OnChangeSelectedSlot(this.m_SelectedSlotData); } }
private bool CanAttack() { return(!MainLevel.Instance.IsPause() && !this.m_Player.IsDead() && !SwimController.Get().IsActive() && !HUDWheel.Get().enabled&& !BodyInspectionController.Get().IsActive() && !WatchController.Get().IsActive() && !NotepadController.Get().IsActive() && !MapController.Get().IsActive() && this.m_ActionAllowed && !this.m_Player.GetRotationBlocked() && !Inventory3DManager.Get().gameObject.activeSelf&& !HitReactionController.Get().IsActive() && !base.IsBlock() && this.m_CurrentParam != 6 && this.m_CurrentParam != 8); }
protected override bool ShouldShow() { return(!NotepadController.Get().IsActive() && !MapController.Get().IsActive() && !Inventory3DManager.Get().gameObject.activeSelf); }
protected virtual bool CanBlock() { return(!PlayerConditionModule.Get().IsStaminaCriticalLevel() && !SwimController.Get().IsActive() && !Inventory3DManager.Get().gameObject.activeSelf&& !WatchController.Get().IsActive() && !MapController.Get().IsActive() && !TriggerController.Get().IsGrabInProgress() && !Player.Get().m_Aim); }
protected override bool ShouldShow() { return(!TriggerController.Get().IsGrabInProgress() && ((this.IsExpanded() && this.m_TriggerType == HUDTrigger.TriggerType.Normal) || (this.GetTrigger() && this.GetTrigger().CanTrigger() && (!Inventory3DManager.Get().IsActive() || !Inventory3DManager.Get().m_CarriedItem) && (this.m_TriggerType == HUDTrigger.TriggerType.Normal || !Inventory3DManager.Get().gameObject.activeSelf)))); }
private void OnSetState() { this.m_StartStateTime = Time.time; switch (this.m_State) { case MakeFireController.State.None: if (this.m_Kindling) { UnityEngine.Object.Destroy(this.m_Kindling.gameObject); } if (this.m_FireTool) { if (this.m_FireTool.m_Animator.isInitialized) { this.m_FireTool.m_Animator.SetBool(this.m_ToolAnimHash, false); } this.m_FireTool.m_Light.enabled = false; this.m_FireTool.m_Emission.enabled = false; this.m_FireTool.m_KindlingSlot.Deactivate(); this.m_FireTool.m_KindlingSlot.gameObject.SetActive(false); if (this.m_FireTool.m_AnimationVis) { this.m_FireTool.m_AnimationVis.SetActive(false); } if (this.m_FireTool.m_NormalVis) { this.m_FireTool.m_NormalVis.SetActive(true); } this.m_FireTool = null; } if (this.m_Tool) { this.m_Tool.StaticPhxRequestRemove(); this.m_Tool.OnRemovedFromHand(); this.m_Tool = null; } if (this.m_Animator.isInitialized) { this.m_Animator.SetBool(this.m_PlayerIdleAnimHash, false); this.m_Animator.SetBool(this.m_PlayerAnimHash, false); this.m_Animator.SetBool(this.m_SuccessHash, false); this.m_Animator.SetBool(this.m_FailHash, false); } if (this.m_ParticleObj) { ParticlesManager.Get().Remove(this.m_ParticleObj); this.m_ParticleObj = null; } this.m_FXSpawned = false; this.m_Player.UnblockMoves(); this.m_Player.UnblockRotation(); break; case MakeFireController.State.WaitingForKindling: this.m_FireLevel = 0f; this.m_Tool = (ItemTool)this.m_Player.GetCurrentItem(Hand.Right); DebugUtils.Assert(this.m_Tool != null, "[MakeFireController:OnEnable] ERROR - Currentitem is not a Fire Tool!", true, DebugUtils.AssertType.Info); this.m_Tool.ItemsManagerUnregister(); this.m_FireTool = this.m_Tool.GetComponent <FireTool>(); DebugUtils.Assert(this.m_FireTool != null, "[MakeFireController:OnEnable] ERROR - Missing FireTool component!", true, DebugUtils.AssertType.Info); this.m_FireTool.m_KindlingSlot.gameObject.SetActive(true); this.m_FireTool.m_KindlingSlot.Activate(); this.m_Tool.StaticPhxRequestAdd(); if (this.m_FireTool.m_AnimationVis) { this.m_FireTool.m_AnimationVis.SetActive(true); } if (this.m_FireTool.m_NormalVis) { this.m_FireTool.m_NormalVis.SetActive(false); } this.m_Player.BlockMoves(); this.m_Player.BlockRotation(); this.m_Animator.CrossFadeInFixedTime(this.m_PlayerIdleAnimHash, 0.25f, this.m_SpineLayerIndex); this.m_Animator.CrossFadeInFixedTime(this.m_PlayerIdleAnimHash, 0.25f, this.m_BaseLayerIndex); this.m_Animator.SetBool(this.m_PlayerIdleAnimHash, true); this.m_Animator.SetBool(this.m_PlayerAnimHash, false); this.m_Animator.SetBool(this.m_SuccessHash, false); this.m_Animator.SetBool(this.m_FailHash, false); this.m_Tool.OnWaitingForKindling(); break; case MakeFireController.State.Game: PlayerSanityModule.Get().OnWhispersEvent(PlayerSanityModule.WhisperType.StartFire); this.m_Tool.OnStartMakeFireGame(); this.m_Animator.CrossFadeInFixedTime(this.m_PlayerAnimHash, 0.25f, this.m_SpineLayerIndex); this.m_Animator.CrossFadeInFixedTime(this.m_PlayerAnimHash, 0.25f, this.m_BaseLayerIndex); this.m_Animator.SetBool(this.m_PlayerAnimHash, true); this.m_Animator.SetBool(this.m_PlayerIdleAnimHash, false); this.m_FireTool.m_Animator.SetBool(this.m_ToolAnimHash, true); this.m_FireTool.m_KindlingSlot.gameObject.SetActive(false); this.m_FireTool.m_KindlingSlot.Deactivate(); this.m_Kindling.enabled = false; Inventory3DManager.Get().Deactivate(); this.CalcStaminaConsumption(); this.PlaySound(); break; case MakeFireController.State.Fail: this.m_Tool.OnFailMakeFireGame(); this.m_Animator.SetBool(this.m_FailHash, true); ParticlesManager.Get().Remove(this.m_ParticleObj); this.m_ParticleObj = null; this.m_FireTool.m_Animator.SetBool(this.m_ToolAnimHash, false); this.StopSound(); HintsManager.Get().ShowHint("MakeFire_Fail", 10f); break; case MakeFireController.State.Success: Skill.Get <MakeFireSkill>().OnSkillAction(); ParticlesManager.Get().Remove(this.m_ParticleObj); this.m_ParticleObj = null; this.m_Tool.OnSuccessMakeFireGame(); this.m_Animator.SetBool(this.m_SuccessHash, true); this.m_FireTool.m_Animator.SetBool(this.m_ToolAnimHash, false); this.StopSound(); break; } }
private void UpdateActions() { Trigger trigger = this.GetTrigger(); if (!trigger || !trigger.CanExecuteActions() || this.IsExpanded()) { for (int i = 0; i < this.m_Actions.Length; i++) { this.m_KeyFrames[i].gameObject.SetActive(false); this.m_Keys[i].gameObject.SetActive(false); this.m_Actions[i].gameObject.SetActive(false); if (this.m_MouseRMBIcon[i]) { this.m_MouseRMBIcon[i].gameObject.SetActive(false); } } return; } this.m_TriggerActions.Clear(); if (!this.IsExpanded()) { if (Inventory3DManager.Get().gameObject.activeSelf) { Item item = (!trigger.IsItem()) ? null : ((Item)trigger); if (item && item.m_OnCraftingTable) { this.m_TriggerActions.Add(TriggerAction.TYPE.Remove); } else { this.m_TriggerActions.Add(TriggerAction.TYPE.InventoryExpand); } } else { trigger.GetActions(this.m_TriggerActions); } } Vector3 position = Vector3.zero; int num = 0; while (num < this.m_TriggerActions.Count && num < 2) { this.m_KeyFrames[num].gameObject.SetActive(true); this.m_Keys[num].gameObject.SetActive(true); this.m_Actions[num].gameObject.SetActive(true); if (this.m_MouseRMBIcon[num]) { this.m_MouseRMBIcon[num].gameObject.SetActive(false); } this.m_Keys[num].text = string.Empty; this.m_Actions[num].text = string.Empty; TriggerAction.TYPE action = this.m_TriggerActions[num]; InputActionData inputActionData = InputsManager.Get().GetInputActionData(action); if (inputActionData != null) { if (inputActionData.m_KeyCode == KeyCode.Mouse1) { if (this.m_MouseRMBIcon[num]) { this.m_MouseRMBIcon[num].gameObject.SetActive(true); this.m_KeyFrames[num].gameObject.SetActive(false); } this.m_Keys[num].gameObject.SetActive(false); } else { Text text = this.m_Keys[num]; text.text += inputActionData.m_KeyCode.ToString(); } if (inputActionData.m_Hold > 0f) { Text text2 = this.m_Actions[num]; text2.text = text2.text + GreenHellGame.Instance.GetLocalization().Get("HUD_Trigger_Hold") + " "; } Text text3 = this.m_Actions[num]; text3.text += GreenHellGame.Instance.GetLocalization().Get(TriggerAction.GetText(action)); } else { this.m_Actions[num].text = GreenHellGame.Instance.GetLocalization().Get(TriggerAction.GetText(action)); } if (num == 0) { TextGenerationSettings generationSettings = this.m_Actions[num].GetGenerationSettings(this.m_Actions[num].rectTransform.rect.size); float width = ((RectTransform)HUDManager.Get().m_CanvasGameObject.transform).rect.width; float x = ((RectTransform)HUDManager.Get().m_CanvasGameObject.transform).localScale.x; generationSettings.scaleFactor = x; float preferredWidth = this.m_TextGen.GetPreferredWidth(this.m_Actions[num].text, generationSettings); position = this.m_KeyFrames[num].rectTransform.position; position.x += this.m_KeyFrames[num].rectTransform.rect.width * 0.5f * x; position.x += preferredWidth + width * x * 0.01f; position.x += this.m_KeyFrames[num].rectTransform.rect.width * x; } else if (num == 1 && this.m_KeyFrameParents[num] != null) { this.m_KeyFrameParents[num].position = position; } num++; } for (int j = this.m_TriggerActions.Count; j < this.m_Actions.Length; j++) { this.m_KeyFrames[j].gameObject.SetActive(false); this.m_Keys[j].gameObject.SetActive(false); this.m_Actions[j].gameObject.SetActive(false); if (this.m_MouseRMBIcon[j] != null) { this.m_MouseRMBIcon[j].gameObject.SetActive(false); } } }