private void Awake()
 {
     caravane = GameObject.FindGameObjectWithTag("Caravane").GetComponent <Caravane>();
     if (isAtCapital)
     {
         caravane.lFighters = new List <Monster>();
     }
 }
Beispiel #2
0
    public void ToCarte()
    {
        string s = "CARTE";

        // SceneManager.UnloadScene(currentScene);
        //  SceneManager.UnloadSceneAsync(currentScene);

        Caravane caravane = GameObject.FindGameObjectWithTag("Caravane").GetComponent <Caravane>();


        bool isAtCapital = GameObject.FindGameObjectWithTag("RecrutementManager").GetComponent <RecrutementManager>().isAtCapital;

        if ((isAtCapital && caravane.lFighters.Count == 4) || !isAtCapital)
        {
            GameObject g = GameObject.FindGameObjectWithTag("ProtoManager");
            if (g != null)
            {
                ProtoScript ps = g.GetComponent <ProtoScript>();

                if (ps.nbFoisSelection == 2)
                {
                    Destroy(g);
                }
            }

            if (isAtCapital)
            {
                SceneManager.LoadScene(s);
            }
            else
            {
                SceneManager.UnloadScene(currentScene);

                SceneManager.SetActiveScene(SceneManager.GetSceneByName(s));
                for (int i = 0; i < SceneManager.GetActiveScene().GetRootGameObjects().Length; i++)
                {
                    GameObject go = SceneManager.GetActiveScene().GetRootGameObjects()[i];
                    if (go.tag != "Spotligth")
                    {
                        SceneManager.GetActiveScene().GetRootGameObjects()[i].SetActive(true);
                    }
                }
            }

            AkSoundEngine.PostEvent("Play_Map", gameObject);

            /*
             * SceneManager.SetActiveScene(SceneManager.GetSceneByName(s));
             *
             * for (int i = 0; i < SceneManager.GetActiveScene().GetRootGameObjects().Length; i++)
             * {
             *  GameObject go = SceneManager.GetActiveScene().GetRootGameObjects()[i];
             *  if (go.tag != "Spotligth")
             *      SceneManager.GetActiveScene().GetRootGameObjects()[i].SetActive(true);
             * }
             */
        }
    }
    public override void CheckFightersLife()
    {
        base.CheckFightersLife();

        GameObject g        = GameObject.FindGameObjectWithTag("Caravane");
        Caravane   caravane = g.GetComponent <Caravane>();

        caravane.CheckMonsterDead();
    }
Beispiel #4
0
 void Awake()
 {
     caravane = GameObject.FindGameObjectWithTag("Caravane").GetComponent <Caravane>();
 }
Beispiel #5
0
 private void Awake()
 {
     teamIndex = 0;
     caravane  = GameObject.FindGameObjectWithTag("Caravane").GetComponent <Caravane>();
     UpdateUI();
 }
    void Start()
    {
        currentNbHuman = nbCreaturePerGroup;

        bool canFight = GameObject.FindGameObjectWithTag("CombatTerrain").GetComponent <CombatTerrainInfo>().bCanFightHere;

        if (!canFight)
        {
            gameObject.SetActive(false);
        }

        GameObject rollObj = GameObject.FindGameObjectWithTag("RollProbaManager");

        if (rollObj != null)
        {
            rollProbaManager = rollObj.GetComponent <RollProbaManager>();
        }

        discoveredTip = null;

        GameObject g = GameObject.FindGameObjectWithTag("ProtoManager");

        if (g != null)
        {
            protoScript = g.GetComponent <ProtoScript>();
        }

        specialManager = GameObject.FindGameObjectWithTag("SpecialManager").GetComponent <SpecialManager>();

        caravane = GameObject.FindGameObjectWithTag("Caravane").GetComponent <Caravane>();
        fighterMouvementManager = GameObject.FindGameObjectWithTag("FighterMouvementManager").GetComponent <FighterMouvementManager>();
        creaturePrefabManager   = GameObject.FindGameObjectWithTag("CreaturePrefabManager").GetComponent <CreaturePrefabManager>();



        float rand = Random.Range(0f, 1f);


        if ((rand < rollProbaManager.specialProba.probaFight || specialManager.iaBard.bardFollow) && protoScript == null && !isBossCombat)
        {
            if (specialManager.iaBard.bardFollow)
            {
                bSpecialFight = true;
                specialType   = SpecialType.Bard;
            }
            else
            {
                float rand2 = Random.Range(0f, 1f);

                if (rand2 < rollProbaManager.specialProba.bard)
                {
                    if (!specialManager.iaBard.endStory)
                    {
                        bSpecialFight = true;
                        specialType   = SpecialType.Bard;
                    }
                }
                else if (!specialManager.iaEd.isDead && rand2 < rollProbaManager.specialProba.ed)
                {
                    bSpecialFight = true;
                    specialType   = SpecialType.Ed;
                }
                else
                {
                    bSpecialFight = true;
                    specialType   = SpecialType.Slip;
                }
            }
        }


        InstantiateMonster();
        InstantiateHuman();


        monsterGroupFighter.groupLogic = logic.GetComponent <PlayerLogic>();

        /*
         *
         * bSpecialFight = true;
         *      specialType = SpecialType.Ed;
         * humanGroupFighter.groupLogic = specialManager.iaEd;
         * ((IAEd)(humanGroupFighter.groupLogic)).groupEd = (GroupEd) humanGroupFighter;
         *
         */


        if (bSpecialFight)
        {
            if (specialType == SpecialType.Bard)
            {
                humanGroupFighter.groupLogic = specialManager.iaBard;
                ((IABard)(humanGroupFighter.groupLogic)).groupBard = (GroupBard)humanGroupFighter;
                specialManager.iaBard.combatJustStarted            = true;
            }
            else if (specialType == SpecialType.Ed)
            {
                humanGroupFighter.groupLogic = specialManager.iaEd;
                ((IAEd)(humanGroupFighter.groupLogic)).groupEd = (GroupEd)humanGroupFighter;
            }
            else
            {
                humanGroupFighter.groupLogic = specialManager.iaSlip;
                ((IASlip)(humanGroupFighter.groupLogic)).groupSlip = (GroupSlip)humanGroupFighter;
            }
        }
        else
        {
            humanGroupFighter.groupLogic = logic.GetComponent <GroupIA>();
            ((GroupIA)humanGroupFighter.groupLogic).groupHumanFighter = (GroupHumanFighter)humanGroupFighter;
        }


        RollInitiative();

        bCombatStarted = false;

        Invoke("CanStartCombat", timeBeforeStartFight);

        //Play Music
        AkSoundEngine.SetSwitch("Tension", "T2", gameObject);
        AkSoundEngine.PostEvent("Play_FightMusic", gameObject);

        for (int i = 0; i < SceneManager.sceneCount; ++i)
        {
            if (SceneManager.GetSceneAt(i).name != "Menu" && SceneManager.GetSceneAt(i).name != "CARTE")
            {
                AkSoundEngine.PostEvent(SceneManager.GetSceneAt(i).name, gameObject);
            }
        }
    }
 void OnEnable()
 {
     t         = (Caravane)target;
     GetTarget = new SerializedObject(t);
     ThisList  = GetTarget.FindProperty("lFighters"); // Find the List in our script and create a refrence of it
 }