Ejemplo n.º 1
0
 void SetupItems(func_door door)
 {
     if ((spawnflags & DOOR_SILVER_KEY) != 0)
     {
         door.items = door_items.IT_KEY1;
     }
     if ((spawnflags & DOOR_GOLD_KEY) != 0)
     {
         door.items = door_items.IT_KEY2;
     }
 }
Ejemplo n.º 2
0
    void SetupTrigger(func_door door)
    {
        var collider = door.GetComponent <BoxCollider>();

        var colliderSize = this.size;

        colliderSize.x += 0.4f;
        colliderSize.z += 0.4f;

        collider.size = colliderSize;
    }
Ejemplo n.º 3
0
    void SetupMovement(func_door door)
    {
        Vector3 movedir;
        float   amount;

        if (angle == -1) // moving up
        {
            movedir = Vector3.up;
            amount  = this.size.y;
        }
        else if (angle == -2) // moving down
        {
            movedir = Vector2.down;
            amount  = this.size.y;
        }
        else if (angle == 0 || angle == 90 || angle == 180 || angle == 270)
        {
            movedir = Quaternion.AngleAxis(-angle, Vector3.up) * Vector3.right;
            amount  = angle == 0 || angle == 180 ? this.size.x : this.size.z;
        }
        else
        {
            movedir = Vector3.zero;
            amount  = 0.0f;
            Debug.LogError("Unexpected angle: " + angle);
        }
        door.pos1 = door.transform.position;
        door.pos2 = door.pos1 + movedir * (amount - BSPFile.Scale(lip));

        if ((this.spawnflags & DOOR_START_OPEN) != 0)
        {
            door.transform.position = door.pos2;

            // swap positions
            var temp = door.pos1;
            door.pos1 = door.pos2;
            door.pos2 = temp;
        }
    }