private bool IsValidChangeBattlePos()
    {
        BATTLE_POS_GRID info = BASE_BATTLE_POS_Manager.GetInstance().GetInfo(0);

        if (info == null)
        {
            return(false);
        }
        BATTLE_POS_GRID bATTLE_POS_GRID = new BATTLE_POS_GRID();

        bATTLE_POS_GRID.Set(info, 0, false);
        for (int i = 0; i < 6; i++)
        {
            NkSoldierInfo nkSoldierInfo = this.m_kBattlePosSolList[i];
            if (nkSoldierInfo != null && nkSoldierInfo.IsValid())
            {
                if (nkSoldierInfo.GetBattlePos() >= 0)
                {
                    NrCharKindInfo charKindInfo = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(nkSoldierInfo.GetCharKind());

                    if (charKindInfo != null)
                    {
                        if (!BASE_BATTLE_POS_Manager.GetInstance().IsEnablePos(charKindInfo, nkSoldierInfo.GetBattlePos(), bATTLE_POS_GRID))
                        {
                            return(false);
                        }
                        bATTLE_POS_GRID.SetBUID((short)nkSoldierInfo.GetSolPosIndex(), (byte)nkSoldierInfo.GetBattlePos(), charKindInfo.GetBattleSizeX(), charKindInfo.GetBattleSizeY());
                    }
                }
            }
        }
        return(true);
    }
예제 #2
0
 public static BASE_BATTLE_POS_Manager GetInstance()
 {
     if (BASE_BATTLE_POS_Manager.Instance == null)
     {
         BASE_BATTLE_POS_Manager.Instance = new BASE_BATTLE_POS_Manager(CDefinePath.BattlePosURL);
     }
     return(BASE_BATTLE_POS_Manager.Instance);
 }