protected override bool Init()
        {
            App.InitLoadMasterDataManager();
            App.InitSystems();
            UIPanel maskPanel = TitleTaskManager.GetMaskPanel();

            maskPanel.get_transform().LTCancel();
            maskPanel.get_transform().LTValue(maskPanel.alpha, 0f, 0.15f).setEase(LeanTweenType.linear).setOnUpdate(delegate(float x)
            {
                maskPanel.alpha = x;
            });
            SoundUtils.PlaySceneBGM(BGMFileInfos.Strategy);
            this._clsState = new StatementMachine();
            UITitleLogo logo = TitleTaskManager.GetUITitleLogo();

            if (logo.panel.alpha == 0f)
            {
                logo.Show().setOnComplete(delegate
                {
                    Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate(long _)
                    {
                        logo.StartLogoAnim();
                        this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitPressAnyKey), new StatementMachine.StatementMachineUpdate(this.UpdatePressAnyKey));
                        this.SetupLeaveTimer();
                    });
                });
            }
            else
            {
                this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitPressAnyKey), new StatementMachine.StatementMachineUpdate(this.UpdatePressAnyKey));
                this.SetupLeaveTimer();
            }
            Observable.FromCoroutine(new Func <IEnumerator>(this.NoticeMasterInitComplete), false).Subscribe <Unit>().AddTo(base.get_gameObject());
            return(true);
        }
Exemple #2
0
 protected override bool Init()
 {
     _clsNightCombat = BattleTaskManager.GetBattleManager().GetNightCombatData();
     _clsHougekiList = BattleTaskManager.GetBattleManager().GetHougekiList_Night();
     if (_clsHougekiList == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.NightCombat));
         ImmediateTermination();
     }
     else
     {
         _nCurrentShellingCnt = 1;
         _clsState            = new StatementMachine();
         _prodShellingAttack  = new ProdShellingAttack();
         _vCameraOriginPos    = BattleTaskManager.GetBattleCameras().fieldCameras[0].transform.position;
         if (!BattleTaskManager.GetIsSameBGM())
         {
             KCV.Utils.SoundUtils.SwitchBGM((BGMFileInfos)BattleTaskManager.GetBattleManager().GetBgmId());
         }
         _clsState.AddState(InitNightMessage, UpdateNightMessage);
         Transform transform = UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabSearchLightSceneController, Vector3.zero, Quaternion.identity) as Transform;
         _ctrlSearchLight = ((Component)transform).GetComponent <SearchLightSceneController>();
         Transform transform2 = UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabFlareBulletSceneController, Vector3.zero, Quaternion.identity) as Transform;
         _ctrlFlareBullet = ((Component)transform2).GetComponent <FlareBulletSceneController>();
     }
     return(true);
 }
        protected override bool Init()
        {
            BattleTaskManager.GetTorpedoHpGauges().SetDestroy();
            SingletonMonoBehaviour <FadeCamera> .Instance.SetActive(isActive : true);

            SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate
            {
                BattleTaskManager.GetBattleCameras().SetFieldCameraEnabled(isEnabled: false);
                KCV.Utils.SoundUtils.StopFadeBGM(0.25f, null);
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Executions();
                BattleTaskManager.DestroyUnneccessaryObject2Result();
                Observable.FromCoroutine(BattleUtils.ClearMemory).Subscribe(delegate
                {
                    _clsBattleResult = BattleTaskManager.GetBattleManager().GetBattleResult();
                    BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
                    cutInEffectCamera.glowEffect.enabled      = false;
                    cutInEffectCamera.isCulling = true;
                    _prodVeteransReport         = ProdVeteransReport.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdVeteransReport).GetComponent <ProdVeteransReport>(), cutInEffectCamera.transform, _clsBattleResult);
                    _clsState = new StatementMachine();
                    _clsState.AddState(InitProdVeteransReport, UpdateProdVeteransReport);
                });
            });

            return(true);
        }
 protected override bool Init()
 {
     _clsState         = new StatementMachine();
     _clsBattleResult  = BattleTaskManager.GetBattleManager().GetBattleResult();
     _listRewardModels = _clsBattleResult.GetRewardItems();
     if (_listRewardModels.Count > 0)
     {
         for (int i = 0; i < _listRewardModels.Count; i++)
         {
             if (_listRewardModels[i] is IReward_Ship)
             {
                 _clsState.AddState(_initShipGet, _updateShipGet);
             }
             if (_listRewardModels[i] is IReward_Slotitem)
             {
                 _clsState.AddState(_initSlotItemGet, _updateSlotItemGet);
             }
             if (_listRewardModels[i] is IReward_Useitem)
             {
                 _clsState.AddState(_initUseItemGet, _updateUseItemGet);
             }
         }
     }
     else
     {
         BattleTaskManager.ReqPhase(BattleUtils.NextPhase(BattlePhase.ClearReward));
         ImmediateTermination();
     }
     return(true);
 }
Exemple #5
0
 public ProdShellingTorpedo(RaigekiModel model)
 {
     this._clsState      = new StatementMachine();
     this._isPlaying     = false;
     this._actOnFinished = null;
     this._clsRaigeki    = model;
     BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
 }
 protected override bool Init()
 {
     base.Init();
     _clsState = new StatementMachine();
     BattleTaskManager.GetPrefabFile().battleShutter.Init(BaseShutter.ShutterMode.Close);
     _clsState.AddState(_initFlagshipWreck, _updateFlagshipWreck);
     return(true);
 }
Exemple #7
0
 private bool Setup()
 {
     _isDecide = false;
     _iMode    = RebellionOrganizeMode.Main;
     _clsState = new StatementMachine();
     Observable.FromCoroutine(InstantiateObjects).Subscribe(delegate
     {
         Init();
     }).AddTo(base.gameObject);
     return(true);
 }
 private bool Setup()
 {
     this._isDecide = false;
     this._iMode    = CtrlRebellionOrganize.RebellionOrganizeMode.Main;
     this._clsState = new StatementMachine();
     Observable.FromCoroutine(new Func <IEnumerator>(this.InstantiateObjects), false).Subscribe(delegate(Unit _)
     {
         this.Init();
     }).AddTo(base.get_gameObject());
     return(true);
 }
 private ProdVeteransReport VirtualCtor()
 {
     this._clsState                    = new StatementMachine();
     this._isInputEnabled              = false;
     this._isWinRunkFinished           = false;
     this._isEXPUpdateFinished         = false;
     this._isProdFinished              = false;
     this._uiGearBtn.isColliderEnabled = false;
     this._uiGearBtn.widget.alpha      = 0f;
     this._clsCommon.Init(this._clsResultModel);
     return(this);
 }
Exemple #10
0
 public BaseProdAttackShelling()
 {
     this._nCurrentAttackCnt = 0;
     this._isFinished        = false;
     this._isPlaying         = false;
     this._clsHougekiModel   = null;
     this._listBattleShips   = new List <UIBattleShip>();
     this._dicAttackFleet    = new Dictionary <FleetType, bool>();
     this._dicAttackFleet.Add(FleetType.Friend, false);
     this._dicAttackFleet.Add(FleetType.Enemy, false);
     this._clsState      = new StatementMachine();
     this._actOnFinished = null;
 }
 public override bool Terminate(object data)
 {
     _clsResult       = null;
     _prodReceiveShip = null;
     if (_clsState != null)
     {
         _clsState.Clear();
     }
     _clsState = null;
     Mem.DelListSafe(ref _listRewardShips);
     Mem.DelListSafe(ref _listRewardModels);
     return(false);
 }
 public override bool Terminate(object data)
 {
     this._clsResult       = null;
     this._prodReceiveShip = null;
     if (this._clsState != null)
     {
         this._clsState.Clear();
     }
     this._clsState = null;
     Mem.DelListSafe <Reward_Ship>(ref this._listRewardShips);
     Mem.DelListSafe <IReward>(ref this._listRewardModels);
     return(false);
 }
 protected override bool Init()
 {
     _clsResultModel = BattleTaskManager.GetBattleManager().GetBattleResult();
     _clsMapManager  = SortieBattleTaskManager.GetMapManager();
     _clsInput       = BattleTaskManager.GetKeyControl();
     _clsState       = new StatementMachine();
     if (BattleTaskManager.GetRootType() == Generics.BattleRootType.Rebellion)
     {
         if (_clsMapManager.IsNextFinal())
         {
             if (_clsResultModel.WinRank == BattleWinRankKinds.B || _clsResultModel.WinRank == BattleWinRankKinds.A || _clsResultModel.WinRank == BattleWinRankKinds.S)
             {
                 _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
             }
             else
             {
                 _clsState.AddState(_initChkNextCell, _updateChkNextCell);
             }
         }
         else
         {
             _clsState.AddState(_initChkNextCell, _updateChkNextCell);
         }
     }
     else if (_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
     }
     else if (!_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initMapClearProd, _updateMapClearProd);
     }
     else if (!_clsResultModel.FirstClear && _clsResultModel.NewOpenMapIDs.Length > 0)
     {
         _clsState.AddState(_initMapOpenProd, _updateMapOpenProd);
     }
     else if (_clsResultModel.SPoint > 0)
     {
         _clsState.AddState(_initStrategyPointProd, _updateStrategyPointProd);
     }
     else if (_clsResultModel.GetAreaRewardItems() != null)
     {
         _clsState.AddState(InitShortRewardGet, UpdateShortRewardGet);
     }
     else
     {
         _clsState.AddState(_initChkNextCell, _updateChkNextCell);
     }
     return(true);
 }
Exemple #14
0
 protected override bool Init()
 {
     _clsShien = BattleTaskManager.GetBattleManager().GetShienData();
     _clsState = new StatementMachine();
     if (_clsShien == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.SupportingFire));
     }
     else
     {
         _clsState.AddState(_initSupportFleetAdmission, _updateSupportFleetAdmission);
     }
     return(true);
 }
Exemple #15
0
        public override bool Init()
        {
            base.Init();
            this._iMode                     = ProdWithdrawalDecisionSelection.Mode.Selection;
            this._clsState                  = new StatementMachine();
            this._isDecide                  = false;
            this._isInputPossible           = false;
            this._delDecideWithdrawalButton = null;
            this.InitObjects();
            UIBattleNavigation battleNavigation = BattleTaskManager.GetPrefabFile().battleNavigation;

            battleNavigation.SetNavigationInWithdrawalDecision(this._iMode);
            return(true);
        }
Exemple #16
0
 private bool Init(CommandPhaseModel model)
 {
     this._listInvalidCommands = this.GetInvalidCommands(model.GetSelectableCommands());
     this._clsCommandModel     = model;
     this._iInputMode          = InputMode.Key;
     this._uiCommandBox.Init(model, new Predicate <List <BattleCommand> >(this.OnStartBattle));
     this._uiCommandBox.isColliderEnabled = false;
     this._uiCommandUnitList.Init(model, new Action(this.OnUnitListDnDRelease));
     this._uiCommandUnitList.isColliderEnabled = false;
     this._uiOverlay.alpha = 0f;
     this._uiBlur.set_enabled(false);
     this.commandMode = BattleCommandMode.SurfaceBox;
     this._clsState   = new StatementMachine();
     return(true);
 }
Exemple #17
0
 protected override bool Init()
 {
     if (this._ctrlPartnerSelect == null)
     {
         this._ctrlPartnerSelect = GameObject.Find("PartnerShip").GetComponent <CtrlPartnerSelect>();
     }
     if (this._ctrlStarterSelect == null)
     {
         this._ctrlStarterSelect = GameObject.Find("CtrlStarterSelect").GetComponent <CtrlStarterSelect>();
     }
     this._shipCancelled = false;
     this._clsState      = new StatementMachine();
     this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitStarterSelect), new StatementMachine.StatementMachineUpdate(this.UpdateStarterSelect));
     return(true);
 }
 public override bool Init(object data)
 {
     _clsState         = new StatementMachine();
     _clsResult        = BattleCutManager.GetBattleManager().GetBattleResult();
     _listRewardModels = new List <IReward>(_clsResult.GetRewardItems());
     if (_listRewardModels.Count > 0)
     {
         _clsState.AddState(InitShipGet, UpdateShipGet);
     }
     else
     {
         BattleCutManager.ReqPhase(BattleCutPhase.MapOpen);
     }
     return(false);
 }
 protected override bool Init()
 {
     _clsKoukuu1 = BattleTaskManager.GetBattleManager().GetKoukuuData();
     _clsKoukuu2 = BattleTaskManager.GetBattleManager().GetKoukuuData2();
     if (_clsKoukuu1 == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.AerialCombatSecond));
     }
     else
     {
         _clsState = new StatementMachine();
         _clsState.AddState(_initAerialCombatCutIn, _updateAerialCombatCutIn);
     }
     return(true);
 }
Exemple #20
0
 protected override bool Init()
 {
     _clsRaigeki = BattleTaskManager.GetBattleManager().GetKaimakuData();
     if (_clsRaigeki == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.OpeningTorpedoSalvo));
     }
     else
     {
         _clsState = new StatementMachine();
         _clsState.AddState(_initTorpedoCutInInjection, _updateTorpedoCutInInjection);
         TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
     }
     return(true);
 }
 private bool Init(CommandPhaseModel model)
 {
     _clsState            = new StatementMachine();
     _listInvalidCommands = GetInvalidCommands(model.GetSelectableCommands());
     _clsCommandModel     = model;
     _iCtrlModel          = CtrlMode.Surface;
     _isInputPossible     = false;
     _uiCommandSurfaceList.Init(model.GetPresetCommand(), OnSelectedSurface, OnStartBattle);
     _uiCommandSurfaceList.isColliderEnabled = false;
     _uiCommandUnitSelect = UICommandUnitSelect.Instantiate(((Component)_prefabUICommandUnitSelect).GetComponent <UICommandUnitSelect>(), base.transform, model.GetSelectableCommands(), OnDecideUnitSelect, OnCancelUnitSelect);
     InitEnemyFleetInfos();
     panel.alpha            = 0f;
     panel.widgetsAreStatic = true;
     return(true);
 }
Exemple #22
0
 private bool Init(CommandPhaseModel model)
 {
     this._clsState            = new StatementMachine();
     this._listInvalidCommands = this.GetInvalidCommands(model.GetSelectableCommands());
     this._clsCommandModel     = model;
     this._iCtrlModel          = CtrlBCCommandSelect.CtrlMode.Surface;
     this._isInputPossible     = false;
     this._uiCommandSurfaceList.Init(model.GetPresetCommand(), new Action <UICommandLabelButton>(this.OnSelectedSurface), new Predicate <List <BattleCommand> >(this.OnStartBattle));
     this._uiCommandSurfaceList.isColliderEnabled = false;
     this._uiCommandUnitSelect = UICommandUnitSelect.Instantiate(this._prefabUICommandUnitSelect.GetComponent <UICommandUnitSelect>(), base.get_transform(), model.GetSelectableCommands(), new Action <BattleCommand>(this.OnDecideUnitSelect), new Action(this.OnCancelUnitSelect));
     this.InitEnemyFleetInfos();
     this.panel.alpha            = 0f;
     this.panel.widgetsAreStatic = true;
     return(true);
 }
 public override bool Init(object data)
 {
     this._clsState         = new StatementMachine();
     this._clsResult        = BattleCutManager.GetBattleManager().GetBattleResult();
     this._listRewardModels = new List <IReward>(this._clsResult.GetRewardItems());
     if (this._listRewardModels.get_Count() > 0)
     {
         this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitShipGet), new StatementMachine.StatementMachineUpdate(this.UpdateShipGet));
     }
     else
     {
         BattleCutManager.ReqPhase(BattleCutPhase.MapOpen);
     }
     return(false);
 }
Exemple #24
0
 private bool Init(CommandPhaseModel model)
 {
     _listInvalidCommands = GetInvalidCommands(model.GetSelectableCommands());
     _clsCommandModel     = model;
     _iInputMode          = InputMode.Key;
     _uiCommandBox.Init(model, OnStartBattle);
     _uiCommandBox.isColliderEnabled = false;
     _uiCommandUnitList.Init(model, OnUnitListDnDRelease);
     _uiCommandUnitList.isColliderEnabled = false;
     _uiOverlay.alpha = 0f;
     _uiBlur.enabled  = false;
     commandMode      = BattleCommandMode.SurfaceBox;
     _clsState        = new StatementMachine();
     return(true);
 }
Exemple #25
0
 protected override bool Init()
 {
     if (_ctrlPartnerSelect == null)
     {
         _ctrlPartnerSelect = GameObject.Find("PartnerShip").GetComponent <CtrlPartnerSelect>();
     }
     if (_ctrlStarterSelect == null)
     {
         _ctrlStarterSelect = GameObject.Find("CtrlStarterSelect").GetComponent <CtrlStarterSelect>();
     }
     _shipCancelled = false;
     _clsState      = new StatementMachine();
     _clsState.AddState(InitStarterSelect, UpdateStarterSelect);
     return(true);
 }
        public static void ReqPhase(BattleCutPhase NextPhase)
        {
            CheckNextBattleState(NextPhase);
            _iNowPhase = ((NextPhase != BattleCutPhase.NightBattle) ? NextPhase : BattleCutPhase.DayBattle);
            StatementMachine   clsState           = Instance._clsState;
            BaseBattleCutState baseBattleCutState = _listBattleCutState[(int)_iNowPhase];

            StatementMachine.StatementMachineInitialize init = baseBattleCutState.Init;
            BaseBattleCutState baseBattleCutState2           = _listBattleCutState[(int)_iNowPhase];

            StatementMachine.StatementMachineUpdate update = baseBattleCutState2.Run;
            BaseBattleCutState baseBattleCutState3         = _listBattleCutState[(int)_iNowPhase];

            clsState.AddState(init, update, baseBattleCutState3.Terminate);
            SetTitleText(NextPhase);
        }
 public override bool Init(object data)
 {
     _clsResultModel = BattleCutManager.GetBattleManager().GetBattleResult();
     _clsMapManger   = BattleCutManager.GetMapManager();
     _clsInput       = BattleCutManager.GetKeyControl();
     _clsState       = new StatementMachine();
     if (BattleCutManager.GetBattleType() == Generics.BattleRootType.Rebellion)
     {
         if (_clsMapManger.IsNextFinal())
         {
             if (_clsResultModel.WinRank == BattleWinRankKinds.B || _clsResultModel.WinRank == BattleWinRankKinds.A || _clsResultModel.WinRank == BattleWinRankKinds.S)
             {
                 _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
             }
             else
             {
                 ChkNextCell();
             }
         }
         else
         {
             ChkNextCell();
         }
     }
     else if (_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
     }
     else if (!_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initMapClearProd, _updateMapClearProd);
     }
     else if (!_clsResultModel.FirstClear && _clsResultModel.NewOpenMapIDs.Length > 0)
     {
         _clsState.AddState(InitMapOpen, UpdateMapOpen);
     }
     else if (_clsResultModel.GetAreaRewardItems() != null)
     {
         _clsState.AddState(InitShortRewardGet, UpdateShortRewardGet);
     }
     else
     {
         ChkNextCell();
     }
     return(false);
 }
 protected override bool Init()
 {
     base.Init();
     _clsRaigeki = BattleTaskManager.GetBattleManager().GetRaigekiData();
     if (_clsRaigeki == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.TorpedoSalvo));
     }
     else
     {
         _clsState = new StatementMachine();
         BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
         TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
         _clsState.AddState(_initTorpedoCutInNInjection, _updateTorpedoCutInNInjection);
     }
     return(true);
 }
Exemple #29
0
        protected override bool Init()
        {
            _clsSakuteki = BattleTaskManager.GetBattleManager().GetSakutekiData();
            if (_clsSakuteki == null || !BattleTaskManager.GetBattleManager().IsExistSakutekiData())
            {
                ImmediateTermination();
                EndPhase(BattleUtils.NextPhase(BattlePhase.Detection));
                return(true);
            }
            _clsState = new StatementMachine();
            _clsState.AddState(InitMoveCameraTo2D, UpdateMoveCameraTo2D);
            Transform transform = BattleTaskManager.GetBattleCameras().cutInCamera.transform;

            _prodDetectionCutIn       = ProdDetectionCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdDetectionCutIn).GetComponent <ProdDetectionCutIn>(), transform, _clsSakuteki);
            _prodDetectionResultCutIn = ProdDetectionResultCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdDetectionResultCutIn).GetComponent <ProdDetectionResultCutIn>(), transform, _clsSakuteki);
            _iResult = _prodDetectionResultCutIn.detectionResult;
            return(true);
        }
        protected override bool Init()
        {
            if (!BattleTaskManager.GetBattleShips().isInitialize)
            {
                return(false);
            }
            _dicPSClouds = BattleTaskManager.GetBattleField().dicParticleClouds;
            Vector3 position = BattleTaskManager.GetBattleField().dicFleetAnchor[FleetType.Friend].position;

            position.y = 20f;
            ((Component)_dicPSClouds[FleetType.Friend]).transform.position = position;
            position   = BattleTaskManager.GetBattleField().dicFleetAnchor[FleetType.Enemy].position;
            position.y = 20f;
            ((Component)_dicPSClouds[FleetType.Enemy]).transform.position = position;
            _clsState = new StatementMachine();
            _clsState.AddState(InitFriendFleetAdvent, UpdateFriendFleetAdvent);
            return(true);
        }
Exemple #31
0
            public LineNumberEngine(DieCompileUnit comp_unit, long offset,
						 string compilation_dir)
            {
                this.comp_unit = comp_unit;
                this.offset = offset;
                this.reader = comp_unit.dwarf.DebugLineReader;
                this.compilation_dir = compilation_dir;

                debug ("NEW LNE: {0}", offset);

                reader.Position = offset;
                length = reader.ReadInitialLength ();
                end_offset = reader.Position + length;
                version = reader.ReadInt16 ();
                header_length = reader.ReadOffset ();
                data_offset = reader.Position + header_length;
                minimum_insn_length = reader.ReadByte ();
                default_is_stmt = reader.ReadByte () != 0;
                line_base = (sbyte) reader.ReadByte ();
                line_range = reader.ReadByte ();
                opcode_base = reader.ReadByte ();
                standard_opcode_lengths = new int [opcode_base - 1];
                for (int i = 0; i < opcode_base - 1; i++)
                    standard_opcode_lengths [i] = reader.ReadByte ();
                include_dirs = new ArrayList ();
                while (reader.PeekByte () != 0)
                    include_dirs.Add (reader.ReadString ());
                reader.Position++;
                source_files = new ArrayList ();
                while (reader.PeekByte () != 0)
                    source_files.Add (new FileEntry (this, reader));
                reader.Position++;

                const_add_pc_range = ((0xff - opcode_base) / line_range) *
                    minimum_insn_length;

                debug ("NEW LNE #1: {0} {1} - {2} {3} {4}",
                       reader.Position, offset, length,
                       data_offset, end_offset);

                lines = new ArrayList ();

                stm = new StatementMachine (this, data_offset, end_offset);
                Read ();

                lines.Sort ();
                addresses = new LineNumber [lines.Count];
                lines.CopyTo (addresses, 0);
            }