Exemplo n.º 1
0
    IEnumerator LoadRoomIntern(DoorTrigger destination)
    {
        Debug.Log("loading new room");
        player2D.LockMovement();
        blackOverlay.CrossFadeAlpha(1, .5f, false);
        yield return(new WaitForSeconds(.5f));

        LoadRoom(destination.room);
        foreach (Transform childTransform in activeRoom.transform)
        {
            DoorTrigger childDoorComponent = childTransform.gameObject.GetComponent <DoorTrigger>();
            if (childDoorComponent != null && destination.name == childDoorComponent.name)
            {
                childDoorComponent.isEntering = true;
                childDoorComponent.OpenDoor();
            }
        }

        player.transform.position = destination.gameObject.transform.position;
        Debug.Log("new player position: " + destination.gameObject.transform.position);
        UpdateCamera(destination.gameObject.transform);
        blackOverlay.CrossFadeAlpha(0, .5f, false);
        yield return(new WaitForSeconds(.5f));

        player2D.UnlockMovement();
    }
Exemplo n.º 2
0
 public override void ExitLevel(DoorTrigger door)
 {
     if (rogue)
     {
         rogue.SetActive(false);
     }
 }
Exemplo n.º 3
0
    // Use this for initialization
    void Start()
    {
        if (PullSpeed == 0f)
        {
            PullSpeed = 18.0f;
        }

        IsPulling = false;

        if (Door == null)
        {
            Door        = transform.root.gameObject;
            DoorTrigger = Door.GetComponent <DoorTrigger>();
        }

        if (TargetPointBehindDoor == null)
        {
            TargetPointBehindDoor = transform.Find("TargetPointBehindDoor").gameObject;
        }
        TargetPosBehindDoor = TargetPointBehindDoor.transform.position;

        if (DoorTrigger.DoorType == "Exit")
        {
            IsExit = true;
        }
    }
Exemplo n.º 4
0
    bool CheckTriggers()
    {
        bool state = false;

        SphereCollider collider = GetComponent <SphereCollider>();

        GameObject[] magicObjects = GameObject.FindGameObjectsWithTag("MagicObject");

        foreach (GameObject obj in magicObjects)
        {
            if (collider.bounds.Contains(obj.transform.position))
            {
                if (sigils.Contains(Sigil.Fire))
                {
                    FlameObject flameScript = obj.GetComponent <FlameObject>();
                    if (flameScript != null && flameScript.IsLit == false)
                    {
                        flameScript.IsLit = true;
                        state             = true;
                    }
                }

                if (sigils.Contains(Sigil.Earth))
                {
                    DoorTrigger doorScript = obj.GetComponent <DoorTrigger>();
                    if (doorScript != null)
                    {
                        doorScript.Trigger();
                    }
                }
            }
        }

        return(state);
    }
    void Start()
    {
        app = AppController.instance;

        if (moveCam == jumpToCam)
        {
            DebugConsole.LogError("You can't jump to and move a cam at the same time.");
        }

        box_X = (Screen.width / 2) - (width / 2);
        box_Y = (Screen.height / 2) - (height / 2);        //+ boxHeightOffset;

        button_X = (width / 2) - (buttonWidth / 2);
        //button_Y = box_Y - buttonHeight - 5;

        infoWindow = new Rect(box_X, box_Y, width, height);

        allInfos = GameObject.FindObjectsOfType <Information>();

        doorTrigger = gameObject.GetComponent <DoorTrigger> ();

        if (null != XRayMenuObject)
        {
            xRayMenu = XRayMenuObject.GetComponent <XRayMachineMenu> ();
        }
    }
Exemplo n.º 6
0
    void Start()
    {
        doorTrigger = transform.Find("OpenDoorTrigger").gameObject;
        DoorTrigger trigger = doorTrigger.GetComponent <DoorTrigger>();

        trigger.doorRef = this;
    }
Exemplo n.º 7
0
 void Awake()
 {
     codeButtons = GameObject.Find("Code Buttons");
     doorTrigger = FindObjectOfType <DoorTrigger>();
     teleporter  = GameObject.Find("Teleporter");
     teleporter.SetActive(false);
 }
Exemplo n.º 8
0
 public override void ExitLevel(DoorTrigger door)
 {
     if (flameLord)
     {
         flameLord.SetActive(false);
     }
 }
Exemplo n.º 9
0
        /// Cross-matrix now! uses world positions
        private void InteractDoor(Vector3Int currentPos, Vector3Int targetPos)
        {
            // Make sure there is a door controller
            DoorTrigger door = MatrixManager.Instance.GetFirst <DoorTrigger>(targetPos);

            if (!door)
            {
                door = MatrixManager.Instance.GetFirst <DoorTrigger>(Vector3Int.RoundToInt(currentPos));

                if (door)
                {
                    RegisterDoor registerDoor = door.GetComponent <RegisterDoor>();

                    Vector3Int localPos = MatrixManager.Instance.WorldToLocalInt(targetPos, matrix);
                    if (registerDoor.IsPassable(localPos))
                    {
                        door = null;
                    }
                }
            }

            // Attempt to open door
            if (door != null && allowInput)
            {
                door.Interact(gameObject, TransformState.HiddenPos);
            }
        }
Exemplo n.º 10
0
    public bool AnyEmptyFields()
    {
        DoorTrigger doortrigger = target as DoorTrigger;

        if (doortrigger.HasName && doortrigger.playerName == "")
        {
            return(true);
        }
        else if (doortrigger.IsLookingAt && doortrigger.lookObject == null)
        {
            return(true);
        }
        else if (doortrigger.HasPressed && doortrigger.character == "")
        {
            return(true);
        }
        else if (doortrigger.HasScript && doortrigger.script.script.Name == "")
        {
            return(true);
        }
        else if (doortrigger.IsGameObject && doortrigger.isObject == null)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemplo n.º 11
0
 public override void ExitLevel(DoorTrigger door)
 {
     if (door == doorTo12)
     {
         levelPassed = true;
         LevelManager.Instance.SetLevelPassed(levelPassed, ID);
     }
 }
Exemplo n.º 12
0
 public override void ExitLevel(DoorTrigger door)
 {
     if (door == doorTo6)
     {
         levelPassed = true;
         SentImportantObjectsPositionsToLevelManager();
         LevelManager.Instance.SetLevelPassed(levelPassed, ID);
     }
 }
Exemplo n.º 13
0
    private void OnTriggerStay2D(Collider2D other)
    {
        // Picking Item
        // Debug.Log("the Name is: " + other.name);

        m_TargetItem = other.gameObject.GetComponent <Item>();

        // Door Trigger
        m_DoorTrigger = other.gameObject.GetComponent <DoorTrigger>();
    }
Exemplo n.º 14
0
 public virtual void EnterLevel(DoorTrigger door)
 {
     if (levelPassed)
     {
         EnterPassedLevel();
     }
     else
     {
         EnterNotPassedLevel();
     }
 }
Exemplo n.º 15
0
    /// <summary>
    /// Interact with a door at the specified position if there is a closed door there.
    /// </summary>
    /// <param name="currentPos">current world position </param>
    /// <param name="targetPos">position to interact with</param>
    private void InteractDoor(Vector3Int currentPos, Vector3Int targetPos)
    {
        // Make sure there is a door which can be interacted with
        DoorTrigger door = MatrixManager.GetClosedDoorAt(currentPos, targetPos);

        // Attempt to open door
        if (door != null)
        {
            door.Interact(gameObject, TransformState.HiddenPos);
        }
    }
Exemplo n.º 16
0
    public void OnRiddleRequest(DoorTrigger doorTrigger)
    {
        if (this._riddleCurrentlyRunning)
        {
            return;
        }

        this._currentDoor = doorTrigger;
        StartRiddle();
        this._gooCam.enabled = true;
    }
Exemplo n.º 17
0
        void Start()
        {
            doorTrigger = GetComponent <Cupboards.DoorTrigger>();
            lockLight   = transform.GetComponentInChildren <LockLightController>();
            items       = transform.FindChild("Items").gameObject;

            if (PhotonNetwork.connectedAndReady)
            {
                //Has been instantiated at runtime and you received instantiate of this object from photon on room join
                StartSync();
            }
        }
Exemplo n.º 18
0
 public override void ExitLevel(DoorTrigger door)
 {
     if (door == doorTo3)
     {
         levelPassed = true;
         LevelManager.Instance.SetLevelPassed(levelPassed, ID);
     }
     if (BBEG)
     {
         BBEG.SetActive(false);
     }
 }
Exemplo n.º 19
0
        public static bool IsItUnlocked(DoorTrigger dt)
        {
            Doors thisDoorIs = BriansEngine.FindDoorType(dt);

            for (int i = 0; i < BriansEngine.openable.Count; i++)
            {
                if (thisDoorIs.Equals(BriansEngine.openable[i].doorType))
                {
                    return(!BriansEngine.openable[i].doorState);
                }
            }
            throw new UnityException("Not implemented");
        }
Exemplo n.º 20
0
 private void OnTriggerEnter(Collider hit)
 {
     if (hit.gameObject.CompareTag("Player"))
     {
         Destroy(gameObject);
         DoorTrigger unlock1 = GameObject.FindGameObjectWithTag("Lock1").GetComponent <DoorTrigger>();
         unlock1.Unlock();
         DoorTrigger1 unlock2 = GameObject.FindGameObjectWithTag("Lock2").GetComponent <DoorTrigger1>();
         unlock2.Unlock();
         DoorTrigger2 unlock3 = GameObject.FindGameObjectWithTag("Lock3").GetComponent <DoorTrigger2>();
         unlock3.Unlock();
         DoorTrigger3 unlock4 = GameObject.FindGameObjectWithTag("Lock4").GetComponent <DoorTrigger3>();
         unlock4.Unlock();
     }
 }
Exemplo n.º 21
0
        protected override void Awake()
        {
            doorCollider = GetComponent <Collider2D>();
            trigger      = GetComponent <DoorTrigger>();

            base.Awake();

            if (proximityDoorPuzzle)
            {
                SetProximityLamps();
            }
            else
            {
                SetNormalLamps();
            }
            lampless = (lamps.Length == 0);
        }
Exemplo n.º 22
0
    /// <summary>
    /// Called when player presses the use key
    /// </summary>
    private void useAction()
    {
        RaycastHit useHit;

        if (Physics.Raycast(_playerCamera.transform.position, _playerCamera.transform.forward, out useHit, _useRange))
        {
            Transform target = useHit.transform;

            if (target.CompareTag("Door"))
            {
                DoorTrigger door = target.GetComponent <DoorTrigger>();
                if (door != null)
                {
                    door.Use();
                }
            }

            if (target.CompareTag("Message Switch"))
            {
                MessageSwitch mSwitch = target.GetComponent <MessageSwitch>();
                if (mSwitch != null)
                {
                    mSwitch.Use();
                }
            }

            if (target.CompareTag("Platform Switch"))
            {
                PlatformSwitch pSwitch = target.GetComponent <PlatformSwitch>();
                if (pSwitch != null)
                {
                    pSwitch.Use();
                }
            }

            if (target.CompareTag("Turret"))
            {
                TurretHealth turretHealth = target.GetComponent <TurretHealth>();
                if (turretHealth != null)
                {
                    turretHealth.Die();
                }
            }
        }
    }
Exemplo n.º 23
0
        public static Doors FindDoorType(DoorTrigger doorTrigger)
        {
            MeshFilter mf = doorTrigger.animator.GetComponent <MeshFilter>();

            if (mf.name.Equals(MAINDOOR))
            {
                return(Doors.Main);
            }
            else if (mf.name.Equals(ROOM1))
            {
                return(Doors.Room1);
            }
            else if (mf.name.Equals(ROOM2))
            {
                return(Doors.Room2);
            }
            else if (mf.name.Equals(ROOM3))
            {
                return(Doors.Room3);
            }
            else if (mf.name.Equals(BATHROOM))
            {
                return(Doors.Bathroom);
            }
            else if (mf.name.Equals(BACKDOOR))
            {
                return(Doors.Back);
            }
            else if (mf.name.Equals(GLASSDOOR))
            {
                return(Doors.GlassDoor1);
            }
            else if (mf.name.Equals(GLASSDOOR2))
            {
                return(Doors.GlassDoor2);
            }
            else if (mf.name.Equals(GARAGEDOOR))
            {
                return(Doors.GarageDoor);
            }
            else
            {
            }               throw new UnityException("Unknown return type, mesh filter name provided in BriansEngine doesn't match");
        }
Exemplo n.º 24
0
    void DoorOpened(bool TruthDoor)
    {
        DoorTrigger doorSound = GetComponent <DoorTrigger>();

        if (doorSound != null)
        {
            doorSound.TriggerSound();
        }
        Debug.Log("DoorOpenedCallback");
        if (!TruthDoor)
        {
            AkSoundEngine.SetRTPCValue("Dare", 1.0f);
            SpawnSpikes();
            PlayerTransform.gameObject.GetComponent <PlayerController>().TriggerCameraShake();
        }
        else
        {
            DestroySpikes();
            AkSoundEngine.SetRTPCValue("Dare", 0.0f);
        }
    }
Exemplo n.º 25
0
    /// <summary>
    /// Gets the closest door to worldOrigin on the path from worldOrigin to targetPos (if there is one)
    /// Assumes that
    /// </summary>
    /// <param name="worldOrigin">Origin World position to check from. This is required because e.g. Windoors may not appear closed from certain positions.</param>
    /// <param name="targetPos">target world position to check</param>
    /// <returns>The DoorTrigger of the closed door object specified in the summary, null if no such object
    /// exists at that location</returns>
    public static DoorTrigger GetClosedDoorAt(Vector3Int worldOrigin, Vector3Int targetPos, bool isServer)
    {
        // Check door on the local tile first
        Vector3Int  localTarget = Instance.WorldToLocalInt(targetPos, AtPoint(targetPos, isServer).Matrix);
        DoorTrigger originDoor  = Instance.GetFirst <DoorTrigger>(worldOrigin, isServer);

        if (originDoor && !originDoor.GetComponent <RegisterDoor>().IsPassableTo(localTarget, isServer))
        {
            return(originDoor);
        }

        // No closed door on local tile, check target tile
        Vector3Int  localOrigin = Instance.WorldToLocalInt(worldOrigin, AtPoint(worldOrigin, isServer).Matrix);
        DoorTrigger targetDoor  = Instance.GetFirst <DoorTrigger>(targetPos, isServer);

        if (targetDoor && !targetDoor.GetComponent <RegisterDoor>().IsPassable(localOrigin, isServer))
        {
            return(targetDoor);
        }

        // No closed doors on either tile
        return(null);
    }
    public override void OnInspectorGUI()
    {
        thisTarget          = (DoorTrigger)target;
        thisTarget.doorType = (DoorTypeState)EditorGUILayout.EnumPopup("Door Type", thisTarget.doorType);
        switch (thisTarget.doorType)
        {
        case DoorTypeState.None:
            thisTarget.gameObject.GetComponent <BasicTrigger>().RemoveObject();
            break;

        case DoorTypeState.TestDoor:
            if (thisTarget.door == null)
            {
                thisTarget.door = (GameObject)PrefabUtility.InstantiatePrefab(
                    AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Assets/Prefabs/TestDoor.prefab"));
                thisTarget.door.transform.parent        = thisTarget.gameObject.transform;
                thisTarget.door.transform.localPosition = Vector3.zero;
                thisTarget.door.transform.localScale    = new Vector3(.5f, 3, 3);
            }
            break;
        }
        //thisTarget.door = (GameObject)EditorGUILayout.ObjectField("Door Game Object", thisTarget.door, typeof(Object), true);
        thisTarget.pull = EditorGUILayout.Toggle("Pull/Push", thisTarget.pull);
        thisTarget.randomAngleToggle = EditorGUILayout.Toggle("Random Angle", thisTarget.randomAngleToggle);
        if (thisTarget.randomAngleToggle)
        {
            thisTarget.randomAngleMin = EditorGUILayout.FloatField("between", thisTarget.randomAngleMin);
            thisTarget.randomAngleMax = EditorGUILayout.FloatField("and", thisTarget.randomAngleMax);
            thisTarget.rotationSpeed  = EditorGUILayout.Slider("Speed", thisTarget.rotationSpeed, 0, 90);
        }
        else
        {
            thisTarget.angle         = EditorGUILayout.Slider("Angle", thisTarget.angle, 0, 90);
            thisTarget.rotationSpeed = EditorGUILayout.Slider("Speed", thisTarget.rotationSpeed, 0, 90);
        }
    }
Exemplo n.º 27
0
    // Use this for initialization
    void Awake()
    {
        DoorTrigger = GetComponentInChildren <DoorTrigger>();

        isOpen = true;
    }
Exemplo n.º 28
0
    void resetLevel()
    {
        //==============================================//
        //	Change for each to for loop to reduce GC	//
        //==============================================//
        sendBack = true;

        // Get all the objects from the scene using tag (Might have performance impact, if have time find a better solution)
        allEnemies = GameObject.FindGameObjectsWithTag("Enemy");
        allHunters = GameObject.FindGameObjectsWithTag("HuntingDog");
        allKeys = GameObject.FindGameObjectsWithTag("Key");
        allDoors = GameObject.FindGameObjectsWithTag("Door");
        allDestructibles = GameObject.FindGameObjectsWithTag("Destructible");
        allBottles = GameObject.FindGameObjectsWithTag ("Bottle");
        allBones = GameObject.FindGameObjectsWithTag("Bone");
        allFatDogs = GameObject.FindGameObjectsWithTag("FatDog");
        allSpheres = GameObject.FindGameObjectsWithTag("SoundSphere");
        allClosets = GameObject.FindGameObjectsWithTag ("Closet");
        //resets BGM.
        chaseTransScript.resetChaseTrans();

        //        foreach(GameObject hunter in allHunters)
        //        {
        //            hunterScript = (huntingDog)hunter.GetComponent<huntingDog>();
        //            hunterScript.selfDestruct();
        //            //Destroy(hunter);
        //        }

        //        foreach(GameObject fatDog in allFatDogs)
        //        {
        //            fatDogScript = (fatDogAi)fatDog.GetComponent<fatDogAi>();
        ////            fatDogScript.agent.Stop();
        ////            fatDogScript.agent.velocity = Vector3.zero;
        ////            fatDogScript.GetComponent<Rigidbody>().velocity = Vector3.zero;
        ////            fatDogScript.GetComponent<Rigidbody>().angularVelocity = Vector3.zero;
        ////            if (fatDogScript.respawnPosition != null)
        ////            {
        ////                fatDogScript.transform.position = fatDogScript.respawnPosition;
        ////            }
        ////            fatDogScript.stateManager(4);
        //			// Reset func contains everything above
        //			fatDogScript.Reset ();
        //        }
        int i = 0;

        //		if (allDestructibles.Length > 0)
        //		{
        //			for (i = 0; i < allDestructibles.Length; i++)
        //			{
        //				destructibleSpawner = allDestructibles[i].GetComponent<instantiateDestructible> ();
        //				destructibleSpawner.checkpoint ();
        //			}
        //		}

        if (allDestructibles.Length > 0)
        {
            for (i = 0; i < allDestructibles.Length; i++)
            {
                destructibleSpawner = allDestructibles[i].GetComponent<instantiateDestructible> ();
                destructibleSpawner.checkpoint ();
            }
        }

        for (i = 0; i < allBottles.Length; i++)
        {
            if (allBottles[i].GetComponent<breakableObject>() == null)
            {
                Debug.Log (allBottles[i]);
            }
        }

        if (allBottles.Length > 0)
        {
            for (i = 0; i < allBottles.Length; i++)
            {
        //				if (allBottles[i].GetComponent<breakableObject>() == null)
        //				{
        //					Debug.Log (allBottles[i]);
        //				}
        //				bo = allBottles[i].GetComponent<breakableObject>();
        //				bo.brokenPieces.SetActive(false);
        //				bo.originalObject.SetActive(true);
        //				bo.GetComponent<CapsuleCollider>().enabled = true;
                allBottles[i].GetComponent<breakableObject>().Reset();
            }
        }

        if (allSpheres.Length > 0)
        {
            for (i = 0; i < allSpheres.Length; i++)
            {
                allSpheres[i].SetActive(false);
            }
        }

        if (allBones.Length > 0)
        {
            for (i = 0; i < allBones.Length; i++)
            {
                player.GetComponent<TemporaryMovement> ().reduceBonePlacedNumber ();
                Destroy (allBones[i]);
            }
        }

        if (allHunters.Length > 0)
        {
            for (i = 0; i < allHunters.Length; i++)
            {
                hunterScript = allHunters [i].GetComponent<huntingDog> ();
                hunterScript.selfDestruct ();
            }
        }

        if (allFatDogs.Length > 0)
        {
            for (i = 0; i < allFatDogs.Length; i++)
            {
                fatDogScript = allFatDogs [i].GetComponent<fatDogAi> ();
                fatDogScript.Reset ();
            }
        }

        if (allEnemies.Length > 0)
        {
            for (i = 0; i < allEnemies.Length; i++)
            {
                script = (enemyPathfinding)allEnemies[i].GetComponent<enemyPathfinding> ();
                script.agent.Stop ();
                script.agent.velocity = Vector3.zero;
                script.GetComponent<Rigidbody> ().velocity = Vector3.zero;
                script.GetComponent<Rigidbody> ().angularVelocity = Vector3.zero;
                if (script.respawnPosition != null) {
                    script.transform.position = script.respawnPosition;
                }

                script.currentTarget = script.firstTarget;
                script.targetCounter = 0;

                script.agent.speed = script.patrolSpeed;
                script.stateManager (1);
                script.agent.SetDestination (script.currentTarget.position);
                script.newTargetTimer = script.defaultNewTargetTimer;
            }
        }

        if (allKeys.Length > 0)
        {
            for (i = 0; i < allKeys.Length; i++)
            {
                keySpawner = allKeys[i].GetComponent<instantiateKey> ();
                keySpawner.checkpoint ();
            }
        }

        if (allDoors.Length > 0)
        {
            for (i = 0; i < allDoors.Length; i++)
            {
                door = allDoors[i].GetComponent<DoorTrigger> ();
                door.checkpoint ();
            }
        }

        if (allClosets.Length > 0)
        {
            for (i = 0; i < allClosets.Length; i++)
            {
                closet = allClosets[i].GetComponent<hidingThirdPerson>();
                closet.ResetCloset ();
            }
        }

        playerScript.resetCharacter();
        StopAllCoroutines ();
        sendBack = false;
    }
Exemplo n.º 29
0
 void Awake()
 {
     Instance = this;
 }
Exemplo n.º 30
0
 // Use this for initialization
 void Start()
 {
     trigger          = GetComponent <DoorTrigger>();
     lastTriggerState = trigger.GetTriggerState();
 }
Exemplo n.º 31
0
 public void OnDoorExit(DoorTrigger door)
 {
     //Debug.Log("OnDoorExit");
     this.nearbyDoors.Remove(door);
     //Debug.Log($"Nearby Doors {nearbyDoors.Count}");
 }
Exemplo n.º 32
0
 public void OnDoorEnter(DoorTrigger door)
 {
     //Debug.Log("OnDoorEnter");
     this.nearbyDoors.Add(door);
     //Debug.Log($"Nearby Doors {nearbyDoors.Count}");
 }