// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   DoorableBase.java

import java.util.Vector;

public class DoorableBase extends MeshObject
{

    DoorableBase()
    {
        fDoorReactionDistance = 150F;
        sOpenSound = "Data/Sounds/DoorD_Open.wav";
        sCloseSound = "Data/Sounds/DoorD_Close.wav";
        nOpenStartFrame = 0;
        nOpenEndFrame = 50;
        nCloseStartFrame = 50;
        nCloseEndFrame = 100;
        bDeadCanOpen = false;
        fDoorNoiseRange = 1000F;
        aVisitors = new Vector();
        super.bSG = true;
    }

    public void PawnInside(Pawn cPawn)
    {
        if(aVisitors.indexOf(cPawn) == -1)
            aVisitors.addElement(cPawn);
    }

    public void PawnOutside(Pawn cPawn)
    {
        aVisitors.removeElement(cPawn);
    }

    public void SGSaveChunk(FileChunk cFCParent)
    {
        FileChunk.Log("[DoorableBase.SGSaveChunk]\n");
        FileChunk cFC = GameObject.NewChunk(1161, cFCParent);
        super.SGSaveChunk(cFC);
        cFC.SaveObjectsVectorRef(aVisitors);
        cFC.delete();
    }

    public void SGLoadChunk(FileChunk cParentFC)
    {
        FileChunk.Log("[DoorableBase.SGLoadChunk]\n");
        FileChunk cFC = GameObject.LoadChunk(cParentFC);
        if(cFC.GetID() == 1161)
        {
            super.SGLoadChunk(cFC);
            aVisitors = cFC.LoadObjectsVectorRef();
        }
        cFC.delete();
    }

    public float fDoorReactionDistance;
    public String sOpenSound;
    public String sCloseSound;
    public int nOpenStartFrame;
    public int nOpenEndFrame;
    public int nCloseStartFrame;
    public int nCloseEndFrame;
    public boolean bDeadCanOpen;
    float fDoorNoiseRange;
    static final int _NOISE_DOOROPEN = 51;
    Vector aVisitors;
}
