예제 #1
0
    public void mergeDoors(LockDoor otherdoor)
    {
        Destroy(otherdoor.Lock);
        otherdoor.Lock = null;

        foreach (GameObject doorprt in otherdoor.Doorparts)
        {
            Doorparts.Add(doorprt);
        }
        otherdoor.collide.enabled = false;

        SetID(otherdoor.GetID());

        otherdoor.enabled = false;

        Vector3 lockPos = Vector3.zero;

        foreach (GameObject doorprt in Doorparts)
        {
            lockPos += doorprt.transform.position;
        }

        lockPos /= Doorparts.Count;

        collide.center = lockPos - transform.position;
        collide.size   = new Vector3(0.4f, Doorparts.Count + 0.2f, 1f);

        Lock.transform.position = lockPos;
    }
    public void control()
    {
        _room = GameObject.Find("PickUp").GetComponent <LoadRoom> ().room;

        if (GameObject.Find("Partner"))
        {
            _partner = GameObject.Find("Partner");
        }

        if (_room.Equals("Hall") && !_ini)
        {
            Destroy(_partner);
            _door = GameObject.Find("Door").GetComponent <LockDoor> ();
            _door.openDoor();
        }

        if (_room.Equals("Livingroom") && _endDinner)
        {
            //Camera.main.GetComponent<CameraController> ();
            //b.SetActive (true);

            _partner.transform.position = new Vector3(0, -3.82F, 0);
            //_partner.GetComponent<ConversationLauncher> ().active = true;
            //StartCoroutine(WaitAndDestroy());
        }

        if (_room.Equals("Main_bedroom") && _sleep)
        {
            GameObject.Find("maleta").transform.position = new Vector3(-1.29F, -1.61F, 0F);
            GameObject.Find("Phone").transform.position  = new Vector3(0, 0, 0);
        }
    }
예제 #3
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.tag == "LockDoor" && isMaster)
     {
         LockDoor otherDoor = collision.gameObject.GetComponent <LockDoor>();
         otherDoor.changeMaster(false);
         changeMaster(otherDoor);
         mergeDoors(otherDoor);
     }
 }
예제 #4
0
    // No jumping on collision.
    // Doubles for allowing walljumps in the future? Maybe?

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.transform.position[1] < transform.position[1] + 1)
        {
            jumping = false;
        }
        if (collision.gameObject.tag == "MonsterSword")
        {
            damage(collision.gameObject.GetComponent <sword>().damage);
        }
        else if (collision.gameObject.tag == "LockDoor")
        {
            LockDoor doorscript = collision.gameObject.GetComponent <LockDoor>();
            if (doorscript.enabled && doorscript.closed && numkeys > 0)
            {
                GetKey(-1);
                doorscript.OpenDoor();
            }
        }
    }
예제 #5
0
 public void Handle(LockDoor command)
 {
 }
예제 #6
0
    void RestoreGame()
    {
        string p = PlayerPrefs.GetString("GameData_0");

        if (p != null && p.Length > 0 && player != null)
        {
            s = JsonUtility.FromJson <SerializeClass>(p);
            if (s != null)
            {
                Vector3 position = new Vector3();
                if (levelToLoad == 1)
                {
                    position.x = s.x;
                    position.y = s.y;
                    position.z = s.z;
                }
                if (levelToLoad == 2)
                {
                    position.x = s.x2;
                    position.y = s.y2;
                    position.z = s.z2;
                }
                if (levelToLoad == 3)
                {
                    position.x = s.x3;
                    position.y = s.y3;
                    position.z = s.z3;
                }
                if (levelToLoad == 4)
                {
                    //position.x = s.x4;
                    //position.y = s.y4;
                    //position.z = s.z4;
                    position.x = 43.51358f;
                    position.y = -31.35163f;
                    position.z = 12.8632f;
                }

                player.transform.position = position;
            }
        }
        if (p != null && p.Length > 0 && badges1 != null && badges2 != null)
        {
            if (s != null)
            {
                script1 = badges1.GetComponent <Badges>();
                script2 = badges2.GetComponent <Badges>();

                if (levelToLoad == 1)
                {
                    script1.SetBadges(s.badges1_1);
                    script2.SetBadges(s.badges1_2);
                }
                if (levelToLoad == 2)
                {
                    script1.SetBadges(s.badges2_1);
                    script2.SetBadges(s.badges2_2);
                }
                if (levelToLoad == 3)
                {
                    script1.SetBadges(s.badges3_1);
                    script2.SetBadges(s.badges3_2);
                }

                if (script1.badgeNumber >= badge1Requirement && script2.badgeNumber >= badge2Requirement)
                {
                    LockDoor openDoor = lockDoor.GetComponent <LockDoor>();
                    openDoor.Unlock();
                }
            }
        }
    }
 public void Handle(LockDoor command)
 {
 }