Example #1
0
    // Use this for initialization
    void Start()
    {
        GameObject rollObj = GameObject.FindGameObjectWithTag("RollProbaManager");

        if (rollObj != null)
        {
            rollProbaManager = rollObj.GetComponent <RollProbaManager>();
        }
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
        if (!created)
        {
            DontDestroyOnLoad(transform.gameObject);
            created = true;
        }
        else
        {
            Destroy(transform.gameObject);
        }

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

        if (rollObj != null)
        {
            rollProbaManager = rollObj.GetComponent <RollProbaManager>();
        }
    }
Example #3
0
    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);
            }
        }
    }