/// <summary> /// 创建建筑物体 /// </summary> private static void ProduceBulidRoom(int DataID, BuildInfo Info) { if (Info == null) { return; } if (Info.m_RoomType == RoomType.Stair) { ProduceStairBulid(Info); } else { Building mBuild = ProduceRoomBulid(DataID, Info); if (mBuild != null) { List <Int2> lPutRoom = Info.GetPutRoom(); if (Info.m_RoomType == RoomType.DeckTrap) { ShipBombRule.JoinDeckBuildRoom(lPutRoom, mBuild); } else if (Info.m_RoomType == RoomType.ResRoom) { ShipBombRule.JoinGoldBuildRoom(lPutRoom, mBuild); } else { ShipBombRule.JoinBuildRoom(lPutRoom, mBuild); } } } }
/// <summary> /// 资源卸载 /// </summary> public override void Clear() { SoundPlay.PlayBackGroundSound("bgm_city_loop", true, false); MapM.ClearMap(); CM.ExitCm(); ShipBombRule.ClearBombData(); WndManager.DestroyAllDialogs(); }
/// <summary> /// 加载战斗地图 /// </summary> private static void LoadCombatMap() { ShipCanvasInfo Info = CmCarbon.GetDefenseMap(); if (Info != null) { Info.GetMapData(); BattleEnvironmentM.ResetStartPos(Info.GetMapSize(), true); MapM.CreateMap(Info); ShipBombRule.SetBombMap(Info); } }
void GetNextBombArea(ref float dtime, ref bool IsOver) { BombArea bomb = ShipBombRule.GetNextBombArea(); if (bomb != null) { bomb.SetBombAreaTime(m_dt1, m_dt2, m_dt3); m_Bomb.Add(bomb); if (bomb.ProcessType == BombProcessType.Start) { dtime = m_dt + m_st1; } else { dtime = m_dt; } } else { IsOver = true; } }