Exemple #1
0
        public void AddShipInfo(FleetType type, ShipModel_Defender ship)
        {
            bool isAfter = false;

            if (ship.DmgStateBefore == DamageState_Battle.Tyuuha || ship.DmgStateBefore == DamageState_Battle.Taiha || ship.DmgStateBefore == DamageState_Battle.Gekichin)
            {
                isAfter = true;
            }
            if (type == FleetType.Friend)
            {
                this._listShipDefenderF.Add(ship);
                this._countF = this._listShipDefenderF.get_Count();
                this._listShipFriend.get_Item(this._countF - 1).mainTexture = ShipUtils.LoadTexture(ship, isAfter);
                this._listShipFriend.get_Item(this._countF - 1).MakePixelPerfect();
                this._listShipFriend.get_Item(this._countF - 1).get_transform().set_localPosition(ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn));
            }
            else
            {
                this._listShipDefenderE.Add(ship);
                this._countE = this._listShipDefenderE.get_Count();
                this._listShipEnemy.get_Item(this._countE - 1).mainTexture = ShipUtils.LoadTexture(ship, isAfter);
                this._listShipEnemy.get_Item(this._countE - 1).MakePixelPerfect();
                this._listShipEnemy.get_Item(this._countE - 1).get_transform().set_localPosition(ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn));
            }
            this._dicIsCutIn.set_Item(type, true);
        }
Exemple #2
0
 public void SetShipData(List <ShipModel_Defender> defenderList, DamageCutInType iType)
 {
     InitMode(iType);
     _nDrawShipNum = defenderList.Take(_listDamageShips.Count).Count();
     _clsShipModel = defenderList[0];
     SetDamageShipData(defenderList);
 }
Exemple #3
0
        public override string ToString()
        {
            string text = string.Empty;
            List <ShipModel_Defender> defenders = GetDefenders(is_friend: true, all: true);

            for (int i = 0; i < defenders.Count; i++)
            {
                ShipModel_Battle shipModel_Battle = defenders[i];
                if (shipModel_Battle != null)
                {
                    ShipModel_Defender attackTo = GetAttackTo(shipModel_Battle.TmpId);
                    if (attackTo != null)
                    {
                        RaigekiDamageModel attackDamage = GetAttackDamage(attackTo.TmpId);
                        text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメ\u30fcジ:{4}(c:{7}) {5}{6})\n", shipModel_Battle.Name, shipModel_Battle.Index, attackTo.Name, attackTo.Index, attackDamage.GetDamage(shipModel_Battle.TmpId), attackDamage.GetHitState(shipModel_Battle.TmpId), (!attackDamage.GetProtectEffect(shipModel_Battle.TmpId)) ? string.Empty : "[かばう]", attackDamage.__GetDamage__(shipModel_Battle.TmpId));
                    }
                }
            }
            defenders = GetDefenders(is_friend: false, all: true);
            for (int j = 0; j < defenders.Count; j++)
            {
                ShipModel_Battle shipModel_Battle2 = defenders[j];
                if (shipModel_Battle2 != null)
                {
                    ShipModel_Defender attackTo2 = GetAttackTo(shipModel_Battle2.TmpId);
                    if (attackTo2 != null)
                    {
                        RaigekiDamageModel attackDamage2 = GetAttackDamage(attackTo2.TmpId);
                        text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメ\u30fcジ:{4}(c:{7}) {5}{6})\n", shipModel_Battle2.Name, shipModel_Battle2.Index, attackTo2.Name, attackTo2.Index, attackDamage2.GetDamage(shipModel_Battle2.TmpId), attackDamage2.GetHitState(shipModel_Battle2.TmpId), (!attackDamage2.GetProtectEffect(shipModel_Battle2.TmpId)) ? string.Empty : "[かばう]", attackDamage2.__GetDamage__(shipModel_Battle2.TmpId));
                    }
                }
            }
            return(text);
        }
        private void _createTorpedoWake()
        {
            _torpedoWakes = new PSTorpedoWakes();
            int num = 0;

            _setProtect();
            Vector3 targetVec = default(Vector3);

            for (int i = 0; i < _fBakuraiModel.Length; i++)
            {
                if (_fBakuraiModel[i] != null && _fBakuraiModel[i].IsRaigeki())
                {
                    ShipModel_Defender defender = _fBakuraiModel[i].Defender;
                    int     num2         = (!_fBakuraiModel[i].GetProtectEffect()) ? defender.Index : 0;
                    bool    flag         = (_fBakuraiModel[i].GetHitState() == BattleHitStatus.Miss) ? true : false;
                    float   num3         = (!flag) ? 0f : 1f;
                    Vector3 injectionVec = _setTorpedoVec(num, isFriend: true);
                    num++;
                    _dicHitType[num2] = setHitType(FleetType.Enemy, defender.Index, flag, HitType.Torpedo);
                    Vector3 position  = _eBattleship[num2].transform.position;
                    float   x         = position.x + num3;
                    Vector3 position2 = _eBattleship[num2].transform.position;
                    targetVec = new Vector3(x, 0f, position2.z + 1f);
                    if (_fBakuraiModel[i].GetProtectEffect())
                    {
                        Vector3 position3 = _eBattleship[defender.Index].transform.position;
                        _torpedoWakes.SetProtectVector(num, new Vector3(position3.x + 2f, 0f, position3.z));
                    }
                    _torpedoWakes.AddInstantiates(BattleTaskManager.GetBattleField().transform, injectionVec, targetVec, isFull: true, i, 2f, isDet: false, flag);
                }
            }
        }
 public void SetShipData(List <ShipModel_Defender> defenderList, ProdDamageCutIn.DamageCutInType iType)
 {
     this.InitMode(iType);
     this._nDrawShipNum = Enumerable.Count <ShipModel_Defender>(Enumerable.Take <ShipModel_Defender>(defenderList, this._listDamageShips.get_Count()));
     this._clsShipModel = defenderList.get_Item(0);
     this.SetDamageShipData(defenderList);
 }
Exemple #6
0
        public void Restored(ShipModel_Defender defender)
        {
            UIBattleShip uIBattleShip = (!defender.IsFriend()) ? _dicEnemyBattleShips[defender.Index] : _dicFriendBattleShips[defender.Index];

            uIBattleShip.SetActive(isActive: true);
            uIBattleShip.Restored(defender);
        }
Exemple #7
0
        private void _setProtect(FleetType type)
        {
            int num  = (type == FleetType.Friend) ? 1 : 0;
            int num2 = 0;

            while (true)
            {
                if (num2 < _dicBakuraiModel[type].Length)
                {
                    if (_dicBakuraiModel[type][num2] != null && _dicBakuraiModel[type][num2].GetProtectEffect())
                    {
                        break;
                    }
                    num2++;
                    continue;
                }
                return;
            }
            _isProtect[num] = true;
            ShipModel_Defender defender = _dicBakuraiModel[type][num2].Defender;

            if (type == FleetType.Friend)
            {
                _rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[defender.Index]);
            }
            else
            {
                _rescueCutIn.AddShipList(_fBattleship[0], _fBattleship[defender.Index]);
            }
        }
Exemple #8
0
        private void _setShinking(FleetType type)
        {
            if (type == FleetType.Friend)
            {
                BattleTaskManager.GetBattleShips().UpdateDamageAll(_clsKoukuu, isFriend: false);
            }
            for (int i = 0; i < _dicBakuraiModel[type].Length; i++)
            {
                if (_dicBakuraiModel[type][i] == null)
                {
                    continue;
                }
                ShipModel_Defender defender = _dicBakuraiModel[type][i].Defender;
                if (defender.DmgStateAfter == DamageState_Battle.Gekichin)
                {
                    switch (type)
                    {
                    case FleetType.Friend:
                        _eBattleship[i].PlayProdSinking(null);
                        break;

                    case FleetType.Enemy:
                        _fBattleship[i].PlayProdSinking(null);
                        break;
                    }
                }
            }
        }
        public void AddShipInfo(FleetType type, ShipModel_Defender ship)
        {
            bool isAfter = false;

            if (ship.DmgStateBefore == DamageState_Battle.Tyuuha || ship.DmgStateBefore == DamageState_Battle.Taiha || ship.DmgStateBefore == DamageState_Battle.Gekichin)
            {
                isAfter = true;
            }
            if (type == FleetType.Friend)
            {
                _listShipDefenderF.Add(ship);
                _countF = _listShipDefenderF.Count;
                _listShipFriend[_countF - 1].mainTexture = ShipUtils.LoadTexture(ship, isAfter);
                _listShipFriend[_countF - 1].MakePixelPerfect();
                _listShipFriend[_countF - 1].transform.localPosition = ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn);
            }
            else
            {
                _listShipDefenderE.Add(ship);
                _countE = _listShipDefenderE.Count;
                _listShipEnemy[_countE - 1].mainTexture = ShipUtils.LoadTexture(ship, isAfter);
                _listShipEnemy[_countE - 1].MakePixelPerfect();
                _listShipEnemy[_countE - 1].transform.localPosition = ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn);
            }
            _dicIsCutIn[type] = true;
        }
        private List <Vector3> GetHeavyShipOffs(ShipModel_Defender defender)
        {
            List <Vector3> list = new List <Vector3>();

            list.Add(Vector3.get_zero());
            list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, true, MstShipGraphColumn.CutInSp1));
            return(list);
        }
        private List <Texture2D> GetHeavyShipTexture(ShipModel_Defender defender)
        {
            List <Texture2D> list = new List <Texture2D>();

            list.Add(null);
            list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, true));
            return(list);
        }
Exemple #12
0
 public DamageModelBase(ShipModel_BattleAll defender)
 {
     this._defender     = defender.__CreateDefender__();
     this._calc_damages = new List <int>();
     this._damages      = new List <int>();
     this._hitstates    = new List <BattleHitStatus>();
     this._dmgkind      = new List <BattleDamageKinds>();
 }
Exemple #13
0
        public static List <Texture2D> LoadTexture2Sinking(ShipModel_Defender model, bool isRepair)
        {
            List <Texture2D> list = new List <Texture2D>();

            list.Add(LoadTexture(model.GetGraphicsMstId(), model.DamagedFlgBefore));
            list.Add(LoadTexture(model.GetGraphicsMstId(), (!isRepair) ? model.DamagedFlgAfterRecovery : model.DamagedFlgAfterRecovery));
            return(list);
        }
Exemple #14
0
        private List <Vector3> GetModerateShipOffs(ShipModel_Defender defender)
        {
            List <Vector3> list = new List <Vector3>();

            list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, isDamaged: false, MstShipGraphColumn.CutInSp1));
            list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, isDamaged: true, MstShipGraphColumn.CutInSp1));
            return(list);
        }
Exemple #15
0
        private List <Texture2D> GetModerateShipTexture(ShipModel_Defender defender)
        {
            List <Texture2D> list = new List <Texture2D>();

            list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, isAfter: false));
            list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, isAfter: true));
            return(list);
        }
Exemple #16
0
        public static List <Vector3> GetShipOffsPos2Sinking(ShipModel_Defender model, bool isRepair, MstShipGraphColumn iColumn)
        {
            List <Vector3> list = new List <Vector3>();

            list.Add(GetShipOffsPos(model, model.DamagedFlgBefore, iColumn));
            list.Add(GetShipOffsPos(model, (!isRepair) ? model.DamagedFlgAfter : model.DamagedFlgAfterRecovery, iColumn));
            return(list);
        }
 public void SetSinkingData(ShipModel_Defender ship)
 {
     _clsShipModel              = ship;
     _iType                     = GetSinkingType(ship);
     _listShipTexture           = KCV.Battle.Utils.ShipUtils.LoadTexture2Sinking(ship, isRepair);
     _listShipOffs              = KCV.Battle.Utils.ShipUtils.GetShipOffsPos2Sinking(ship, isRepair, MstShipGraphColumn.CutInSp1);
     _uiShipTexture.mainTexture = _listShipTexture[0];
     _uiShipTexture.MakePixelPerfect();
     _uiShipTexture.transform.localPosition = _listShipOffs[0];
 }
 public void SetSinkingData(ShipModel_Defender ship)
 {
     this._clsShipModel              = ship;
     this._iType                     = this.GetSinkingType(ship);
     this._listShipTexture           = KCV.Battle.Utils.ShipUtils.LoadTexture2Sinking(ship, this.isRepair);
     this._listShipOffs              = KCV.Battle.Utils.ShipUtils.GetShipOffsPos2Sinking(ship, this.isRepair, MstShipGraphColumn.CutInSp1);
     this._uiShipTexture.mainTexture = this._listShipTexture.get_Item(0);
     this._uiShipTexture.MakePixelPerfect();
     this._uiShipTexture.get_transform().set_localPosition(this._listShipOffs.get_Item(0));
 }
        public override string ToString()
        {
            string text = string.Empty;
            List <ShipModel_Defender> defenders = this.GetDefenders(true, true);

            for (int i = 0; i < defenders.get_Count(); i++)
            {
                ShipModel_Battle shipModel_Battle = defenders.get_Item(i);
                if (shipModel_Battle != null)
                {
                    ShipModel_Defender attackTo = this.GetAttackTo(shipModel_Battle.TmpId);
                    if (attackTo != null)
                    {
                        RaigekiDamageModel attackDamage = this.GetAttackDamage(attackTo.TmpId);
                        text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメージ:{4}(c:{7}) {5}{6})\n", new object[]
                        {
                            shipModel_Battle.Name,
                            shipModel_Battle.Index,
                            attackTo.Name,
                            attackTo.Index,
                            attackDamage.GetDamage(shipModel_Battle.TmpId),
                            attackDamage.GetHitState(shipModel_Battle.TmpId),
                            (!attackDamage.GetProtectEffect(shipModel_Battle.TmpId)) ? string.Empty : "[かばう]",
                            attackDamage.__GetDamage__(shipModel_Battle.TmpId)
                        });
                    }
                }
            }
            defenders = this.GetDefenders(false, true);
            for (int j = 0; j < defenders.get_Count(); j++)
            {
                ShipModel_Battle shipModel_Battle2 = defenders.get_Item(j);
                if (shipModel_Battle2 != null)
                {
                    ShipModel_Defender attackTo2 = this.GetAttackTo(shipModel_Battle2.TmpId);
                    if (attackTo2 != null)
                    {
                        RaigekiDamageModel attackDamage2 = this.GetAttackDamage(attackTo2.TmpId);
                        text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメージ:{4}(c:{7}) {5}{6})\n", new object[]
                        {
                            shipModel_Battle2.Name,
                            shipModel_Battle2.Index,
                            attackTo2.Name,
                            attackTo2.Index,
                            attackDamage2.GetDamage(shipModel_Battle2.TmpId),
                            attackDamage2.GetHitState(shipModel_Battle2.TmpId),
                            (!attackDamage2.GetProtectEffect(shipModel_Battle2.TmpId)) ? string.Empty : "[かばう]",
                            attackDamage2.__GetDamage__(shipModel_Battle2.TmpId)
                        });
                    }
                }
            }
            return(text);
        }
Exemple #20
0
        private void SetShipTextureRestore(ShipModel_Defender model)
        {
            bool damagedFlgAfterRecovery = model.DamagedFlgAfterRecovery;
            int  shipStandingTexID       = ShipUtils.GetShipStandingTexID(model.IsFriend(), model.IsPractice(), damagedFlgAfterRecovery);

            if (!(_clsObject3D.mainTexture != null) || !(_clsObject3D.mainTexture.name == shipStandingTexID.ToString()))
            {
                _clsObject3D.mainTexture = ShipUtils.LoadTexture2Restore(model);
                _clsObject3D.MakePixelPerfect();
                _clsObject3D.transform.localScale    = _clsObject3D.transform.localScale * (float)model.Offsets.GetScaleMag_InBattle(model.DamagedFlgAfter);
                _clsObject3D.transform.localPosition = ShipUtils.GetShipOffsPos(model, damagedFlgAfterRecovery, MstShipGraphColumn.Foot);
            }
        }
Exemple #21
0
 public void Restored(ShipModel_Defender defender)
 {
     object3D.transform.LTCancel();
     SetShipTextureRestore(defender);
     SetPointOfGaze2Restore(defender);
     SetSPPointOfGaze2Restore(defender);
     ((Component)_clsWakes.shipSpray).SetActive(isActive: true);
     _clsWakes.shipSpray.Play();
     ((Component)_clsWakes.sinkSpray).SetActive(isActive: false);
     object3D.color                   = Color.white;
     standingPositionType             = StandingPositionType.OneRow;
     object3D.transform.localRotation = Quaternion.Euler(Vector3.zero);
 }
Exemple #22
0
 public void Restored(ShipModel_Defender defender)
 {
     this.object3D.get_transform().LTCancel();
     this.SetShipTextureRestore(defender);
     this.SetPointOfGaze2Restore(defender);
     this.SetSPPointOfGaze2Restore(defender);
     this._clsWakes.shipSpray.SetActive(true);
     this._clsWakes.shipSpray.Play();
     this._clsWakes.sinkSpray.SetActive(false);
     this.object3D.color       = Color.get_white();
     this.standingPositionType = StandingPositionType.OneRow;
     this.object3D.get_transform().set_localRotation(Quaternion.Euler(Vector3.get_zero()));
 }
Exemple #23
0
        private void _setHpGauge(FleetType type)
        {
            int       num  = (type != 0) ? _fBattleship.Count : _eBattleship.Count;
            bool      flag = (type == FleetType.Friend) ? true : false;
            FleetType key  = flag ? FleetType.Enemy : FleetType.Friend;
            List <ShipModel_Defender> defenders = _clsKoukuu.GetDefenders((!flag) ? true : false, all: true);

            for (int i = 0; i < _dicBakuraiModel[type].Length; i++)
            {
                if (_dicBakuraiModel[type][i] == null)
                {
                    continue;
                }
                ShipModel_Defender defender = _dicBakuraiModel[type][i].Defender;
                switch (_dicBakuraiModel[type][i].GetHitState())
                {
                case BattleHitStatus.Normal:
                    if (_dicHitState[key][defender.Index] != HpHitState.Critical)
                    {
                        _dicHitState[key][defender.Index] = HpHitState.Hit;
                    }
                    break;

                case BattleHitStatus.Clitical:
                    _dicHitState[key][defender.Index] = HpHitState.Critical;
                    break;

                case BattleHitStatus.Miss:
                    if (_dicHitState[key][defender.Index] == HpHitState.None)
                    {
                        _dicHitState[key][defender.Index] = HpHitState.Miss;
                    }
                    break;
                }
            }
            for (int j = 0; j < num; j++)
            {
                int             damage = _clsKoukuu.GetAttackDamage(defenders[j].TmpId)?.GetDamage() ?? (-1);
                BattleHitStatus status = (_dicHitState[key][j] != HpHitState.Miss) ? ((_dicHitState[key][j] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss;
                _battleHpGauges.Init();
                _battleHpGauges.SetGauge(j, flag, isLight: true, isT: false, isNumber: false);
                if (flag)
                {
                    _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false);
                }
                else
                {
                    _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false);
                }
            }
        }
 public void CreateTorpedoWake()
 {
     ShipModel_BattleAll[] ships_f = BattleTaskManager.GetBattleManager().Ships_f;
     ShipModel_BattleAll[] ships_e = BattleTaskManager.GetBattleManager().Ships_e;
     this._setProtect();
     for (int i = 0; i < this._fBattleship.get_Count(); i++)
     {
         ShipModel_BattleAll shipModel_BattleAll = ships_f[i];
         ShipModel_Defender  attackTo            = this._clsRaigeki.GetAttackTo(shipModel_BattleAll);
         if (shipModel_BattleAll != null && attackTo != null)
         {
             RaigekiDamageModel attackDamage = this._clsRaigeki.GetAttackDamage(attackTo.Index, false);
             int arg_76_0 = (!attackDamage.GetProtectEffect(shipModel_BattleAll.TmpId)) ? attackTo.Index : 0;
             if (attackDamage.GetHitState(shipModel_BattleAll.TmpId) == BattleHitStatus.Miss)
             {
                 this._dicIsMiss.get_Item(FleetType.Enemy)[attackTo.Index] = true;
             }
             if (attackDamage.GetHitState(shipModel_BattleAll.TmpId) == BattleHitStatus.Clitical)
             {
                 this._dicIsCriticall.get_Item(FleetType.Enemy)[attackTo.Index] = true;
             }
             Vector3 injection = new Vector3(this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().x, 1f, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().z + 13f);
             Vector3 target    = new Vector3(this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().x, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().y + 0.5f, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().z);
             this._listPSTorpedoWake.Add(this._createTorpedo(injection, target, true));
             this._isTorpedoHit[0] = true;
         }
     }
     for (int j = 0; j < this._eBattleship.get_Count(); j++)
     {
         ShipModel_BattleAll shipModel_BattleAll2 = ships_e[j];
         ShipModel_Defender  attackTo2            = this._clsRaigeki.GetAttackTo(shipModel_BattleAll2);
         if (shipModel_BattleAll2 != null && attackTo2 != null)
         {
             RaigekiDamageModel attackDamage2 = this._clsRaigeki.GetAttackDamage(attackTo2.Index, true);
             int arg_233_0 = (!attackDamage2.GetProtectEffect(shipModel_BattleAll2.TmpId)) ? attackTo2.Index : 0;
             if (attackDamage2.GetHitState(shipModel_BattleAll2.TmpId) == BattleHitStatus.Miss)
             {
                 this._dicIsMiss.get_Item(FleetType.Friend)[attackTo2.Index] = true;
             }
             if (attackDamage2.GetHitState(shipModel_BattleAll2.TmpId) == BattleHitStatus.Clitical)
             {
                 this._dicIsCriticall.get_Item(FleetType.Friend)[attackTo2.Index] = true;
             }
             Vector3 injection2 = new Vector3(this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().x, 1f, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().z - 13f);
             Vector3 target2    = new Vector3(this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().x, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().y + 0.5f, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().z);
             this._listPSTorpedoWake.Add(this._createTorpedo(injection2, target2, true));
             this._isTorpedoHit[1] = true;
         }
     }
 }
Exemple #25
0
        public static Vector3 GetShipOffsPos(ShipModel_Defender model, DamageState_Battle damageState, MstShipGraphColumn iColumn)
        {
            if (model == null)
            {
                return(Vector3.zero);
            }
            bool isDamaged = false;

            if (damageState == DamageState_Battle.Tyuuha || damageState == DamageState_Battle.Taiha || damageState == DamageState_Battle.Gekichin)
            {
                isDamaged = true;
            }
            return(GetShipOffsPos(model.GetGraphicsMstId(), model.IsFriend(), isDamaged, iColumn));
        }
Exemple #26
0
        private void SetShipTextureRestore(ShipModel_Defender model)
        {
            bool damagedFlgAfterRecovery = model.DamagedFlgAfterRecovery;
            int  shipStandingTexID       = ShipUtils.GetShipStandingTexID(model.IsFriend(), model.IsPractice(), damagedFlgAfterRecovery);

            if (this._clsObject3D.mainTexture != null && this._clsObject3D.mainTexture.get_name() == shipStandingTexID.ToString())
            {
                return;
            }
            this._clsObject3D.mainTexture = ShipUtils.LoadTexture2Restore(model);
            this._clsObject3D.MakePixelPerfect();
            this._clsObject3D.get_transform().set_localScale(this._clsObject3D.get_transform().get_localScale() * (float)model.Offsets.GetScaleMag_InBattle(model.DamagedFlgAfter));
            this._clsObject3D.get_transform().set_localPosition(ShipUtils.GetShipOffsPos(model, damagedFlgAfterRecovery, MstShipGraphColumn.Foot));
        }
        private ProdSinking.SinkingType GetSinkingType(ShipModel_Defender model)
        {
            switch (model.DamageEventAfter)
            {
            case DamagedStates.Gekichin:
                return(ProdSinking.SinkingType.ProdSinking);

            case DamagedStates.Youin:
                return(ProdSinking.SinkingType.ProdSinkingRepairTeam);

            case DamagedStates.Megami:
                return(ProdSinking.SinkingType.ProdSinkingRepairGoddess);

            default:
                return(ProdSinking.SinkingType.None);
            }
        }
Exemple #28
0
        private void _createTorupedoWakes(bool isFriend)
        {
            int       num       = 0;
            FleetType key       = (!isFriend) ? FleetType.Enemy : FleetType.Friend;
            FleetType fleetType = isFriend ? FleetType.Enemy : FleetType.Friend;

            _torpedoWakes.InitProtectVector();
            for (int i = 0; i < _dicBakuraiModel[key].Length; i++)
            {
                if (_dicBakuraiModel[key][i] != null && _dicBakuraiModel[key][i].IsRaigeki())
                {
                    ShipModel_Defender defender = _dicBakuraiModel[key][i].Defender;
                    int     num2         = (!_dicBakuraiModel[key][i].GetProtectEffect()) ? defender.Index : 0;
                    bool    flag         = (_dicBakuraiModel[key][i].GetHitState() == BattleHitStatus.Miss) ? true : false;
                    float   num3         = (!flag) ? 0f : 1f;
                    Vector3 injectionVec = _setTorpedoVec(num, isFriend);
                    num++;
                    _dicHitType[fleetType][num2] = setHitType(fleetType, defender.Index, flag, HitType.Torpedo);
                    Vector3 vector;
                    if (isFriend)
                    {
                        Vector3 position  = _eBattleship[num2].transform.position;
                        float   x         = position.x + num3;
                        Vector3 position2 = _eBattleship[num2].transform.position;
                        vector = new Vector3(x, 0f, position2.z + 1f);
                    }
                    else
                    {
                        Vector3 position3 = _fBattleship[num2].transform.position;
                        float   x2        = position3.x + num3;
                        Vector3 position4 = _fBattleship[num2].transform.position;
                        vector = new Vector3(x2, 0f, position4.z - 1f);
                    }
                    Vector3 targetVec = vector;
                    if (_dicBakuraiModel[key][i].GetProtectEffect())
                    {
                        Vector3 vector2 = (!isFriend) ? _fBattleship[defender.Index].transform.position : _eBattleship[defender.Index].transform.position;
                        _torpedoWakes.SetProtectVector(num, (!isFriend) ? new Vector3(vector2.x - 2f, 0f, vector2.z) : new Vector3(vector2.x + 2f, 0f, vector2.z));
                    }
                    _torpedoWakes.AddInstantiates(BattleTaskManager.GetBattleField().transform, injectionVec, targetVec, isFull: true, i, 2f, isDet: false, flag);
                }
            }
        }
Exemple #29
0
        public List <ShipModel_Defender> GetDefenders(bool is_friend)
        {
            List <ShipModel_Defender> list = new List <ShipModel_Defender>();

            if (is_friend)
            {
                return(new List <ShipModel_Defender>());
            }
            for (int i = 0; i < _dmg_data.Count; i++)
            {
                if (_dmg_data[i] != null)
                {
                    ShipModel_Defender defender = _dmg_data[i].Defender;
                    if (defender.DmgStateBefore != DamageState_Battle.Gekichin && !defender.IsEscape())
                    {
                        list.Add(defender);
                    }
                }
            }
            return(list);
        }
        private void _addProtectShip(Dictionary <int, UIBattleShip> attackers, Dictionary <int, UIBattleShip> defenders, FleetType defType)
        {
            bool is_friend = defType == FleetType.Friend;

            ShipModel_BattleAll[] array = (defType != FleetType.Friend) ? BattleTaskManager.GetBattleManager().Ships_f : BattleTaskManager.GetBattleManager().Ships_e;
            for (int i = 0; i < attackers.get_Count(); i++)
            {
                ShipModel_BattleAll shipModel_BattleAll = array[i];
                ShipModel_Defender  attackTo            = this._clsRaigeki.GetAttackTo(shipModel_BattleAll);
                if (shipModel_BattleAll != null && attackTo != null)
                {
                    RaigekiDamageModel attackDamage = this._clsRaigeki.GetAttackDamage(attackTo.Index, is_friend);
                    if (attackDamage.GetProtectEffect(shipModel_BattleAll.TmpId))
                    {
                        this._isProtect[(int)defType] = true;
                        this._torpedoProtect.AddShipList(defenders.get_Item(0), defenders.get_Item(attackTo.Index), defType);
                        break;
                    }
                }
            }
        }