public bool ChangeToNextStatus(out AngelTempleStatus newStatus) { bool changed = false; long ticks = TimeUtil.NOW(); lock (m_AngelTempleScene) { if (m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_NULL) { if (CanEnterAngelTempleOnTime()) { //准备时间,开始入场 m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_PREPARE; m_AngelTempleScene.m_lPrepareTime = ticks; m_AngelTempleScene.m_lStatusEndTime = ticks + m_AngelTempleData.PrepareTime * 1000; changed = true; } } else if (m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_PREPARE) { if (ticks >= m_AngelTempleScene.m_lStatusEndTime) { // 开始战斗 m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_BEGIN; m_AngelTempleScene.m_lBeginTime = ticks; m_AngelTempleScene.m_lStatusEndTime = ticks + m_AngelTempleData.DurationTime * 1000; changed = true; } } else if (m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_BEGIN) { if (ticks >= m_AngelTempleScene.m_lStatusEndTime || m_AngelTempleScene.m_bEndFlag != 0) { // 战斗结束,准备清场 m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_END; m_AngelTempleScene.m_lEndTime = ticks; m_AngelTempleScene.m_lStatusEndTime = ticks + m_AngelTempleData.LeaveTime * 1000; changed = true; } } else if (m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_END) { if (ticks >= m_AngelTempleScene.m_lStatusEndTime) { // 清场时间,所有玩家应清出场景 m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_NULL; changed = true; } } newStatus = m_AngelTempleScene.m_eStatus; } return(changed); }
public void CleanAll() { m_NotifyInfoTick = 0; m_bEndFlag = 0; m_nPlarerCount = 0; m_nKillBossRole = 0; m_nAngelMonsterID = 0; m_lPrepareTime = 0; m_lBeginTime = 0; m_lEndTime = 0; m_eStatus = AngelTempleStatus.FIGHT_STATUS_NULL; }
public bool ChangeToNextStatus(out AngelTempleStatus newStatus) { bool changed = false; long ticks = TimeUtil.NOW(); lock (this.m_AngelTempleScene) { if (this.m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_NULL) { if (this.CanEnterAngelTempleOnTime()) { this.m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_PREPARE; this.m_AngelTempleScene.m_lPrepareTime = ticks; this.m_AngelTempleScene.m_lStatusEndTime = ticks + (long)(this.m_AngelTempleData.PrepareTime * 1000); changed = true; } } else if (this.m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_PREPARE) { if (ticks >= this.m_AngelTempleScene.m_lStatusEndTime) { this.m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_BEGIN; this.m_AngelTempleScene.m_lBeginTime = ticks; this.m_AngelTempleScene.m_lStatusEndTime = ticks + (long)(this.m_AngelTempleData.DurationTime * 1000); changed = true; } } else if (this.m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_BEGIN) { if (ticks >= this.m_AngelTempleScene.m_lStatusEndTime || this.m_AngelTempleScene.m_bEndFlag != 0) { this.m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_END; this.m_AngelTempleScene.m_lEndTime = ticks; this.m_AngelTempleScene.m_lStatusEndTime = ticks + (long)(this.m_AngelTempleData.LeaveTime * 1000); changed = true; } } else if (this.m_AngelTempleScene.m_eStatus == AngelTempleStatus.FIGHT_STATUS_END) { if (ticks >= this.m_AngelTempleScene.m_lStatusEndTime) { this.m_AngelTempleScene.m_eStatus = AngelTempleStatus.FIGHT_STATUS_NULL; changed = true; } } newStatus = this.m_AngelTempleScene.m_eStatus; } return(changed); }