void Start() { m_bmgr = BattleManager.Get(); m_pmgr = PlayerManager.Get(); GameObject obj = GameObject.Find("MapCam"); m_camera = obj.GetComponent<Camera>(); }
public void PerformAOE(Vector3 target, BattleManager _bm) { float prevDmg = baseDamage; List<Entity> victims = new List<Entity>(); Collider[] cols = Physics.OverlapSphere(target, 4.0f, _bm.interactMask); Entity selected = _bm.selectedTarget.GetComponent<Entity>(); victims.Add(selected); // DealDamage(selected); //_bm.SpawnFloatText(baseDamage.ToString(), selected.transform.position); for (int i = 0; i < cols.Length; i++) { Entity mon = cols[i].GetComponent<Entity>(); if(!victims.Contains(mon)) { victims.Add(mon); } } for(int j = 0; j < victims.Count; j++) { DealDamage(victims[j]); _bm.SpawnFloatText(baseDamage.ToString(), victims[j].transform.position); float dmg = baseDamage * 0.5f; baseDamage = (int)dmg; } mana -= 5.0f; baseDamage = prevDmg; }
protected override void Awake() { base.Awake(); battleMgr = GameObject.FindObjectOfType<BattleManager>(); coolTime = 40; message = "적 유닛의 이동을 막습니다."; }
public ReplayViewModel Get([FromUri]string[] ids) { var heads = new[] { new Directed {X = 1, Y = 13, Direction = Direction.East}, new Directed {X = 25, Y = 13, Direction = Direction.West}, new Directed {X = 13, Y = 1, Direction = Direction.North}, new Directed {X = 13, Y = 25, Direction = Direction.South} }; var n = 0; var unique = new HashSet<string>(ids); var fighters = unique .Select(id => snakeStore.GetById(id)) .Where(s => s != null) .Take(4) .Select(snake => new Fighter(snake.Id, snake.Chips, heads[n++])) .ToList(); var tickCount = Environment.TickCount; var replay = new Replay(tickCount) { BattleField = new BattleField() }; if (fighters.Count > 0) { var battleField = new BattleField(); var battleManager = new BattleManager(fighters, replay, new FieldComparer(battleField), battleField, tickCount); battleManager.Fight(550); //original 550 } var model = Mapper.Map<Replay, ReplayViewModel>(replay); return model; }
public BattleSwap(GameObject go) { battlemanagerGO = go; bm = battlemanagerGO.GetComponent<BattleManager>(); // pool.InitPool("floatDmg", floattxtPrefab, 4, true); }
public Attack(Enemy emy) { stateID = StateID.E_ATTACK; enemy = emy; pmgr = PlayerManager.Get(); bmgr = BattleManager.Get(); hp = enemy.Hp; }
public static BattleManager getInstance() { if ( _instance == null ) { _instance = new BattleManager(); } return _instance; }
// Use this for initialization void Start() { animator = this.GetComponent<Animator>(); battleManager = GameObject.Find ("BattleManager").GetComponent<BattleManager> (); scene = GameObject.Find ("SceneManager").GetComponent<SceneManagerScript> (); animator.SetBool ("MenuInUse", false); currentState = "NotInUse"; }
private void Awake() { battleMgr = GameObject.FindObjectOfType<BattleManager>(); parent = transform.parent.GetComponent<Movable>(); damage = parent.GetAttackDamage(); isMoveRight = parent.isOurForce ? true : false; }
public void CleanUp() { InputMan = null; ActiveCharacters.Clear(); LevelMap = new Level(); GUI = null; PlayerObject = null; BattleMan = new BattleManager(); }
private void Awake() { battleMgr = FindObjectOfType<BattleManager>(); blueMark = SpriteManager.instance.GetSprite(PackingType.UI, "MiniMap_blue"); redMark = SpriteManager.instance.GetSprite(PackingType.UI, "MiniMap_red"); markPrefab = Resources.Load<GameObject>("Prefabs/UI/Mark"); }
public static BattleManager GetInstance() { if(instance == null) { instance = FindObjectOfType<BattleManager>(); } return instance; }
// Use this for initialization void Start() { needsEffects = false; hasAttackedOnThisTurn = false; hasMovedOnThisTurn = false; theBattleManager = GameObject.FindGameObjectWithTag("GameController").GetComponent<BattleManager>(); gridScript = GameObject.Find("Grid").GetComponent<Grid>(); animator = GetComponent<Animator>(); }
public void Init() { battleManager = GameObject.Find("BattleManager").GetComponent<BattleManager>(); mapManager = GameObject.Find("BattleManager").GetComponent<MapManager>(); cam = Camera.main.GetComponent<CameraController>(); inputManager = GameObject.Find("InputManager").GetComponent<InputManager>(); lineDrawer = GameObject.Find("LineRenderer").GetComponent<LineRenderer>(); uiDockSizeX = Screen.width / 5 * 4; uiDockSizeY = Screen.height / 5; }
void Awake() { if (Instance == null) { DontDestroyOnLoad(gameObject); Instance = this; } else if (Instance != this) { Destroy(gameObject); } }
// Use this for initialization void Start() { m_bmgr = BattleManager.Get(); m_countdown = m_bmgr.m_specialCountDown; // Gets the seconds to count down m_disable = false; m_HUD = Service.Get<HUDService>().HUDControl.transform; m_sprites = Resources.LoadAll<Sprite>("Sprite/number"); m_renderer = GetComponent<SpriteRenderer>(); StartCoroutine(UpdateCount()); }
public void Awake() { if (get == null) { get = this; } else { if (get != this) { Destroy(this); } } }
void Start() { foreach (Button button in this.GetComponentsInChildren<Button>()) { button.sendEvent += ButtonEvent; } _battleManager = GameObject.Find("BattleManager").GetComponent<BattleManager>(); for (int i = 0; i < _battleManager.allShips.Count; i++) { GameObject shipIcon = (GameObject)GameObject.Instantiate(shipIconPrefab); _shipIcons.Add(shipIcon); } }
// Use this for initialization void Start () { battleManager = FindObjectOfType<BattleManager>(); fsm = new StateMachine<GameManager>(this); fsm.setState(new IntroState()); battleManager.battleEndedEvent += OnBattleEnded; battleManager.playerDefeatedEvent += OnPlayerDefeated; timer = 3.0f; enemy = GameObject.FindGameObjectWithTag("Enemy"); battleManager.StartBattle(); }
// 이미지 위치찾기 private void Awake() { battleMgr = GetComponent<BattleManager>(); gameMgr = GetComponent<GameManager>(); princessUI = GameObject.Find("PrincessEvent"); skillName = princessUI.transform.FindChild("Event").FindChild("SkillName").GetComponent<Image>(); illust = princessUI.transform.FindChild("Event").FindChild("BigIllust").GetComponent<Image>(); portrait = GameObject.Find("Princess Image").GetComponent<Image>(); portrait_gray = GameObject.Find("Princess Gray").GetComponent<Image>(); castlesprRenderer = GameObject.Find("OutpostIcon").GetComponent<Image>(); PlayerData.instance.CheckInstance(); currChapter = PlayerData.instance.GetSelectedChapter(); currChapterSkill = PrincessSkillBase.CreatePrincessSkill(currChapter); }
protected virtual void Awake() { if (GameObject.FindObjectOfType<GameManager>() == null) // InGame 에서 유닛이 사용중이지 않을 때 { forDecoration = true; return; } battleMgr = GameObject.FindGameObjectWithTag("Manager").GetComponent<BattleManager>(); if (this.CompareTag("OurForce")) isOurForce = true; else isOurForce = false; maxHP = hp; }
// Use this for initialization void Start() { theManager = GameObject.FindGameObjectWithTag("GameController").GetComponent<BattleManager>(); quitMenu = quitMenu.GetComponent<Canvas>(); startText = startText.GetComponent<Button>(); exitText = exitText.GetComponent<Button>(); restartText = restartText.GetComponent<Button>(); instructionText = instructionText.GetComponent<Button>(); uiCanvas = uiCanvas.GetComponent<Canvas>(); instructionMenu = instructionMenu.GetComponent<Canvas>(); quitMenu.enabled = false; winMenu.enabled = false; loseMenu.enabled = false; uiCanvas.enabled = true; instructionMenu.enabled = false; menu.SetActive(showing); }
//Awake is always called before any Start functions void Awake() { //Check if instance already exists if (instance == null) { //if not, set instance to this instance = this; } else if (instance != this) { //If instance already exists and it's not this: //Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager. Destroy (gameObject); } //Sets this to not be destroyed when reloading scene DontDestroyOnLoad (gameObject); //Call the InitGame function to initialize the first level InitGame (); }
private void Awake() { orderMgr = FindObjectOfType<SpriteOrderLayerManager>(); battleMgr = FindObjectOfType<BattleManager>(); itemMgr = FindObjectOfType<ItemManager>(); bgmMgr = FindObjectOfType<BgmManager>(); isRun = true; pauseUI = FindObjectOfType<Pause>(); isDefenceTurn = true; PlayerData.instance.CheckInstance(); GameEventManager.instance.CheckInstance(); StartCoroutine(SceneFader.Instance.FadeIn(0.6f)); GameObject.FindObjectOfType<SceneFader>().transform.SetParent(Camera.main.transform, true); }
public ReplayViewModel Get() { var heads = new[] { new Directed {X = 1, Y = 13, Direction = Direction.East}, new Directed {X = 25, Y = 13, Direction = Direction.West}, new Directed {X = 13, Y = 1, Direction = Direction.North}, new Directed {X = 13, Y = 25, Direction = Direction.South} }; var fighters = heads.Select(h => new Fighter(Guid.NewGuid().ToString(), new Collection<IEnumerable<ChipCell>>(), h)).ToList(); var tickCount = Environment.TickCount; var replay = new Replay(tickCount) { BattleField = new BattleField() }; var battleField = new BattleField(); var battleManager = new BattleManager(fighters, replay, new FieldComparer(battleField), battleField, tickCount); battleManager.Fight(550); //original 550 var model = Mapper.Map<Replay, ReplayViewModel>(replay); return model; }
void DefSet(BattleManager manager, bool isPlayerFirst) { turnList = new IState<BattleStateName>[3]; var playerTurn = new PlayerTurn(manager, this); var rivalTurn = new RivalTurn(manager, this); var endTurn = new EndTurn(manager, this); if (isPlayerFirst) { turnList[0] = playerTurn; turnList[1] = rivalTurn; turnList[2] = endTurn; } else { turnList[0] = rivalTurn; turnList[1] = playerTurn; turnList[2] = endTurn; } }
// Use this for initialization void Start() { // Make Singleton Manager if (Manager == null) { DontDestroyOnLoad(gameObject); Manager = this; } else if (Manager != this) { Destroy(gameObject); } SpawnBattler(1 - 1, new BattlerPosition(-1, 0, 1), Battler.Alliance.PLAYER); SpawnBattler(1 - 1, new BattlerPosition( 1, 0, 1), Battler.Alliance.ENEMY); SpawnBattler(1 - 1, new BattlerPosition( 2, 0, 1), Battler.Alliance.ENEMY); //AllBattlers = GameObject.FindObjectsOfType<Battler>(); //FindObjectOfType<PlayerController>().GetComponent<PlayerController>().inControl = AllBattlers[0]; }
void Start () { // find other classes battleManager = FindObjectOfType<BattleManager> (); // get components anim = GetComponent<Animator> (); myRigidbody2D = GetComponent<Rigidbody2D> (); // set vars moveVelocity = 0; // starts with no applied move velocity canLookAway = false; // starts each round watching // set object to correct elder watching number // starts each round watching if (iAmElder01) BattleManager.watching01 = true; else if (iAmElder02) BattleManager.watching02 = true; //cool down transitionTime = 2; // first action of the round lasts 2 seconds readyToAct = true; // can enter loop of actions useCoolDownClock = false; // random action cooldown time not started }
private void UpdateEnemyFleetInstant(bool isPractice = false) { BattleManager bm = KCDatabase.Instance.Battle; BattleData bd = bm.FirstBattle; int[] enemies = bd.Initial.EnemyMembers; int[][] slots = bd.Initial.EnemySlots; int[] levels = bd.Initial.EnemyLevels; int[][] parameters = bd.Initial.EnemyParameters; int[] hps = bd.Initial.EnemyMaxHPs; _enemyFleetCandidate = null; _enemyFleetCandidateIndex = -1; if (!bm.IsPractice) { var efcurrent = EnemyFleetRecord.EnemyFleetElement.CreateFromCurrentState(); var efrecord = RecordManager.Instance.EnemyFleet[efcurrent.FleetID]; if (efrecord != null) { TextEnemyFleetName.Text = efrecord.FleetName; TextEventDetail.Text = "Exp: " + efrecord.ExpShip; } ToolTipInfo.SetToolTip(TextEventDetail, GeneralRes.EnemyFleetID + ": " + efcurrent.FleetID.ToString("x16")); } TextFormation.Text = Constants.GetFormationShort((int)bd.Searching.FormationEnemy); //TextFormation.ImageIndex = (int)ResourceManager.IconContent.BattleFormationEnemyLineAhead + bd.Searching.FormationEnemy - 1; TextFormation.Visible = true; { int air = Calculator.GetAirSuperiority(enemies, slots); TextAirSuperiority.Text = isPractice ? air.ToString() + " ~ " + Calculator.GetAirSuperiorityAtMaxLevel(enemies, slots).ToString() : air.ToString(); ToolTipInfo.SetToolTip(TextAirSuperiority, GetAirSuperiorityString(isPractice ? 0 : air)); TextAirSuperiority.Visible = true; } TableEnemyMember.SuspendLayout(); for (int i = 0; i < ControlMembers.Length; i++) { int shipID = enemies[i]; ControlMembers[i].Update(shipID, shipID != -1 ? slots[i] : null); if (shipID != -1) ControlMembers[i].UpdateEquipmentToolTip(shipID, slots[i], levels[i], hps[i], parameters[i][0], parameters[i][1], parameters[i][2], parameters[i][3]); } TableEnemyMember.ResumeLayout(); TableEnemyMember.Visible = true; PanelEnemyFleet.Visible = true; PanelEnemyCandidate.Visible = false; BasePanel.Visible = true; //checkme }
// Functions to be called by buttons: public void Attack_1() { //unit1.GetComponent<BaseUnit>().DashTo(unit2); BattleManager.currentTarget = unit2; BattleManager.AttackButtonPressed(); }
// REFACTOR_TODO: Is this necessary? // New move button press starts coroutine //public void NewMoveButton(bool isLearn) //{ // StartCoroutine(NewMoveButtonCoroutine(isLearn)); //} // User clicks Learn New Move or Don't Learn public void NewMoveButtonPress(bool isLearn, System.Action OnFinish) { // REFACTOR_TODO: Make references Text cancelText = NewMoveUI.transform.GetChild(5).GetChild(0).GetComponent <Text>(); Text learnText = NewMoveUI.transform.GetChild(4).GetChild(0).GetComponent <Text>(); DeltemonClass delt = State.PlayerState.DeltInBattle; // Presses the cancel button if (!isLearn) { // Player affirms not learning new move if (cancelText.text == "Sure?") { BattleManager.AddToBattleQueue(string.Format("{0} didn't learn the move {1}!", delt.nickname, delt.moveset[4].moveName)); // Remove tmp 5th new move delt.moveset.RemoveAt(4); NewMoveUI.SetActive(false); UIManager.Inst.PosseUI.CloseMoveOverviews(); OnFinish(); } // Cancel button must be pressed again to confirm else { cancelText.text = "Sure?"; learnText.text = "Switch" + System.Environment.NewLine + "Moves"; } } // Presses learn new move button without selecting an old move first else if (!UIManager.Inst.PosseUI.MoveTwoOverview.gameObject.activeInHierarchy) { BattleManager.AddToBattleQueue("You must select a move to switch out first!"); } // User tries to forget a move else { // Player affirms learning new move if (learnText.text == "Sure?") { // Save index of move being forgotten int forgetMoveIndex = UIManager.Inst.secondMoveLoaded; // Set move overviews and new move ui to inactive NewMoveUI.SetActive(false); UIManager.Inst.PosseUI.CloseMoveOverviews(); BattleManager.AddToBattleQueue(string.Format("{0} forgot the move {1}!", delt.nickname, delt.moveset[forgetMoveIndex].moveName)); // Instantiate and learn new move MoveClass newMove = Instantiate(delt.moveset[4], delt.transform); delt.moveset[forgetMoveIndex] = newMove; // Remove 5th move delt.moveset.RemoveAt(4); BattleManager.AddToBattleQueue(string.Format("{0} learned the move {1}!", delt.nickname, newMove.moveName)); OnFinish(); } // Cancel button must be pressed again to confirm else { learnText.text = "Sure?"; cancelText.text = "Don't" + System.Environment.NewLine + "Learn"; } } }
void Start() { currtime = 0.0f; trailList = new List<GameObject>(); currentGesturePoints = new List<Point>(); IsTouchInProgress = IsTrailQueuedForDestroy = IsMouseMovementStarted = IsStartTrailSpawned = false; Save = GestureSave; Load = GestureLoad; m_battleMgr = BattleManager.Get(); m_playerMgr = PlayerManager.Get(); }
public void DisplayNextSentence() { //// TODO: End fight after all enemies defeated. //bool foundEnabled = false; //foreach (GameObject enemies in battleManager.enemies) //{ // if (enemies.activeSelf) // { // foundEnabled = true; // } //} //if (!foundEnabled && sentences.Count <= actionOrder[0].Count + passiveOrder[0].Count) //{ // EndDialogue(); //} //Debug.Log("-----"); //Debug.Log("sentences" + sentences.Count); //Debug.Log("bonus" + bonusSentences.Count); //Debug.Log("actionparams" + actionOrder.Count); //Debug.Log("passiveorder" + passiveOrder.Count); //Debug.Log("-----"); if (sentences.Count > 0 && bonusSentences.Count <= 0) { if (!coroutineRunning) { string sentence = null; //if (sentences.Count == 0) //{ // EndDialogue(); // return; //} //if (images.Peek() != null) //{ // image.sprite = images.Dequeue(); //} //else //{ // images.Dequeue(); //} currentLine = 0; currentChar = 0; lineOffset = 0; //string sentence = sentences.Dequeue(); if (actionOrder.Count > 0) { //List<List<Object>> objectsList = actionOrder[0]; //foreach (List<Object> objects in objectsList) //{ //GameObject casterObj = (GameObject)objects[0]; //if (casterObj.activeSelf) //{ GameObject casterObj = (GameObject)actionOrder[0][0][0]; if (casterObj.activeSelf) { sentence = sentences[0]; } //} //else //{ // actionOrder.RemoveAt(0); // passiveOrder.RemoveAt(0); //} //} } else { if (sentences.Count > 0) { sentence = sentences[0]; } } sentences.RemoveAt(0); bool foundActiveEnemy = false; foreach (GameObject checkEnemy in BattleManager.GetInstance().enemies) { if (checkEnemy.activeSelf) { foundActiveEnemy = true; } } if (foundActiveEnemy) { //Debug.Log(sentence); StopAllCoroutines(); StartCoroutine(TypeSentence(sentence)); } else { //MessageMe("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&"); StopAllCoroutines(); StartCoroutine(TypeSentence("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&&&&&@")); } } else { dialogueText.text = "<mspace=1em>" + currentSentence; StopAllCoroutines(); coroutineRunning = false; } } else if (bonusSentences.Count > 0) { //Debug.Log("BA" + bonusSentences.Count); string sentence = bonusSentences[0]; bonusSentences.RemoveAt(0); StopAllCoroutines(); StartCoroutine(TypeSentence(sentence)); } else { foreach (GameObject player in battleManager.players) { if (player.activeSelf) { player.GetComponent <CharacterStats>().TurnOver(); } } foreach (GameObject enemy in battleManager.enemies) { if (enemy.activeSelf) { enemy.GetComponent <CharacterStats>().TurnOver(); } } if (bonusSentences.Count > 0) { //Debug.Log("BA" + bonusSentences.Count); string sentence = bonusSentences[0]; bonusSentences.RemoveAt(0); StopAllCoroutines(); StartCoroutine(TypeSentence(sentence)); } else { bool foundActiveEnemy = false; foreach (GameObject checkEnemy in BattleManager.GetInstance().enemies) { if (checkEnemy.activeSelf) { foundActiveEnemy = true; } } if (!foundActiveEnemy) { //MessageMe("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&"); StopAllCoroutines(); StartCoroutine(TypeSentence("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&&&&&@")); } else { EndDialogue(); } } } }
public void CreateBattleHUD() { // Create Hp Bars HPBars = new UIGauge[2]; GameObject obj = NGUITools.AddChild(m_Top, Resources.Load("Prefabs/Battle/EnemyHpBar") as GameObject); obj.transform.localPosition = new Vector3(28.5f, -55.2f, 0); obj.transform.localScale = new Vector3(0.25f,0.25f,1f); HPBars[(int)GAUGE.ENEMY] = obj.GetComponent<UIGauge>(); obj = NGUITools.AddChild(m_bottomLeft, Resources.Load("Prefabs/Battle/PlayerHPBar") as GameObject); obj.transform.localPosition = new Vector3(423f, 127f, 0); obj.transform.localScale = new Vector3(0.8f,0.8f,1f); HPBars[(int)GAUGE.PLAYER] = obj.GetComponent<UIGauge>(); if(m_bottomLeft != null) m_bottomLeft.SetActive(true); // Initialize Managers bmgr = BattleManager.Get(); pmgr = PlayerManager.Get(); // Initialize Buttons if(m_specialBtn != null) { m_specialBtn.isEnabled = false; m_specialBtn.GetComponent<UIButtonMessage>().target = bmgr.gameObject; m_specialBtn.GetComponent<UIButtonMessage>().functionName = "OnFinishPressed"; } if(m_dodgeBtn != null) { m_dodgeBtn.GetComponent<UIButtonMessage>().target = pmgr.gameObject; m_dodgeBtn.GetComponent<UIButtonMessage>().functionName = "Dodge"; } if(m_criticalBtn != null) { m_criticalBtn.GetComponent<UIButtonMessage>().target = pmgr.gameObject; m_criticalBtn.GetComponent<UIButtonMessage>().functionName = "CriticalDamage"; } // Initialize Battle End Timer m_QuestTImer = Instantiate( Resources.Load("Prefabs/Battle/QuestTimer")) as GameObject; m_QuestTImer.transform.SetParent(m_Top.transform, false); // Initialize lvl bar if(m_lvlbar != null) m_lvlbar.SetActive(false); // if(m_pauseBtn != null) // m_pauseBtn.SetActive(true); }
public NavalBase(GameProvider listener, ITimingService timingService, NotificationManager notification, IStatePersist statePersist, IQuestKnowledges questKnowledges) { Notification = notification; StatePersist = statePersist; this.questKnowledges = questKnowledges; MasterData = new MasterDataRoot(listener); Battle = new BattleManager(listener, this); Quests = new QuestManager(listener, questKnowledges, statePersist); _allEquipment = new IdTable <EquipmentId, HomeportEquipment, RawEquipment, NavalBase>(this); _buildingDocks = new IdTable <BuildingDockId, BuildingDock, RawBuildingDock, NavalBase>(this); _repairingDocks = new IdTable <RepairingDockId, RepairingDock, RawRepairingDock, NavalBase>(this); _useItems = new IdTable <UseItemId, UseItemCount, RawUseItemCount, NavalBase>(this); _allShips = new IdTable <ShipId, HomeportShip, RawShip, NavalBase>(this); _fleets = new IdTable <FleetId, HomeportFleet, RawFleet, NavalBase>(this); _maps = new IdTable <MapId, Map, RawMap, NavalBase>(this); _airForce = new IdTable <(MapAreaId MapArea, AirForceGroupId GroupId), AirForceGroup, RawAirForceGroup, NavalBase>(this); listener.AllEquipmentUpdated += (t, msg) => _allEquipment.BatchUpdate(msg, t); listener.BuildingDockUpdated += (t, msg) => _buildingDocks.BatchUpdate(msg, t); listener.UseItemUpdated += (t, msg) => _useItems.BatchUpdate(msg, t); listener.AdmiralUpdated += (t, msg) => { if (Admiral?.Id != msg.Id) { var @new = new Admiral(msg, this, t); AdmiralChanging?.Invoke(t, Admiral, @new); Admiral = @new; NotifyPropertyChanged(nameof(Admiral)); StatePersist?.Initialize(msg.Id); this.questKnowledges.Load(); } else { Admiral.Update(msg, t); } }; listener.MaterialsUpdated += (t, msg) => { var oldMaterials = Materials; var materials = oldMaterials; msg.Apply(ref materials); if (Materials != materials) { Materials = materials; MaterialsUpdating?.Invoke(t, oldMaterials, materials, msg.Reason); } }; listener.HomeportReturned += (t, msg) => { _allShips.BatchUpdate(msg.Ships, t); CombinedFleet = msg.CombinedFleetType; if (StatePersist != null) { StatePersist.LastHomeportUpdate = t; StatePersist.SaveChanges(); } HomeportUpdated?.Invoke(t, this); }; listener.CompositionChanged += (t, msg) => { var fleet = Fleets[msg.FleetId]; if (msg.ShipId is ShipId shipId) { var ship = AllShips[shipId]; fleet.ChangeComposition(msg.Index, ship); } else { fleet.ChangeComposition(msg.Index, null); } }; listener.FleetsUpdated += (t, msg) => _fleets.BatchUpdate(msg, t); listener.FleetPresetSelected += (t, msg) => Fleets[msg.Id].Update(msg, t); listener.ShipExtraSlotOpened += (t, msg) => AllShips[msg].OpenExtraSlot(); listener.PartialFleetsUpdated += (t, msg) => _fleets.BatchUpdate(msg, t, removal: false); listener.PartialShipsUpdated += (t, msg) => _allShips.BatchUpdate(msg, t, removal: false); listener.RepairingDockUpdated += (t, msg) => _repairingDocks.BatchUpdate(msg, t); listener.ShipSupplied += (t, msg) => { foreach (var raw in msg) { var ship = AllShips[raw.ShipId]; ShipSupplying?.Invoke(t, ship, raw); ship?.Supply(raw); } questKnowledges.OnSingletonEvent(SingletonEvent.ShipSupply); }; listener.RepairStarted += (t, msg) => { var ship = AllShips[msg.ShipId]; if (ship == null) { return; } ShipRepairing?.Invoke(t, ship, msg.InstantRepair); if (msg.InstantRepair) { ship.SetRepaired(); } var oldMaterials = Materials; var materials = oldMaterials; materials.Fuel -= ship.RepairingCost.Fuel; materials.Steel -= ship.RepairingCost.Steel; Materials = materials; MaterialsUpdating?.Invoke(t, oldMaterials, materials, MaterialsChangeReason.ShipRepair); questKnowledges.OnSingletonEvent(SingletonEvent.ShipRepair); }; listener.InstantRepaired += (t, msg) => { var dock = RepairingDocks[msg]; RepairingDockInstant?.Invoke(t, msg, dock.RepairingShip); dock.Instant(); }; listener.InstantBuilt += (t, msg) => { var dock = BuildingDocks[msg]; dock.Instant(); var oldMaterials = Materials; var materials = oldMaterials; materials.InstantBuild -= dock.IsLSC ? 10 : 1; Materials = materials; MaterialsUpdating?.Invoke(t, oldMaterials, materials, MaterialsChangeReason.InstantBuilt); questKnowledges.OnSingletonEvent(SingletonEvent.ShipRepair); }; listener.ShipCreated += (t, msg) => questKnowledges.OnSingletonEvent(SingletonEvent.ShipConstruct); listener.ShipBuildCompleted += (t, msg) => { _allEquipment.BatchUpdate(msg.Equipments, t, removal: false); _allShips.Add(msg.Ship, t); }; listener.EquipmentCreated += (t, msg) => { foreach (var e in msg.Equipment) { if (e is object) { _allEquipment.Add(e, t); } questKnowledges.OnSingletonEvent(SingletonEvent.EquipmentCreate); } }; listener.ShipDismantled += (t, msg) => { var removed = RemoveShips(msg.ShipIds, msg.DismantleEquipments); questKnowledges.OnShipDismantle(removed); ShipDismantling?.Invoke(t, removed, msg.DismantleEquipments); }; listener.EquipmentDismantled += (t, msg) => { var removed = RemoveEquipment(msg); questKnowledges.OnEquipmentDismantle(removed); EquipmentDismantling?.Invoke(t, removed); }; listener.EquipmentImproved += (t, msg) => { var consumed = msg.ConsumedEquipmentIds != null?RemoveEquipment(msg.ConsumedEquipmentIds) : null; var original = AllEquipment[msg.EquipmentId]; EquipmentImproving?.Invoke(t, original, msg.UpdatedTo, consumed, msg.IsSuccess); if (msg.IsSuccess) { original.Update(msg.UpdatedTo, t); } questKnowledges?.OnSingletonEvent(SingletonEvent.EquipmentImprove); }; listener.ShipPoweruped += (t, msg) => { var consumed = RemoveShips(msg.ConsumedShipIds, true); var original = AllShips[msg.ShipId]; questKnowledges.OnShipPowerup(original, consumed, msg.IsSuccess); ShipPoweruping?.Invoke(t, original, msg.UpdatedTo, consumed); original.Update(msg.UpdatedTo, t); }; listener.ExpeditionCompleted += (t, msg) => { var fleet = Fleets[msg.FleetId]; questKnowledges?.OnExpeditionComplete(fleet, fleet.Expedition, msg.Result); }; listener.MapsUpdated += (t, msg) => _maps.BatchUpdate(msg, t); listener.AirForceUpdated += (t, msg) => _airForce.BatchUpdate(msg, t); listener.AirForcePlaneSet += (t, msg) => AirForce[(msg.MapAreaId, msg.GroupId)].SetPlane(t, msg);
public string GetSaveString(AreaManager areaManager, FollowerManager followerManager, NPCManager npcManager, BuildingManager buildingManager, BattleManager battleManager) { return(GetSaveStringEncrypted(areaManager, followerManager, npcManager, buildingManager, battleManager, true)); }
public static BattlePhase NextPhase(BattlePhase iPhase) { BattleManager battleManager = BattleTaskManager.GetBattleManager(); if (battleManager == null) { return(BattlePhase.BattlePhase_BEF); } BattlePhase result = BattlePhase.BattlePhase_BEF; switch (iPhase) { case BattlePhase.BattlePhase_ST: result = BattlePhase.FleetAdvent; break; case BattlePhase.FleetAdvent: if (battleManager is SortieBattleManager || battleManager is RebellionBattleManager) { BattleManager battleManager2 = BattleTaskManager.GetBattleManager(); if (BattleUtils.GetStarBattleFleetAdventNextPhase(battleManager2.WarType) == BattlePhase.NightCombat) { result = BattlePhase.NightCombat; break; } } if (battleManager.IsExistSakutekiData()) { result = BattlePhase.Detection; } else if (battleManager.IsExistCommandPhase()) { result = BattlePhase.Command; } else if (battleManager.IsExistKoukuuData()) { result = BattlePhase.AerialCombat; } else if (battleManager.IsExistShienData()) { result = BattlePhase.SupportingFire; } else if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.Detection: if (battleManager.IsExistCommandPhase()) { result = BattlePhase.Command; } else if (battleManager.IsExistKoukuuData()) { result = BattlePhase.AerialCombat; } else if (battleManager.IsExistShienData()) { result = BattlePhase.SupportingFire; } else if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.Command: if (battleManager.IsExistKoukuuData()) { result = BattlePhase.AerialCombat; } else if (battleManager.IsExistShienData()) { result = BattlePhase.SupportingFire; } else if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.AerialCombat: if (battleManager.IsExistShienData()) { result = BattlePhase.SupportingFire; } else if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.AerialCombatSecond: if (battleManager.IsExistShienData()) { result = BattlePhase.SupportingFire; } else if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.SupportingFire: if (battleManager.IsExistKaimakuData()) { result = BattlePhase.OpeningTorpedoSalvo; } else if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.OpeningTorpedoSalvo: if (battleManager.IsExistHougekiPhase_Day()) { result = BattlePhase.Shelling; } else if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.Shelling: if (battleManager.IsExistRaigekiData()) { result = BattlePhase.TorpedoSalvo; } else { result = BattlePhase.WithdrawalDecision; } break; case BattlePhase.TorpedoSalvo: result = BattlePhase.WithdrawalDecision; break; case BattlePhase.WithdrawalDecision: if (battleManager.HasNightBattle()) { result = BattlePhase.NightCombat; } else { result = BattlePhase.Result; } break; case BattlePhase.NightCombat: result = BattlePhase.Result; break; case BattlePhase.Result: result = BattlePhase.ClearReward; break; case BattlePhase.FlagshipWreck: result = BattlePhase.MapOpen; break; case BattlePhase.EscortShipEvacuation: result = BattlePhase.AdvancingWithdrawal; break; case BattlePhase.ClearReward: if (battleManager.GetEscapeCandidate() != null) { } result = BattlePhase.MapOpen; break; } return(result); }
private void Start() { instance = this; playerController.BattleStarted(); StartRound(); }
////////////////// public void OnClick() { BattleManager.StartMission(m_MissionData); }
// ショット衝突判定 /*void OnTriggerEnter(Collider collider) { * // Animatorがdead(死亡)だったら判定しない(何もしない) * if (animator.GetBool ("dead") == true) { * return; * } * // Shotタグが付いているオブジェクトに当たったら * if (collider.gameObject.tag == "Shot") { * // 相手を硬直させる(下記DamageSet参照) * DamageSet = true; * // ライフバー表示(下記参照) * StartCoroutine ("LifeBarCoroutine"); * // Bullet01スクリプトのdamageを受け取る * damage = collider.gameObject.GetComponent<Bullet01> ().damage; * // 当たり判定用のHit01ObjectをHit01Prefabにし生成 * Hit01Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity); * // ダメージコルーチン(下記参照) * StartCoroutine ("DamageCoroutine"); * // Shot接触時敵Animatorを"damaged"へ移行 * // アニメーションした後元に戻すのならSetTriggerの方が単純で良い * animator.SetTrigger ("damaged"); * // 敵アーマーポイントからBullet01スクリプトのdamage値を差し引く * armorPoint -= damage; * //ライフバーからもダメージ分ゲージを減らす * LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue (); * //DamageSet = false; * } else if (collider.gameObject.tag == "Shot2") { * DamageSet = true; * StartCoroutine ("LifeBarCoroutine"); * damage = collider.gameObject.GetComponent<Bullet02> ().damage; * Hit02Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity); * StartCoroutine ("DamageCoroutine"); * animator.SetTrigger ("damaged"); * armorPoint -= damage; * LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue (); * } else if (collider.gameObject.tag == "Shot3") { * //Debug.Log (collider.gameObject.name); * //DamageSet = true; * FreezeSet = true; * StartCoroutine ("LifeBarCoroutine"); * damage = collider.gameObject.GetComponent<Bullet03> ().damage; * Hit03Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity); * StartCoroutine ("DamageCoroutine"); * animator.SetTrigger ("damaged"); * armorPoint -= damage; * LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue (); * } else if (collider.gameObject.tag == "Shot5") { * DamageSet = true; * StartCoroutine ("LifeBarCoroutine"); * damage = collider.gameObject.GetComponent<Bullet05> ().damage; * Hit05Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity); * StartCoroutine ("DamageCoroutine"); * animator.SetTrigger ("damaged"); * armorPoint -= damage; * LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue (); * } * * //プレイヤーのいずれかの弾に当たって体力が0以下になったら消滅する * if (collider.gameObject.tag == "Shot" || collider.gameObject.tag == "Shot2" || collider.gameObject.tag == "Shot3" || collider.gameObject.tag == "Shot5") { || if (armorPoint <= 0) { || //Debug.Log ("敵"+gameObject.name); || // Animatorを"dead"へ移行 || // 移行後元に戻さないならBool判定にした方がよい || animator.SetBool ("dead", true); || // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする || EnemySpeed = 0; || // 敵消滅用エフェクト発生 || // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutine(下記参照)で接触判定を無くす || DeadObject = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity); || StartCoroutine ("DeadCoroutine"); || Instantiate (DestroyEffect, transform.position, transform.rotation); || // バトルマネージャーにスコア(EnemyScoreで設定)を加算する || battleManager = GameObject.Find ("BattleManager").GetComponent<BattleManager> (); || DataManager.Score += EnemyScore; || // プレイヤのレベルアップ判定(PlayerLevel参照) || // レベルに関係している数値はDataManagedrで管理している || playerLevel.LevelUp (); || // DestroyTime時間後敵消滅 || Destroy (gameObject, DestroyTime); || // ボス、ラスボス消滅後は必ずクリア用スターを出現させる || // インスペクタ画面でIsBoss、IsLastBossに✔を付ける || if (isBoss == true) { || Instantiate (Star, transform.position, transform.rotation); || } || if (isLastBoss == true) { || Instantiate (BigStar, transform.position, transform.rotation); || // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現 || } else if (Random.Range (0, RedEncount) == 0) { || Instantiate (RedSphere, transform.position, transform.rotation); || //Vector3 Pog = this.gameObject.transform.position; || //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation); || } else if (Random.Range (0, BlueEncount) == 0) { || Instantiate (BlueSphere, transform.position, transform.rotation); || //Vector3 Pog = this.gameObject.transform.position; || //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation); || } else if (Random.Range (0, GreenEncount) == 0) { || Instantiate (GreenSphere, transform.position, transform.rotation); || //Vector3 Pog = this.gameObject.transform.position; || //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation); || } else if (Random.Range (0, YellowEncount) == 0) { || Instantiate (YellowSphere, transform.position, transform.rotation); || //Vector3 Pog = this.gameObject.transform.position; || //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation); || } || } || } ||}*/ //巨大化したプレイヤに接触したらダメージ void OnCollisionEnter(Collision collider) { //PlayerApのisBig(巨大化)状態をisbigとする bool isbig = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().isBig; //プレイヤのタグがついていてisbig状態(巨大化中)なら if (collider.gameObject.tag == "Player" && isbig == true) { //Debug.Log ("一撃"); //armorPointからプレイヤのbigAttack値を差し引く bigAttack = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().BigAttack; armorPoint -= bigAttack; //それ以外(巨大化してない)ならDamageSet状態にする } else if (collider.gameObject.tag == "Player") { DamageSet = true; animator.SetTrigger("damaged"); } //ライフバーからダメージ分ゲージを減らす LifeBar.GetComponent <LifeBar>().UpdateArmorPointValue(); // if (collider.gameObject.tag == "Player") { //体力が0以下になったら消滅する if (armorPoint <= 0) { //Debug.Log ("敵"+gameObject.name); // Animatorを"dead"へ移行 // 移行後元に戻さないならBool判定にした方がよい animator.SetBool("dead", true); // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする EnemySpeed = 0; // 敵消滅用エフェクト発生 // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutineで接触判定を無くす DeadObject = Instantiate(Hit01Prefab, EffectPoint.position, Quaternion.identity); StartCoroutine("DeadCoroutine"); Instantiate(DestroyEffect, transform.position, transform.rotation); // バトルマネージャーにスコア(EnemyScoreで設定)を加算する battleManager = GameObject.Find("BattleManager").GetComponent <BattleManager> (); // プレイヤのレベルアップ判定(PlayerLevel参照) // レベルに関係している数値はDataManagedrで管理している DataManager.Score += EnemyScore; playerLevel.LevelUp(); // 敵消滅 Destroy(gameObject, DestroyTime); //Instantiate(exprosion, transform.position, transform.rotation); // ボス、ラスボス消滅後は必ずクリア用スターを出現させる // インスペクタ画面でIsBoss、IsLastBossに✔を付ける if (isBoss == true) { Instantiate(Star, transform.position, transform.rotation); } if (isLastBoss == true) { Instantiate(BigStar, transform.position, transform.rotation); // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現 } else if (Random.Range(0, RedEncount) == 0) { Instantiate(RedSphere, transform.position, transform.rotation); } else if (Random.Range(0, BlueEncount) == 0) { Instantiate(BlueSphere, transform.position, transform.rotation); } else if (Random.Range(0, GreenEncount) == 0) { Instantiate(GreenSphere, transform.position, transform.rotation); } else if (Random.Range(0, YellowEncount) == 0) { Instantiate(YellowSphere, transform.position, transform.rotation); } } } }
protected void Awake() { _battleManager = GameObject.Find("Root").GetComponent <BattleManager>(); }
public virtual void SetUpObstacle(BattleManager battleManager) { this.battleManager = battleManager; }
private void OnTriggerEnter2D(Collider2D collision) { sprite.sprite = wreck; StartCoroutine(BattleManager.GetInstance().GameOver()); }
private void Start() { bm = FindObjectOfType <BattleManager>(); }
private void Awake() { instance = this; }
private void Awake() { instance = this; DontDestroyOnLoad(gameObject); }
public string GetSaveStringEncrypted(AreaManager areaManager, FollowerManager followerManager, NPCManager npcManager, BuildingManager buildingManager, BattleManager battleManager, bool encrypt) { int pos = 0; string data = ""; try { //Bank 0 data += "" + GetPlayerBank().GetInventory().ToString(); pos++; //Skills 1 data += "#" + GetPlayer().GetSkillString(); pos++; //Inventory 2 data += "#" + GetPlayerInventory().ToStringSorted(); pos++; //Areas 3 data += "#" + areaManager.SaveAreas(); pos++; //Followers 4 data += "#" + followerManager.ToString(); pos++; //HP 5 data += "#" + GetPlayer().CurrentHP.ToString(); pos++; //ActiveFollower 6 if (GetPlayer().activeFollower != null) { data += "#" + GetPlayer().activeFollower.id; } else { data += "#"; } pos++; //Recipes 7 data += "#"; /*foreach (string s in GetPlayer().GetRecipes()) * { * data += s + "/"; * }*/ pos++; //EquippedItems 8 data += "#"; foreach (KeyValuePair <GameItem, int> pair in GetPlayerInventory().GetEquippedItems()) { data += pair.Key.Id + "/"; } pos++; //Settings 9 data += "#"; data += isSplitView.ToString(); data += ","; data += compactBankView.ToString(); data += ","; data += expensiveItemThreshold; data += ","; data += totalKills; data += ","; data += PetShopUnlocked.ToString(); data += ","; data += autoBuySushiSupplies.ToString(); data += ","; data += totalCoinsEarned; data += ","; data += totalDeaths; pos++; //NPC data 10 data += "#"; data += npcManager.GetNPCData(); pos++; //Sushi House Data 11 data += "#"; data += sushiHouseRice + "," + sushiHouseSeaweed; pos++; //Tannery Data 12 data += "#"; foreach (Building b in buildingManager.GetBuildings()) { if (b.Salt > 0) { data += "" + b.ID + "," + b.Salt + "/"; } } pos++; //Tannery Slot Data 13 data += "#"; foreach (Building b in buildingManager.GetBuildings()) { if (b.IsTannery) { data += b.ID + ">"; foreach (TanningSlot slot in b.TanneryItems) { data += slot.GetString() + "_"; } data += "@"; } } pos++; //GameState.isHunting 14 data += "#"; data += isHunting.ToString() + ","; data += huntingAreaID + ","; data += huntingStartTime.ToString() + ","; data += huntingEndTime.ToString(); pos++; //Bank Tabs 15 data += "#"; data += GetPlayerBank().GetTabsString(); pos++; //Pets 16 data += "#"; data += GetPlayer().GetPetString(); pos++; //KC 17 data += "#"; data += GetKCString(); pos++; //Dojos 18 data += "#"; data += battleManager.GetDojoSaveData(); if (encrypt) { data = Encryptor.EncryptToString(data); } pos++; } catch { data = "Failed to generate save file. Please contact the developer to let him know he messed up. (Error line:" + pos + ")"; } return(data); }
private void CheckBattle() { BattleManager bm = KCDatabase.Instance.Battle; if (bm.Compass.IsEndPoint && !NotifiesAtEndpoint) { return; } List <string> list = new List <string>(); switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask) { case BattleManager.BattleModes.Normal: case BattleManager.BattleModes.AirBattle: case BattleManager.BattleModes.AirRaid: default: if (bm.BattleNight != null) { list.AddRange(GetDamagedShips(bm.BattleNight.Initial.FriendFleet, bm.BattleNight.ResultHPs.ToArray())); } else { list.AddRange(GetDamagedShips(bm.BattleDay.Initial.FriendFleet, bm.BattleDay.ResultHPs.ToArray())); } break; case BattleManager.BattleModes.NightDay: case BattleManager.BattleModes.NightOnly: if (bm.BattleDay != null) { list.AddRange(GetDamagedShips(bm.BattleDay.Initial.FriendFleet, bm.BattleDay.ResultHPs.ToArray())); } else { list.AddRange(GetDamagedShips(bm.BattleNight.Initial.FriendFleet, bm.BattleNight.ResultHPs.ToArray())); } break; } if ((bm.BattleMode & BattleManager.BattleModes.CombinedMask) != 0) { switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask) { case BattleManager.BattleModes.Normal: case BattleManager.BattleModes.AirBattle: case BattleManager.BattleModes.AirRaid: default: if (bm.BattleNight != null) { list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleNight.ResultHPs.Skip(12).ToArray())); } else { list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleDay.ResultHPs.Skip(12).ToArray())); } break; case BattleManager.BattleModes.NightDay: case BattleManager.BattleModes.NightOnly: if (bm.BattleDay != null) { list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleDay.ResultHPs.Skip(12).ToArray())); } else { list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleNight.ResultHPs.Skip(12).ToArray())); } break; } } if (list.Count > 0) { Notify(list.ToArray()); } }