Пример #1
0
    void Start()
    {
        hasKnightWon = false;
        FadeInOutScript.Instance.isNextLevelLoaded = true;
        FadeInOutScript.Instance.isFadeToBlack     = false;
        FadeInOutScript.Instance.isFadeToScene     = false;

        knightMovementScript = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightMovementScript>();
        int sceneLength = SceneManager.sceneCountInBuildSettings;

        sceneArray = new string[sceneLength];

        for (int i = 0; i < sceneArray.Length; i++)
        {
            sceneArray[i] = System.IO.Path.GetFileNameWithoutExtension(UnityEngine.SceneManagement.SceneUtility.GetScenePathByBuildIndex(i));
        }


        dialogueUI = GameObject.Find("Dialogue");
        star1      = GameObject.Find("star1");
        star2      = GameObject.Find("star2");
        star3      = GameObject.Find("star3");
        emoticon1  = GameObject.Find("emoticon1");
        emoticon2  = GameObject.Find("emoticon2");
        emoticon3  = GameObject.Find("emoticon3");
        nextRoom   = GameObject.Find("Next Room");

        healthRemains = GameObject.Find("HealthRemains").GetComponentInChildren <Text>();
        knightScript  = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightAttackScript>();
        Button btn = nextRoom.GetComponent <Button>();

        btn.onClick.AddListener(LoadNextLevel);

        levelEndContent.Add(GameObject.Find("BG"));
        levelEndContent.Add(GameObject.Find("Title"));
        levelEndContent.Add(GameObject.Find("HealthRemains"));
        levelEndContent.Add(nextRoom);

        star1.GetComponent <Image>().enabled     = false;
        star2.GetComponent <Image>().enabled     = false;
        star3.GetComponent <Image>().enabled     = false;
        emoticon1.GetComponent <Image>().enabled = false;
        emoticon2.GetComponent <Image>().enabled = false;
        emoticon3.GetComponent <Image>().enabled = false;
        for (int i = 0; i < levelEndContent.Count; i++)
        {
            levelEndContent[i].SetActive(false);
        }
    }
Пример #2
0
    // Use this for initialization
    void Start()
    {
        knightMovement = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightMovementScript>();
        squireMovement = GameObject.FindGameObjectWithTag("Player").GetComponent <SquireMovementScript>();
        knightRespawn  = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightCheckpointScript>();
        knightMR       = knightMovement.gameObject.GetComponentsInChildren <MeshRenderer>();
        squireMR       = squireMovement.gameObject.GetComponentsInChildren <MeshRenderer>();

        breathParticles = transform.Find("Dragon Breath").gameObject;

        isFreezeCubes = false;

        theCamera = Camera.main.GetComponent <CameraTouchInputScript>();

        timer        = 22.9f;
        isFire       = false;
        isPlayedSFX  = true;
        roarDuration = breathDuration + 1f;
        beginTilt    = false;
        PS           = transform.GetComponentsInChildren <ParticleSystem>();
    }
    void Start()
    {
        KnightMovement = gameObject.GetComponent <KnightMovementScript>();
        knightRagdoll  = GetComponent <RagdollScript>();

        enemyLayer  = LayerMask.GetMask("Enemy");
        floorLayer  = LayerMask.GetMask("Walkable");
        stamina     = 5f;
        attack      = 1;
        attackRate  = 0.0f;
        isAttacking = false;
        isEngaged   = false;

        currentStamina       = stamina;
        staminaBar           = GameObject.Find("Stamina").GetComponent <RectTransform>();
        initLength           = staminaBar.rect.xMax;
        staminaToLengthRatio = initLength / stamina;
        staminaChangeSpeed   = 1f;
        drankPotion          = false;
        healthIncrease       = false;

        raycastDistance = 1.1f;

        //Dania: Damage Feedback function
        rend           = new Renderer[8];
        rend           = gameObject.GetComponentsInChildren <MeshRenderer>();
        standardShader = Shader.Find("Standard");

        //damageStamina = currentStamina;
        timer = setStunTimer;

        carryingShield = false;
        thisAni        = GetComponent <Animation>();

        slightlyUp = new Vector3(0, 1, 0);
    }
Пример #4
0
 void Start()
 {
     animator       = GetComponent <Animator>();
     KnightMovement = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightMovementScript>();
     knightScript   = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightAttackScript>();
 }
    void Start()
    {
        thisRB = GetComponent <Rigidbody>();

        parent = transform.parent;

        PrevState = MovementState.CanMove;
        MoveState = MovementState.StopMove;

        PrevBehaviour = BehaviourState.Patrolling;

        floorLayer  = LayerMask.GetMask("Walkable");
        wallLayer   = LayerMask.GetMask("Wall");
        knightLayer = LayerMask.GetMask("Knight");
        enemyLayer  = LayerMask.GetMask("Enemy");
        flashLayer  = LayerMask.GetMask("Flash");

        KnightHealth = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightAttackScript>();
        KnightScript = GameObject.FindGameObjectWithTag("Knight").GetComponent <KnightMovementScript>();

        thisCC          = GetComponent <CapsuleCollider>();
        randomDirection = Random.Range(0, 11);

        thisMR = GetComponentsInChildren <MeshRenderer>();

        if (EnemyType == EnemyClass.Normal)
        {
            health  = 1;
            thisAni = transform.GetChild(0).GetComponent <Animation>();
            for (int i = 0; i < thisMR.Length; i++)
            {
                if (thisMR[i].name != shieldItem.name && thisMR[i].name != swordItem.name)
                {
                    thisMR[i].material = materialList[0];
                }
            }

            shieldItem.SetActive(false);
        }
        else if (EnemyType == EnemyClass.Armored)
        {
            health  = 2;
            thisAni = transform.GetChild(0).GetComponent <Animation>();
            for (int i = 0; i < thisMR.Length; i++)
            {
                if (thisMR[i].name != shieldItem.name && thisMR[i].name != swordItem.name)
                {
                    thisMR[i].material = materialList[1];
                }
            }
        }
        else if (EnemyType == EnemyClass.Phantom)
        {
            health = 999;
            transform.GetChild(0).gameObject.SetActive(false);
            transform.GetChild(1).gameObject.SetActive(true);
            thisAni = transform.GetChild(1).GetComponent <Animation>();
            for (int i = 0; i < thisMR.Length; i++)
            {
                if (thisMR[i].name != shieldItem.name && thisMR[i].name != swordItem.name)
                {
                    thisMR[i].material = materialList[2];
                }
            }
        }
        else if (EnemyType == EnemyClass.Swarm)
        {
            health = 999;
            transform.GetChild(0).gameObject.SetActive(false);
            transform.GetChild(1).gameObject.SetActive(false);
            transform.GetChild(2).gameObject.SetActive(true);
            swarmScripts      = GetComponentsInChildren <EnemySwarmScript>();
            thisCC.center     = new Vector3(0.0f, -0.05f, 0.02f);
            thisCC.height     = 0.25f;
            thisCC.radius     = 0.03f;
            thisRB.useGravity = false;
            patrolCheck       = 0;
            targetPos         = patrolPoints[0];
            swarmGetTarget    = false;

            swarmDistanceX = Mathf.Abs(Mathf.Abs(transform.position.x) - Mathf.Abs(targetPos.transform.position.x));
            swarmDistanceZ = Mathf.Abs(Mathf.Abs(transform.position.z) - Mathf.Abs(targetPos.transform.position.z));
        }

        originalRotation = Mathf.RoundToInt(transform.eulerAngles.y);
        raycastDirection = transform.forward;
        hasTurned        = false;
        checkedSides     = false;
        isMoving         = false;
        rotating         = false;
        swarmDeath       = false;
        raycastDistance  = 3;
        speed            = 3;

        if (EnemyType == EnemyClass.Phantom)
        {
            speed = 2;
        }

        raycastCheck    = 1;
        lostCount       = 0;
        stunTimer       = -1.0f;
        timer           = -1.0f;
        swarmDeathTimer = 0.0f;
    }
    void Start()
    {
        thisRB          = GetComponent <Rigidbody>();
        deadPhase       = 0;
        heDead          = false;
        knightLayers    = new GameObject[3];
        knightLayers[0] = GameObject.Find("Knight Layer");
        knightLayers[1] = GameObject.Find("Knight Layer 1");
        knightLayers[2] = GameObject.Find("Knight Layer 2");
        fader           = GameObject.Find("Fader").GetComponent <Image>();

        GameObject dragon = GameObject.Find("Dragon Layer");

        if (dragon != null)
        {
            dragonBreath = GameObject.Find("Dragon Layer").GetComponent <DragonBreathActivationScript>();
        }

        body         = gameObject.transform.GetChild(0).gameObject;
        shieldButton = GameObject.Find("ShieldUseButton").GetComponent <Button>();
        reviveBoom   = transform.Find("Revive").gameObject;
        reviveBoom.SetActive(false);
        squire         = GameObject.FindGameObjectWithTag("Player");
        squireMR       = squire.GetComponentsInChildren <MeshRenderer>();
        squireMovement = squire.GetComponent <SquireMovementScript>();
        squireAgent    = squire.GetComponent <NavMeshAgent>();
        squireLocation = squire.transform.position;

        Reset();
        knightScript = GetComponent <KnightMovementScript>();
        knightShield = GetComponent <KnightAttackScript>();
        ragdoll      = GetComponent <RagdollScript>();
        thisCC       = GetComponent <CapsuleCollider>();

        thisMR = GetComponentsInChildren <MeshRenderer>();

        cranks            = GameObject.FindGameObjectsWithTag("Crank");
        bombs             = GameObject.FindGameObjectsWithTag("Bomb");
        enemies           = GameObject.FindGameObjectsWithTag("Enemy");
        rotationPlatforms = GameObject.FindGameObjectsWithTag("RotatingBridge");
        pressurePlates    = GameObject.FindGameObjectsWithTag("PressurePlate");

        for (int i = 0; i < enemies.Length; i++)
        {
            enemyPos.Add(enemies[i].transform.localPosition);
            enemyRot.Add(enemies[i].transform.localRotation);
        }

        for (int i = 0; i < bombs.Length; i++)
        {
            bombPos.Add(bombs[i].transform.position);
        }

        for (int i = 0; i < rotationPlatforms.Length; i++)
        {
            platformRotations.Add(rotationPlatforms[i].transform.localRotation);
        }

        for (int i = 0; i < cranks.Length; i++)
        {
            crankRotations.Add(cranks[i].transform.localRotation);
        }
    }