void BecomeAKeeper() { toSubscribe.OnQuestComplete -= BecomeAKeeper; PawnInstance pawn = GameManager.Instance.PawnDataBase.CreatePawn(idKeeper, transform.position, transform.rotation, null).GetComponent <PawnInstance>(); GameManager.Instance.PersistenceLoader.SetPawnUnlocked(idKeeper, true); if (GameManager.Instance.PersistenceLoader.Pd.dicPersistencePawns.ContainsKey(idKeeper)) { GameManager.Instance.PersistenceLoader.Pd.dicPersistencePawns[idKeeper] = true; } GameManager.Instance.PawnDataBase.InitPawn(pawn); GameManager.Instance.AllKeepersList.Add(pawn); GameManager.Instance.CharacterInitializer.InitCharacterUI(pawn); TileManager.Instance.AddKeeperOnTile(GetComponentInParent <Tile>(), pawn); GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Keeper>().IsSelected = false; GameManager.Instance.ClearListKeeperSelected(); pawn.GetComponent <Behaviour.Keeper>().IsSelected = true; GameManager.Instance.AddKeeperToSelectedList(pawn); GlowController.RegisterObject(pawn.GetComponent <GlowObjectCmd>()); pawn.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = true; Transform feed = GetComponent <Interactable>().Feedback; feed.GetChild(feed.childCount - 1).SetParent(GameManager.Instance.Ui.transform); GameManager.Instance.PersistenceLoader.SetPawnUnlocked(idKeeper, true); DestroyImmediate(gameObject); }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { throw new System.InvalidOperationException("[Singleton] More than 1 instance exists."); } #endregion //Cache shaders and shader properties and setup command buffer to be called on a camera event glowShader = new Material(Shader.Find("Hidden/GlowShader")); blurShader = new Material(Shader.Find("Hidden/Blur")); compositeShader = new Material(Shader.Find("Hidden/GlowComposite")); prePassRTID = Shader.PropertyToID("_GlowPrePassTex"); blurPassRTID = Shader.PropertyToID("_GlowBlurredTex"); tempRTID = Shader.PropertyToID("_TempTex0"); blurSizeID = Shader.PropertyToID("_BlurSize"); glowColID = Shader.PropertyToID("_GlowColor"); intensityID = Shader.PropertyToID("_Intensity"); compositeShader.SetFloat(intensityID, glowIntensity); glowBuff = new CommandBuffer(); glowBuff.name = "Glowing Objects Buffer"; //Visible in Frame Debugger GetComponent <Camera>().AddCommandBuffer(CameraEvent.BeforeImageEffects, glowBuff); //Injection-point in rendering pipeline. Pipeline info can be found here: https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html }
void Start() { Renderers = GetComponentsInChildren <Renderer>(); GlowController.RegisterObject(this); relatedBridge.AddRange(GameObject.FindGameObjectsWithTag("RotatingBridge")); }
void Start() { GlowColor = Color.yellow; distanceFromPlayer = 2; girl = GameObject.Find("Girl").transform; boi = GameObject.Find("Boi").transform; Renderers = GetComponentsInChildren <Renderer>(); GlowController.RegisterObject(this); }
private void ExitBattleStateProcess() { foreach (NavMeshAgent agent in pausedAgents) { if (agent != null && agent.isActiveAndEnabled) { agent.Resume(); } } pausedAgents.Clear(); foreach (GameObject go in disabledModels) { go.SetActive(true); } disabledModels.Clear(); foreach (GlowObjectCmd goc in unregisteredGlows) { GlowController.RegisterObject(goc); } unregisteredGlows.Clear(); // Prevents monster agression when returning to normal state foreach (PawnInstance pi in tileManagerReference.KeepersOnTile[ActiveTile]) { if (pi.GetComponent <Fighter>() != null) { pi.GetComponent <Fighter>().IsTargetableByMonster = false; } } if (prisonerInstance.CurrentTile == ActiveTile) { if (prisonerInstance.GetComponent <Fighter>() != null) { prisonerInstance.GetComponent <Fighter>().IsTargetableByMonster = false; } } // Reactivate tile portals foreach (GameObject go in tilePortalsDisabled) { go.SetActive(true); } tilePortalsDisabled.Clear(); // Enable quest reminder button gameScreens.transform.GetChild(0).GetChild((int)IngameScreensEnum.QuestReminderButton).gameObject.SetActive(true); cameraManagerReference.UpdateCameraPositionExitBattle(); if (hasLost) { Lose(); } }
private void DeselectCurrentObject(IInteractableObject obj) { CurrentObject.IsSelected = false; CurrentObject = null; //m_charBeh.m_characterAnimation.SetLookingPoint(transform.forward, 0f); //m_charBeh.m_characterAnimation.SetRightHandIK(Vector3.zero, 0f); //HighlightsImageEffect.Instance.OnObjectMouseExit(); GlowController.ResetAllObjects(); }
void OnTriggerEnter(Collider col) { if (col.GetComponent <ThirdPersonVehicleInteraction> ()) { ThirdPersonInventory.staticInv.AddItemAmmo(bulletID, amount); if (glow) { GlowController.UnregisterObject(glow); } Destroy(gameObject); //gameObject.SetActive (false); } }
public void UpdateSpotLightIntensity() { fLerp += Time.unscaledDeltaTime * 0.8f; if (fLerp > 1) { fLerp = 1; } if (isBoxOpen) { spotLight.range = Mathf.Lerp(12.0f, 13.0f, fLerp); spotLight.spotAngle = Mathf.Lerp(120.0f, 130.0f, fLerp); spotLight.transform.localPosition = Vector3.Lerp(SpotLightTransformPos, newSpotLightTransform.localPosition, fLerp); spotLight.transform.localRotation = Quaternion.Lerp(SpotLightTransformRot, newSpotLightTransform.localRotation, fLerp); } else { spotLight.range = Mathf.Lerp(13.0f, 12.0f, fLerp); spotLight.spotAngle = Mathf.Lerp(130.0f, 120.0f, fLerp); spotLight.transform.localPosition = Vector3.Lerp(newSpotLightTransform.localPosition, SpotLightTransformPos, fLerp); spotLight.transform.localRotation = Quaternion.Lerp(newSpotLightTransform.localRotation, SpotLightTransformRot, fLerp); } if (fLerp == 1) { if (isBoxOpen) { menuUi.whereTheCardInfoiS.Clear(); menuUi.whereTheCardInfoiSrotation.Clear(); for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { menuUi.whereTheCardInfoiS.Add(menuManager.GoCardsInfo[i].transform.position); menuUi.whereTheCardInfoiSrotation.Add(menuManager.GoCardsInfo[i].transform.rotation); menuManager.GoCardsInfo[i].transform.SetParent(null); GlowController.UnregisterObject(menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>()); } menuUi.startButtonImg.gameObject.SetActive(true); boxIsReady = true; for (int i = 0; i < GameManager.Instance.AllKeepersList.Count; i++) { GlowController.UnregisterObject(GameManager.Instance.AllKeepersList[i].GetComponent <GlowObjectCmd>()); } } spotlightneedUpdate = false; fLerp = 0; } }
void Start() { Renderers = GetComponentsInChildren <Renderer>(); GlowController.RegisterObject(this); persistanceObj = GameObject.Find("/PersistenceManager"); if (persistanceObj == null) { byPass = true; } else { persistance = persistanceObj.GetComponent <PersistenceManager>(); } }
private void SelectCurrentObject(IInteractableObject obj) { CurrentObject = obj; CurrentObject.IsSelected = true; var position = obj.transform.position; var direction = (obj.transform.position - headTransf.position).normalized; //m_charBeh.m_characterAnimation.SetLookingPoint(direction, 0.5f); //m_charBeh.m_characterAnimation.SetRightHandIK(obj.transform.position, 0.3f); foreach (var rend in obj.m_renderers) { //HighlightsImageEffect.Instance.OnObjectMouseOver(obj.m_renderer, Color.white); GlowController.RegisterObject(rend); } }
public void BoxControls() { if (menuManager.DuckhavebringThebox && !spotlightneedUpdate && !menuUi.ACardIsShown && !menuUi.ACardInfoIsShown && (menuManager.ListeSelectedKeepers.Count == 0 && menuManager.CardLevelSelected == -1 && menuManager.DeckOfCardsSelected == string.Empty)) { if (menuController.OncePressR) { boxLock.GetComponent <GlowObjectCmd>().ActivateBlinkBehaviour(false); } //if (isBoxOpen) //{ // //foreach (Opener o in GameObject.FindObjectsOfType<Opener>()) // //{ // // o.Fold(); // //} //} IsBoxOpen = !IsBoxOpen; animatorBox.SetBool("bOpen", isBoxOpen); animatorCam.SetBool("bOpen", isBoxOpen); spotlightneedUpdate = true; //spotLight.enabled = !isBoxOpen; //directionnalLight.enabled = isBoxOpen; // Force reset go cards info if (isBoxOpen == false) { for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { boxIsReady = false; menuUi.hasReachStepOneInfo = false; menuUi.hasReachStepTwoInfo = false; menuUi.indexInfo = 0; menuUi.cardInfofLerp = 0; menuUi.cardsInfoAreReady = false; menuManager.GoCardsInfo[i].transform.localPosition = menuUi.levelCardInfoKeyPoses[i][0].v3Pos + new Vector3(0, i * 0.02f, 0); menuManager.GoCardsInfo[i].transform.localRotation = menuUi.levelCardInfoKeyPoses[i][0].quatRot; GlowController.UnregisterObject(menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>()); } } //boxLock.GetComponent<GlowObjectCmd>().ActivateBlinkBehaviour(!isBoxOpen); UpdateLockAspect(); } }
/// <summary> /// On Awake, we cache various values and setup our command buffer to be called Before Image Effects. /// </summary> private void Awake() { _instance = this; _glowMat = new Material(Shader.Find("Hidden/GlowCmdShader")); _blurMaterial = new Material(Shader.Find("Hidden/Blur")); _prePassRenderTexID = Shader.PropertyToID("_GlowPrePassTex"); _blurPassRenderTexID = Shader.PropertyToID("_GlowBlurredTex"); _tempRenderTexID = Shader.PropertyToID("_TempTex0"); _blurSizeID = Shader.PropertyToID("_BlurSize"); _glowColorID = Shader.PropertyToID("_GlowColor"); _commandBuffer = new CommandBuffer(); _commandBuffer.name = "Glowing Objects Buffer"; // This name is visible in the Frame Debugger, so make it a descriptive! GetComponent <Camera>().AddCommandBuffer(CameraEvent.BeforeImageEffects, _commandBuffer); }
void Start() { Renderer[] rendererers = GetComponentsInChildren <Renderer>(); List <Renderer> rends = new List <Renderer>(); foreach (Renderer r in rendererers) { if (r.GetComponent <ParticleSystem>() == null) { rends.Add(r); } } Renderers = rends.ToArray(); if ((GetComponent <Monster>() != null && GetComponent <ItemInstance>() != null) || GetComponent <Monster>() == null) { GlowController.RegisterObject(this); } }
private void Update() { if (!_currentColor.Equals(GlowColor)) { _currentColor = GlowColor; } if (prevEnableGlow != enableGlow) { prevEnableGlow = enableGlow; if (enableGlow) { _currentColor = GlowColor; GlowController.RegisterObject(this); } else { _currentColor = Color.black; GlowController.DeleteObject(this); } } }
// Init keepers and call next initialization public void InitKeepers(Transform[] beginPositionsKeepers) { GameManager.Instance.AllKeepersList.Clear(); for (int i = 0; i < GameManager.Instance.AllKeeperListId.Count; i++) { string curKeeperStr = GameManager.Instance.AllKeeperListId[i]; GameObject curKeeper = GameManager.Instance.PawnDataBase.CreatePawn(curKeeperStr, beginPositionsKeepers[i].position, Quaternion.identity, null); curKeeper.transform.localScale = Vector3.one; curKeeper.transform.GetComponent <NavMeshAgent>().enabled = true; PawnInstance curKeeperPI = curKeeper.transform.GetComponent <PawnInstance>(); if (curKeeperPI.Data.Behaviours[(int)BehavioursEnum.Archer] == true) { GameManager.Instance.ArcherInstance = curKeeperPI; } GameManager.Instance.AllKeepersList.Add(curKeeperPI); InitCharacterUI(curKeeperPI); GameManager.Instance.RegisterKeeperPosition(curKeeperPI); GlowController.RegisterObject(curKeeperPI.GetComponent <GlowObjectCmd>()); } // Next step, init quests // TODO: init quests // Next step, init NPCs // TODO: init quests and call this properly if (TutoManager.s_instance != null) { TutoManager.s_instance.InitDataTuto(); } InitNPCs(); if (TutoManager.s_instance != null) { TutoManager.s_instance.InitTuto(); } EventManager.HandleWeather(); }
private void CheckInteractionsInput() { // this should be checking all interactions attached to a single game object, // but lets imagine there is one one at a time if (CurrentObject == null) { return; } if (!IsInteracting && Input.GetMouseButtonDown(0)) { IsInteracting = false; GlowController.ResetAllObjects(); IsInteracting = CurrentObject.Activate() || IsInteracting; } if (IsInteracting && Input.GetMouseButtonDown(1)) { IsInteracting = false; GlowController.ResetAllObjects(); CurrentObject.Activate(); } }
public void Harvest(int _i = 0) { int costAction = 0; if (GetComponent <Behaviour.Monster>() == null) { costAction = InteractionImplementer.Get("Harvest").costAction; } else { costAction = InteractionImplementer.Get("Fish").costAction; } if (GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Keeper>().ActionPoints >= costAction) { int previousQuantity = itemContainer.Quantity; if (GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.LuckBased>() != null) { GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.LuckBased>().HandleLuckForHarvest(itemContainer); } if (GameManager.Instance.GetFirstSelectedKeeper().Data.Behaviours[(int)BehavioursEnum.Harvester]) { itemContainer.Quantity = (int)(itemContainer.Quantity * 1.25f) + 1; } bool isNoLeftOver = InventoryManager.AddItemToInventory(GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().Items, itemContainer); if (isNoLeftOver) { // TODO : bug here miscellenous interactions with feedback action UI if (GetComponent <Behaviour.Monster>() != null) { TileManager.Instance.RemoveDefeatedMonster(GetComponent <PawnInstance>()); GameManager.Instance.Ui.GoActionPanelQ.transform.parent.SetParent(null); Destroy(this.gameObject); } else { Destroy(this); GlowController.UnregisterObject(GlowCmd); if (this.transform.childCount > 0) { // Si sa plante ici appeller rémi DestroyImmediate(this.transform.GetChild(transform.childCount - 1).gameObject); } } GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Keeper>().ActionPoints -= (short)costAction; } GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().UpdateInventories(); if (!isNoLeftOver && previousQuantity == itemContainer.Quantity) { for (int i = 0; i < GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().Data.NbSlot; i++) { GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().SelectedInventoryPanel.transform.GetChild(i).GetComponent <Image>().color = Color.red; } StartCoroutine(InventoryNormalState()); } } else { GameManager.Instance.Ui.ZeroActionTextAnimation(GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Keeper>()); } }
private void OnDestroy() { GlowController.UnregisterObject(this); }
public static void PostBattleCommonProcess() { for (int i = 0; i < currentBattleKeepers.Length; i++) { currentBattleKeepers[i].GetComponent <Fighter>().ResetValuesAfterBattle(); if (GameManager.Instance.ArcherInstance != null && currentBattleKeepers[i].Data.Behaviours[(int)BehavioursEnum.Archer]) { if (archerPreviousTile != null) { GameManager.Instance.ArcherInstance.CurrentTile = archerPreviousTile; currentBattleKeepers[i].CurrentTile = archerPreviousTile; } } currentBattleKeepers[i].GetComponent <AnimatedPawn>().StartMoveFromBattlePositionAnimation(); } if (isPrisonerOnTile) { GameManager.Instance.PrisonerInstance.GetComponent <AnimatedPawn>().StartMoveFromBattlePositionAnimation(); GameManager.Instance.PrisonerInstance.GetComponent <Fighter>().ResetValuesAfterBattle(); } for (int i = 0; i < currentBattleMonsters.Length; i++) { // TODO: test death cases if (currentBattleMonsters[i] != null) { if (currentBattleMonsters[i].GetComponent <Mortal>().CurrentHp > 0) { currentBattleMonsters[i].GetComponent <AnimatedPawn>().StartMoveFromBattlePositionAnimation(); currentBattleMonsters[i].GetComponent <Fighter>().HasRecentlyBattled = true; currentBattleMonsters[i].transform.GetChild(1).gameObject.SetActive(true); GlowController.UnregisterObject(currentBattleMonsters[i].GetComponent <GlowObjectCmd>()); currentBattleMonsters[i].GetComponent <Fighter>().EffectiveBoeufs.Clear(); currentBattleMonsters[i].GetComponent <Fighter>().UpdateActiveBoeufs(); currentBattleMonsters[i].GetComponentInChildren <BuffFeedback>().ShowBuffs(false); if (currentBattleMonsters[i].GetComponent <QuestDealerFeedbackUpdater>() != null) { currentBattleMonsters[i].GetComponent <QuestDealerFeedbackUpdater>().feedbackContainer.SetActive(true); } } else { GameObject.Destroy(currentBattleMonsters[i].gameObject, 0.5f); } } } GameManager.Instance.GetBattleUI.gameObject.SetActive(false); GameManager.Instance.ClearListKeeperSelected(); for (int i = 0; i < currentBattleKeepers.Length; i++) { if (currentBattleKeepers[i].GetComponent <Mortal>().CurrentHp > 0) { GameManager.Instance.AddKeeperToSelectedList(currentBattleKeepers[i]); currentBattleKeepers[i].GetComponent <Keeper>().IsSelected = true; currentBattleKeepers[i].GetComponent <Fighter>().EffectiveBoeufs.Clear(); currentBattleKeepers[i].GetComponent <Fighter>().UpdateActiveBoeufs(); currentBattleKeepers[i].GetComponentInChildren <BuffFeedback>().ShowBuffs(false); } } if (isPrisonerOnTile) { GameManager.Instance.PrisonerInstance.GetComponent <Fighter>().EffectiveBoeufs.Clear(); GameManager.Instance.PrisonerInstance.GetComponent <Fighter>().UpdateActiveBoeufs(); GameManager.Instance.PrisonerInstance.GetComponentInChildren <BuffFeedback>().ShowBuffs(false); } ItemManager.AddItemOnTheGround(GameManager.Instance.ActiveTile, GameManager.Instance.ActiveTile.transform, currentBattleLoot.ToArray()); ResetBattleHandler(); }
void Start() { Renderers = GetComponentsInChildren <Renderer>(); GlowController.RegisterObject(this); }
public void OnEnable() { GlowController.UnregisterObject(GetComponent <GlowObjectCmd>()); }
// Use this for initialization void Awake() { s = this; }
void UpdateCardLevelPositions() { carLevelfLerp += Time.unscaledDeltaTime * 3.5f; if (carLevelfLerp > 1) { carLevelfLerp = 1; } if (carLevelfLerp > (!menuManager.GoDeck.GetComponent <Deck>().IsOpen ? 0.4 : 0.4f) && !hasReachStepOne) { whereTheCardiS.Clear(); whereTheCardiSrotation.Clear(); for (int i = 0; i < menuManager.GoCardsLevels.Count; i++) { whereTheCardiS.Add(menuManager.GoCardsLevels[i].transform.position); whereTheCardiSrotation.Add(menuManager.GoCardsLevels[i].transform.rotation); } hasReachStepOne = true; carLevelfLerp = 0; index = 1; } if (carLevelfLerp > (!menuManager.GoDeck.GetComponent <Deck>().IsOpen? 0.5 : 0.95f) && !hasReachStepTwo && hasReachStepOne) { whereTheCardiS.Clear(); whereTheCardiSrotation.Clear(); for (int i = 0; i < menuManager.GoCardsLevels.Count; i++) { whereTheCardiS.Add(menuManager.GoCardsLevels[i].transform.localPosition); whereTheCardiSrotation.Add(menuManager.GoCardsLevels[i].transform.localRotation); } carLevelfLerp = 0; hasReachStepTwo = true; index = 2; if (menuManager.GoDeck.GetComponent <Deck>().IsOpen) { for (int i = 0; i < menuManager.GoCardsLevels.Count; i++) { GlowController.UnregisterObject(menuManager.GoCardsLevels[i].GetComponent <GlowObjectCmd>()); } menuManager.SetActiveChatBoxes(true); } else { for (int i = 0; i < menuManager.GoCardsLevels.Count; i++) { GlowController.RegisterObject(menuManager.GoCardsLevels[i].GetComponent <GlowObjectCmd>()); } menuManager.SetActiveChatBoxes(false); } } for (int i = 0; i < menuManager.GoCardsLevels.Count; i++) { if (!menuManager.GoDeck.GetComponent <Deck>().IsOpen) { if (menuManager.GoCardsLevels[i] != LevelCardSelected) { if (index == 2) { Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().bloomIntensity = 1f - (carLevelfLerp * 0.65f); Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().sepBlurSpread = 1.5f - (carLevelfLerp * 1.4f); } menuManager.GoCardsLevels[i].transform.position = Vector3.Lerp(whereTheCardiS[i], levelCardKeyPoses[i][index].v3Pos, carLevelfLerp); menuManager.GoCardsLevels[i].transform.rotation = Quaternion.Lerp(whereTheCardiSrotation[i], levelCardKeyPoses[i][index].quatRot, carLevelfLerp); } } else { if (menuManager.GoCardsLevels[i] != LevelCardSelected && menuManager.GoCardsLevels[i] != previousCardSelected) { menuManager.GoCardsLevels[i].transform.position = Vector3.Lerp(whereTheCardiS[i], levelCardKeyPoses[i][levelCardKeyPoses[i].Count - (index) - 1].v3Pos, carLevelfLerp); menuManager.GoCardsLevels[i].transform.rotation = Quaternion.Lerp(whereTheCardiSrotation[i], levelCardKeyPoses[i][levelCardKeyPoses[i].Count - (index) - 1].quatRot, carLevelfLerp); } else { if (previousCardSelected != null && menuManager.GoCardsLevels[i] == previousCardSelected && previousCardSelected.GetComponent <CardLevel>().IsSelected) { if (hasReachStepTwo) { previousCardSelected.transform.position = Vector3.Lerp(levelCardKeyPoses[0][1].v3Pos, levelCardKeyPoses[0][0].v3Pos, carLevelfLerp); previousCardSelected.transform.rotation = Quaternion.Lerp(levelCardKeyPoses[0][1].quatRot, levelCardKeyPoses[0][0].quatRot, carLevelfLerp); } else if (hasReachStepOne) { previousCardSelected.transform.position = Vector3.Lerp(levelCardSelectedPosition2.position, levelCardKeyPoses[0][1].v3Pos, carLevelfLerp); previousCardSelected.transform.rotation = Quaternion.Lerp(levelCardSelectedPosition2.rotation, levelCardKeyPoses[0][1].quatRot, carLevelfLerp); } else { previousCardSelected.transform.position = Vector3.Lerp(levelCardSelectedPosition.position, levelCardSelectedPosition2.position, carLevelfLerp); previousCardSelected.transform.rotation = Quaternion.Lerp(levelCardSelectedPosition.rotation, levelCardSelectedPosition2.rotation, carLevelfLerp); } } } } } if (carLevelfLerp == 1) { menuManager.GoDeck.GetComponent <Deck>().IsOpen = !menuManager.GoDeck.GetComponent <Deck>().IsOpen; aCardIsShown = !aCardIsShown; box.UpdateLockAspect(); isACardMoving = false; carLevelfLerp = 0; index = 1; hasReachStepOne = false; hasReachStepTwo = false; } }
public void UpdateCardInfoShowingPositions() { if (cardInfoShownfLerp == 0) { for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { if (menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().NeedToBeShown) { GlowController.RegisterObject((menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>())); } else { GlowController.UnregisterObject((menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>())); } } menuManager.SetActiveChatBoxes(false); } cardInfoShownfLerp += Time.unscaledDeltaTime * 10f; if (cardInfoShownfLerp > 1) { cardInfoShownfLerp = 1; } for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { if (menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().NeedToBeShown) { Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().bloomIntensity = 1f - (cardInfoShownfLerp * 0.65f); Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().sepBlurSpread = 1.5f - (cardInfoShownfLerp * 1.4f); menuManager.GoCardsInfo[i].transform.position = Vector3.Lerp(levelCardInfoKeyPoses[i][levelCardInfoKeyPoses[i].Count - 1].v3Pos, cameraWhere.transform.position + new Vector3(0, 0.5f, -0.2f), cardInfoShownfLerp); menuManager.GoCardsInfo[i].transform.rotation = Quaternion.Lerp(levelCardInfoKeyPoses[i][levelCardInfoKeyPoses[i].Count - 1].quatRot, cameraWhere.transform.rotation, cardInfoShownfLerp); } else if (ACardInfoIsShown) { if (menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().IsShown) { Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().bloomIntensity = 0.35f + (cardInfoShownfLerp * 0.65f); Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().sepBlurSpread = 0.1f + (cardInfoShownfLerp * 1.4f); menuManager.GoCardsInfo[i].transform.position = Vector3.Lerp(cameraWhere.transform.position + new Vector3(0, 0.5f, -0.2f), levelCardInfoKeyPoses[i][levelCardInfoKeyPoses[i].Count - 1].v3Pos, cardInfoShownfLerp); menuManager.GoCardsInfo[i].transform.rotation = Quaternion.Lerp(cameraWhere.transform.rotation, levelCardInfoKeyPoses[i][levelCardInfoKeyPoses[i].Count - 1].quatRot, cardInfoShownfLerp); } } } if (cardInfoShownfLerp == 1) { isACardInfoMovingForShowing = false; cardInfoShownfLerp = 0; bool isACardShow = false; for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { if (menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().NeedToBeShown) { ACardInfoIsShown = true; isACardShow = true; // menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().NeedToBeShown = false; } else { //GlowController.UnregisterObject((menuManager.GoCardsInfo[i].GetComponentInChildren<GlowObjectCmd>())); menuManager.GoCardsInfo[i].GetComponentInChildren <Displayer>().IsShown = false; } } if (!isACardShow) { for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { GlowController.RegisterObject((menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>())); menuManager.SetActiveChatBoxes(true); } ACardInfoIsShown = false; } box.UpdateLockAspect(); } }
public void Init() { app = App.Instance; board = new int[3][]; boardTransform = app.view.board; emptyTransform = app.view.empty; glowTransform = app.view.glow; glowController = app.controller.glow; glow = app.model.glows; pawn1 = app.model.pawn1; pawn2 = app.model.pawn2; empty = app.model.empty; points = app.view.points; string boardString = ""; pointArray = new Transform[points.childCount]; pawnsArray = new GameObject[points.childCount - 1]; emptyArray = new GameObject[points.childCount]; glowsArray = new GameObject[points.childCount]; for (int i = 0; i < points.childCount; i++) { pointArray [i] = points.GetChild(i); } int iterPawn = 0; int iterPos = 0; for (int i = 0; i < board.Length; i++) { board [i] = new int[7]; for (int j = 0; j < board [i].Length; j++) { if (i % 2 == 0 && j == 3) { } else { GameObject empty_position = Instantiate(empty); empty_position.name = "Empty " + iterPos; empty_position.transform.SetParent(emptyTransform); empty_position.transform.localPosition = new Vector3(pointArray[iterPos].localPosition.x, pointArray[iterPos].localPosition.y, 1); empty_position.AddComponent <CircleCollider2D>(); empty_position.GetComponent <CircleCollider2D>().radius = 1.25f; emptyArray[iterPos] = empty_position; PawnScript emptyScript = emptyArray[iterPos].GetComponent <PawnScript>(); emptyScript.id = iterPos; emptyScript.team = 0; emptyScript.matrix_x = i; emptyScript.matrix_y = j; ps_chosen = null; moves_list = new List <int[]>(); GameObject glowPosition = Instantiate(glow); glowPosition.name = "Glow " + iterPos; glowPosition.transform.SetParent(glowTransform); glowPosition.transform.localPosition = new Vector3(pointArray[iterPos].localPosition.x, pointArray[iterPos].localPosition.y, 0f); glowsArray[iterPos] = glowPosition; SpriteRenderer renderer = glowsArray[iterPos].GetComponent <SpriteRenderer>(); renderer.color = new Color(0f, 1f, 0f, 0f); } if (i == 1 && j == 3) { board [i] [j] = 0; boardString += board [i] [j]; iterPos++; } else if (i % 2 == 0 && j == 3) { board [i] [j] = -1; boardString += board [i] [j]; } else { if (j <= 2) { board [i] [j] = 1; boardString += board [i] [j]; GameObject pawn = Instantiate(pawn1); pawn.name = "Pawn " + iterPawn; pawn.transform.SetParent(boardTransform); pawn.transform.localPosition = new Vector3(pointArray [iterPos].localPosition.x, pointArray [iterPos].localPosition.y, 0f); pawn.AddComponent <CircleCollider2D> (); pawnsArray [iterPawn] = pawn; PawnScript pawnScript = pawnsArray [iterPawn].GetComponent <PawnScript> (); pawnScript.id = iterPawn; pawnScript.team = 1; pawnScript.matrix_x = i; pawnScript.matrix_y = j; iterPawn++; iterPos++; } else { board [i] [j] = 2; boardString += board [i] [j]; GameObject pawn = Instantiate(pawn2); pawn.name = "Pawn " + iterPawn; pawn.transform.SetParent(boardTransform); pawn.transform.localPosition = new Vector3(pointArray [iterPos].localPosition.x, pointArray [iterPos].localPosition.y, 0f); pawn.AddComponent <CircleCollider2D> (); pawnsArray [iterPawn] = pawn; PawnScript pawnScript = pawnsArray [iterPawn].GetComponent <PawnScript> (); pawnScript.id = iterPawn; pawnScript.team = 2; pawnScript.matrix_x = i; pawnScript.matrix_y = j; iterPawn++; iterPos++; } } boardString += " "; } boardString += "\n"; } print(boardString); }
private void InitNPCs() { foreach (Quest quest in GameManager.Instance.QuestManager.Quests) { if (quest.Identifier.SourceID != string.Empty) { if (GameManager.Instance.QuestSources == null) { break; } QuestSource source = GameManager.Instance.QuestSources.FindSourceByID(quest.Identifier.SourceID); if (source == null) { Debug.Log("Can't spawn NPC \"" + quest.Identifier.SourceID + "\". No QuestSource with this ID found in the scene."); } else { if (source.needsToBeSpawned) { GameObject spawnedPawn = GameManager.Instance.PawnDataBase.CreatePawn(source.ID, source.Transform.position, source.Transform.rotation, null); // TODO: NPCs must be registered in Tile Manager and ComputeItems called in character initializer if (spawnedPawn.GetComponent <PawnInstance>() != null && spawnedPawn.GetComponent <Keeper>() == null) { if (spawnedPawn.GetComponent <Inventory>() != null && spawnedPawn.GetComponent <Inventory>().PossibleItems != null && spawnedPawn.GetComponent <Inventory>().PossibleItems.Count > 0) { spawnedPawn.GetComponent <Inventory>().ComputeItems(); } } spawnedPawn.transform.SetParent(source.Tile.transform); spawnedPawn.transform.SetAsLastSibling(); spawnedPawn.GetComponent <PawnInstance>().CurrentTile = source.Tile; spawnedPawn.GetComponent <Behaviour.QuestDealer>().QuestToGive = quest; spawnedPawn.GetComponent <Behaviour.QuestDealer>().Init(); InitCharacterUI(spawnedPawn.GetComponent <PawnInstance>()); if (source.Tile.State != TileState.Discovered) { spawnedPawn.SetActive(false); } } else { source.Transform.GetComponent <Behaviour.QuestDealer>().QuestToGive = quest; source.Transform.GetComponent <Behaviour.QuestDealer>().Init(); } } } } foreach (Tile t in TileManager.Instance.Tiles.GetComponentsInChildren <Tile>()) { if (GetComponentsInChildren <Trader>() != null) { for (int i = 0; i < t.transform.childCount; i++) { if (t.transform.GetChild(i).GetComponent <Trader>() != null) { Trader ta = t.transform.GetChild(i).GetComponent <Trader>(); if (ta.GetComponent <Inventory>() != null && ta.GetComponent <Inventory>().PossibleItems != null && ta.GetComponent <Inventory>().PossibleItems.Count > 0) { ta.GetComponent <Inventory>().ComputeItems(); } ta.GetComponent <PawnInstance>().CurrentTile = t; InitCharacterUI(ta.GetComponent <PawnInstance>()); } } } if (GetComponentsInChildren <HintWoman>() != null) { for (int i = 0; i < t.transform.childCount; i++) { if (t.transform.GetChild(i).GetComponent <HintWoman>() != null) { HintWoman ta = t.transform.GetChild(i).GetComponent <HintWoman>(); ta.GetComponent <PawnInstance>().CurrentTile = t; } } } } // TODO this should not be handled like, especially if there is more prisoner in scene GameObject prisoner = GameManager.Instance.PawnDataBase.CreatePawn("ashley", TileManager.Instance.BeginTile.transform.position, Quaternion.identity, null); GlowController.RegisterObject(prisoner.GetComponent <GlowObjectCmd>()); // TODO: Inutile maintenant ? InitCharacterUI(prisoner.GetComponent <PawnInstance>()); GameManager.Instance.PrisonerInstance = prisoner.GetComponent <PawnInstance>(); if (GameManager.Instance.QuestManager.CurrentQuestDeck != null) { switch (GameManager.Instance.QuestManager.CurrentQuestDeck.LevelId) { case "tuto": GameManager.Instance.QuestSources.GetComponent <QuestInitializer_Level1>().InitializeQuests(); break; case "level1": GameManager.Instance.QuestSources.GetComponent <QuestInitializer_Level1>().InitializeQuests(); break; case "level2": GameManager.Instance.QuestSources.GetComponent <QuestInitializer_Level2>().InitializeQuests(); break; case "level3": GameManager.Instance.QuestSources.GetComponent <QuestInitializer_Level3>().InitializeQuests(); break; case "level4": GameManager.Instance.QuestSources.GetComponent <QuestInitializer_Level4>().InitializeQuests(); break; default: break; } //GameManager.Instance.QuestSources.GetComponent<QuestInitializer>().InitializeQuests(); GameManager.Instance.QuestManager.MainQuest.OnQuestComplete += EndGameQuest; } else { Debug.Log("No deck loaded"); } }
// Use this for initialization void Start() { GlowController.UnregisterObject(menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>()); menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>().UpdateColor(false); }
public void UpdateCardLevelSelectedPosition() { if (carLevelSelectedfLerp == 0 && !levelCardSelected.GetComponent <CardLevel>().IsSelected&& indexCardSelected == 0) { GlowController.UnregisterObject(levelCardSelected.GetComponent <GlowObjectCmd>()); for (int i = 0; i < menuManager.GoCardChildren.Count; i++) { for (int j = 0; j < menuManager.GoCardChildren[i].Count; j++) { menuManager.GoCardChildren[i][j].SetActive(false); menuManager.GoCardChildren[i][j].transform.localPosition = Vector3.zero; } } } carLevelSelectedfLerp += Time.unscaledDeltaTime * 4f; if (carLevelSelectedfLerp > 1) { carLevelSelectedfLerp = 1; } if (levelCardSelected.GetComponent <CardLevel>().IsSelected) { Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().bloomIntensity = 0.35f + (carLevelSelectedfLerp * 0.65f); Camera.main.GetComponent <UnityStandardAssets.ImageEffects.BloomAndFlares>().sepBlurSpread = 0.1f + (carLevelSelectedfLerp * 1.4f); levelCardSelected.transform.position = Vector3.Lerp(cameraWhere.position, levelCardSelectedPosition.position, carLevelSelectedfLerp); levelCardSelected.transform.rotation = Quaternion.Lerp(cameraWhere.rotation, levelCardSelectedPosition.rotation, carLevelSelectedfLerp); } else { if (indexCardSelected == 2) { levelCardSelected.transform.position = Vector3.Lerp(levelCardKeyPoses[0][1].v3Pos, levelCardKeyPoses[0][0].v3Pos, carLevelSelectedfLerp); levelCardSelected.transform.rotation = Quaternion.Lerp(levelCardKeyPoses[0][1].quatRot, levelCardKeyPoses[0][0].quatRot, carLevelSelectedfLerp); } else if (indexCardSelected == 1) { levelCardSelected.transform.position = Vector3.Lerp(levelCardSelectedPosition2.position, levelCardKeyPoses[0][1].v3Pos, carLevelSelectedfLerp); levelCardSelected.transform.rotation = Quaternion.Lerp(levelCardSelectedPosition2.rotation, levelCardKeyPoses[0][1].quatRot, carLevelSelectedfLerp); } else { levelCardSelected.transform.position = Vector3.Lerp(levelCardSelectedPosition.position, levelCardSelectedPosition2.position, carLevelSelectedfLerp); levelCardSelected.transform.rotation = Quaternion.Lerp(levelCardSelectedPosition.rotation, levelCardSelectedPosition2.rotation, carLevelSelectedfLerp); } } if (carLevelSelectedfLerp == 1) { if (levelCardSelected.GetComponent <CardLevel>().IsSelected) { for (int i = 0; i < menuManager.GoCardChildren.Count; i++) { for (int j = 0; j < menuManager.GoCardChildren[i].Count; j++) { if (levelCardSelected == menuManager.GoCardChildren[i][j].GetComponentInParent <CardLevel>().gameObject) { menuManager.GoCardChildren[i][j].SetActive(true); menuManager.GoCardChildren[i][j].transform.localPosition = new Vector3(0.1f, -0.01f, 0.0f) * (j + 1); } else { menuManager.GoCardChildren[i][j].SetActive(false); menuManager.GoCardChildren[i][j].transform.localPosition = Vector3.zero; } } } for (int i = 0; i < GameManager.Instance.AllKeepersList.Count; i++) { GlowController.RegisterObject(GameManager.Instance.AllKeepersList[i].GetComponent <GlowObjectCmd>()); } for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { GlowController.RegisterObject(menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>()); } } else { if (indexCardSelected == 2) { levelCardSelected = null; for (int i = 0; i < GameManager.Instance.AllKeepersList.Count; i++) { GlowController.UnregisterObject(GameManager.Instance.AllKeepersList[i].GetComponent <GlowObjectCmd>()); } for (int i = 0; i < menuManager.GoCardsInfo.Count; i++) { GlowController.UnregisterObject(menuManager.GoCardsInfo[i].GetComponentInChildren <GlowObjectCmd>()); } } } //box.UpdateLockAspect(); if (levelCardSelected != null && levelCardSelected.GetComponent <CardLevel>().IsSelected) { aCardLevelSelectedIsMoving = false; } else if (indexCardSelected != 2) { indexCardSelected++; } else if (indexCardSelected == 2) { aCardLevelSelectedIsMoving = false; } carLevelSelectedfLerp = 0; if (!initCardInfo) { initCardInfo = true; } } }
public void Die() { if (GetComponent <Keeper>() != null || GetComponent <Monster>() != null) { Keeper keeper = GetComponent <Keeper>(); //Monster monster = GetComponent<Monster>(); Debug.Log("Blaeuurgh... *dead*"); PawnInstance pawnInstance = GetComponent <PawnInstance>(); if (GameManager.Instance.Ui.tooltipAction != null) { // TMP Remi GameManager.Instance.Ui.GoActionPanelQ.transform.parent.SetParent(GameManager.Instance.Ui.transform); GameManager.Instance.Ui.tooltipAction.SetActive(false); } // Remove reference from tiles if (keeper != null) { if (TileManager.Instance.KeepersOnTile.ContainsKey(keeper.GetComponent <PawnInstance>().CurrentTile)) { foreach (PawnInstance k in TileManager.Instance.KeepersOnTile[keeper.GetComponent <PawnInstance>().CurrentTile]) { if (k.GetComponent <MentalHealthHandler>() != null) { k.GetComponent <MentalHealthHandler>().CurrentMentalHealth -= 30; } } } TileManager.Instance.RemoveKilledKeeper(pawnInstance); GameManager.Instance.ClearListKeeperSelected(); keeper.IsSelected = false; // Drop items if (!GetComponent <Inventory>().IsEmpty()) { ItemManager.AddItemOnTheGround(pawnInstance.CurrentTile, transform, GetComponent <Inventory>().Items); } } else { TileManager.Instance.RemoveDefeatedMonster(pawnInstance); } // Death operations // TODO @Rémi, il me faut de quoi mettre a jour le shortcut panel pour afficher l'icone de mort GlowController.UnregisterObject(GetComponent <GlowObjectCmd>()); GetComponent <AnimatedPawn>().Anim.SetTrigger("triggerDeath"); // Try to fix glow bug Destroy(GetComponent <GlowObjectCmd>()); if (keeper != null) { keeper.ShowSelectedPanelUI(false); if (EventManager.OnKeeperDie != null) { EventManager.OnKeeperDie(GetComponent <Keeper>()); } // Deactivate pawn DeactivatePawn(); } else { if (GameManager.Instance.CurrentState != GameState.InBattle) { Destroy(gameObject, 0.1f); } } } else if (GetComponent <Prisoner>() != null) { Debug.Log("Ashley is dead"); } GameManager.Instance.CheckGameState(); }
public void Bite() { GlowController.RegisterObject(menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>()); menuManager.DuckhavebringThebox = true; }