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"));
    }
示例#4
0
 void Start()
 {
     GlowColor          = Color.yellow;
     distanceFromPlayer = 2;
     girl      = GameObject.Find("Girl").transform;
     boi       = GameObject.Find("Boi").transform;
     Renderers = GetComponentsInChildren <Renderer>();
     GlowController.RegisterObject(this);
 }
示例#5
0
    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();
    }
示例#7
0
 void OnTriggerEnter(Collider col)
 {
     if (col.GetComponent <ThirdPersonVehicleInteraction> ())
     {
         ThirdPersonInventory.staticInv.AddItemAmmo(bulletID, amount);
         if (glow)
         {
             GlowController.UnregisterObject(glow);
         }
         Destroy(gameObject);
         //gameObject.SetActive (false);
     }
 }
示例#8
0
    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;
        }
    }
示例#9
0
    void Start()
    {
        Renderers = GetComponentsInChildren <Renderer>();
        GlowController.RegisterObject(this);
        persistanceObj = GameObject.Find("/PersistenceManager");

        if (persistanceObj == null)
        {
            byPass = true;
        }
        else
        {
            persistance = persistanceObj.GetComponent <PersistenceManager>();
        }
    }
示例#10
0
    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);
        }
    }
示例#11
0
    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);
    }
示例#13
0
    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);
        }
    }
示例#14
0
 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);
         }
     }
 }
示例#15
0
    // 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();
    }
示例#16
0
    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();
        }
    }
示例#17
0
    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>());
        }
    }
示例#18
0
 private void OnDestroy()
 {
     GlowController.UnregisterObject(this);
 }
示例#19
0
    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();
    }
示例#20
0
 void Start()
 {
     Renderers = GetComponentsInChildren <Renderer>();
     GlowController.RegisterObject(this);
 }
示例#21
0
 public void OnEnable()
 {
     GlowController.UnregisterObject(GetComponent <GlowObjectCmd>());
 }
示例#22
0
 // Use this for initialization
 void Awake()
 {
     s = this;
 }
示例#23
0
    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;
        }
    }
示例#24
0
    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);
    }
示例#26
0
    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");
        }
    }
示例#27
0
 // Use this for initialization
 void Start()
 {
     GlowController.UnregisterObject(menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>());
     menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>().UpdateColor(false);
 }
示例#28
0
    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;
            }
        }
    }
示例#29
0
        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();
        }
示例#30
0
 public void Bite()
 {
     GlowController.RegisterObject(menuManager.GetComponent <BoxOpener>().boxLock.GetComponent <GlowObjectCmd>());
     menuManager.DuckhavebringThebox = true;
 }