コード例 #1
0
 public void SetOver(NmBattleGrid kOverGrid)
 {
     if (Battle.BATTLE == null)
     {
         return;
     }
     if (Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_PLUNDER || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_INFINITY)
     {
         return;
     }
     if (null != this.mMouseOver && this.mMouseOver != kOverGrid)
     {
         if (!this.mMouseOver.IsSelectChar())
         {
             this.mMouseOver.SetMode(E_RENDER_MODE.NORMAL);
         }
         this.mMouseOver.CheckState();
     }
     if (kOverGrid && kOverGrid.ALLY == Battle.BATTLE.MyAlly)
     {
         this.mMouseOver = kOverGrid;
         if (this.mMouseOver.IsSelectChar() && Battle.BATTLE.m_iBattleSkillIndex == -1)
         {
             this.mMouseOver.SetMode(E_RENDER_MODE.ACTIVE_SELECT);
         }
         else if (this.mMouseOver.IsSelectChar() && Battle.BATTLE.m_iBattleSkillIndex != -1)
         {
             this.mMouseOver.SetMode(E_RENDER_MODE.SKILL);
         }
         else
         {
             this.mMouseOver.SetMode(E_RENDER_MODE.OVER);
         }
     }
 }
コード例 #2
0
    public static NmBattleGrid Create(eBATTLE_ALLY eAlly, short nStartPosIndex, short BUID, Vector3 Pos, int index)
    {
        string     name       = string.Format("GRID_{0}", index);
        GameObject gameObject = new GameObject(name);

        if (gameObject == null)
        {
            gameObject = new GameObject("NO_CELL");
        }
        Pos.y = NrTSingleton <NrTerrain> .Instance.SampleHeight(Pos);

        gameObject.transform.position = Pos;
        NmBattleGrid nmBattleGrid = gameObject.AddComponent <NmBattleGrid>();

        nmBattleGrid.Make(eAlly, nStartPosIndex, BUID, index);
        return(nmBattleGrid);
    }
コード例 #3
0
 public void SetGridChangePosMode(bool bOn, eBATTLE_ALLY Ally, short nStartPosIndex)
 {
     if (bOn)
     {
         List <NmBattleGrid> battleGridList = this.GetBattleGridList(Ally, nStartPosIndex);
         if (battleGridList == null)
         {
             return;
         }
         for (int i = 0; i < battleGridList.Count; i++)
         {
             NmBattleGrid nmBattleGrid = battleGridList[i];
             if (!(nmBattleGrid == null))
             {
                 if (nmBattleGrid.mMode == E_RENDER_MODE.DISABLE)
                 {
                     nmBattleGrid.SetMode(E_RENDER_MODE.CHANGEPOS);
                 }
             }
         }
     }
     else
     {
         List <NmBattleGrid> battleGridList2 = this.GetBattleGridList(Ally, nStartPosIndex);
         if (battleGridList2 == null)
         {
             return;
         }
         for (int j = 0; j < battleGridList2.Count; j++)
         {
             NmBattleGrid nmBattleGrid2 = battleGridList2[j];
             if (!(nmBattleGrid2 == null))
             {
                 if (nmBattleGrid2.mMode == E_RENDER_MODE.CHANGEPOS)
                 {
                     nmBattleGrid2.SetMode(E_RENDER_MODE.DISABLE);
                 }
             }
         }
         if (Battle.BATTLE.m_iBattleSkillIndex == -1)
         {
             this.ActiveAttackGridCanTarget();
         }
     }
 }
コード例 #4
0
    private void UpdateGrid(eBATTLE_ALLY Ally, short nStartPosIndex, BATTLE_POS_GRID kPosGrid)
    {
        List <NmBattleGrid> list = this.GetBattleGridList(Ally, nStartPosIndex);

        if (list == null)
        {
            return;
        }
        if (list.Count != kPosGrid.m_veBUID.Length)
        {
            KeyValuePair <eBATTLE_ALLY, int> key = new KeyValuePair <eBATTLE_ALLY, int>(Ally, (int)nStartPosIndex);
            Transform child = NkUtil.GetChild(this.mRoot.transform, string.Format("GRID{0}_{1}", (int)Ally, nStartPosIndex));
            if (child != null)
            {
                UnityEngine.Object.Destroy(child.gameObject);
            }
            this.m_BattlePosGrid.Remove(key);
            this.m_BattlePosGridSize.Remove(key);
            list = new List <NmBattleGrid>();
            GameObject gameObject = TBSUTIL.Attach(string.Format("GRID{0}_{1}", (int)Ally, nStartPosIndex), this.mRoot);
            for (int i = 0; i < kPosGrid.mListPos.Length; i++)
            {
                Vector3      pos          = kPosGrid.mListPos[i];
                short        bUID         = kPosGrid.m_veBUID[i];
                NmBattleGrid nmBattleGrid = NmBattleGrid.Create(Ally, nStartPosIndex, bUID, pos, i);
                nmBattleGrid.gameObject.transform.parent = gameObject.transform;
                list.Insert(list.Count, nmBattleGrid);
            }
            this.m_BattlePosGridSize.Add(key, new Vector2((float)kPosGrid.m_nWidthCount, (float)kPosGrid.m_nHeightCount));
            this.m_BattlePosGrid.Add(key, list);
            return;
        }
        for (int i = 0; i < list.Count; i++)
        {
            NmBattleGrid nmBattleGrid2 = list[i];
            if (!(nmBattleGrid2 == null))
            {
                nmBattleGrid2.SetBUID(kPosGrid.m_veBUID[i]);
            }
        }
    }
コード例 #5
0
    private void Insert(eBATTLE_ALLY Ally, short nStartPosIndex, BATTLE_POS_GRID kPosGrid)
    {
        KeyValuePair <eBATTLE_ALLY, int> key = new KeyValuePair <eBATTLE_ALLY, int>(Ally, (int)nStartPosIndex);

        if (this.m_BattlePosGrid.ContainsKey(key))
        {
            this.UpdateGrid(Ally, nStartPosIndex, kPosGrid);
            return;
        }
        List <NmBattleGrid> list       = new List <NmBattleGrid>();
        GameObject          gameObject = TBSUTIL.Attach(string.Format("GRID{0}_{1}", (int)Ally, nStartPosIndex), this.mRoot);

        for (int i = 0; i < kPosGrid.mListPos.Length; i++)
        {
            Vector3      pos          = kPosGrid.mListPos[i];
            short        bUID         = kPosGrid.m_veBUID[i];
            NmBattleGrid nmBattleGrid = NmBattleGrid.Create(Ally, nStartPosIndex, bUID, pos, i);
            nmBattleGrid.gameObject.transform.parent = gameObject.transform;
            list.Insert(list.Count, nmBattleGrid);
        }
        this.m_BattlePosGridSize.Add(key, new Vector2((float)kPosGrid.m_nWidthCount, (float)kPosGrid.m_nHeightCount));
        this.m_BattlePosGrid.Add(key, list);
    }
コード例 #6
0
    private void GridInputMouse()
    {
        if (this.m_Battle.CastedTarget == null)
        {
            return;
        }
        if (this.m_Battle.CastedTarget.InputControlTrigger)
        {
            return;
        }
        if (NrTSingleton <FormsManager> .Instance.IsMouseOverForm())
        {
            return;
        }
        if (!this.m_Battle.CastedTarget.IsEnableMouseInput())
        {
            return;
        }
        NmBattleGrid nmBattleGrid   = null;
        bool         mouseButtonUp  = NkInputManager.GetMouseButtonUp(0);
        bool         mouseButtonUp2 = NkInputManager.GetMouseButtonUp(1);

        if (NkRaycast.Raycast(this.mc_kBattlePickLayer))
        {
            GameObject gameObject = NkRaycast.HIT.transform.gameObject;
            if (null != gameObject)
            {
                nmBattleGrid = gameObject.GetComponent <NmBattleGrid>();
                if (null != nmBattleGrid)
                {
                    eBATTLE_ALLY aLLY           = nmBattleGrid.ALLY;
                    short        sTARTPOS_INDEX = nmBattleGrid.STARTPOS_INDEX;
                    int          iNDEX          = nmBattleGrid.INDEX;
                    short        bUID           = nmBattleGrid.BUID;
                    NkBattleChar charByBUID     = NrTSingleton <NkBattleCharManager> .Instance.GetCharByBUID(bUID);

                    Vector3          pOINT            = NkRaycast.POINT;
                    BATTLESKILL_BASE bATTLESKILL_BASE = null;
                    int num = 0;
                    if (this.m_Battle.CastedTarget.m_iBattleSkillIndex >= 0 && this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_SKILL)
                    {
                        NkBattleChar nkBattleChar = this.m_Battle.CastedTarget.SelectBattleSkillChar();
                        if (nkBattleChar == null)
                        {
                            return;
                        }
                        int skillUnique = nkBattleChar.GetSoldierInfo().SelectBattleSkillByWeapon(this.m_Battle.CastedTarget.m_iBattleSkillIndex);
                        bATTLESKILL_BASE = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillBase(skillUnique);

                        if (bATTLESKILL_BASE == null)
                        {
                            return;
                        }
                        this.m_Battle.CastedTarget.GRID_MANAGER.SetSelectBattleSkillGrid();
                        if (bATTLESKILL_BASE.m_nSkillTargetType == 1 || bATTLESKILL_BASE.m_nSkillTargetType == 2)
                        {
                            num = 1;
                        }
                        else if (bATTLESKILL_BASE.m_nSkillTargetType == 3)
                        {
                            num = 2;
                        }
                        else if (bATTLESKILL_BASE.m_nSkillTargetType == 4)
                        {
                            num = 3;
                        }
                    }
                    if (this.m_Battle.CastedTarget.MyAlly != aLLY)
                    {
                        if (bATTLESKILL_BASE != null)
                        {
                            if ((num == 2 || num == 3) && bUID >= 0)
                            {
                                this.m_Battle.CastedTarget.GRID_MANAGER.ActiveBattleSkillGrid(aLLY, sTARTPOS_INDEX, iNDEX, bATTLESKILL_BASE.m_nSkillUnique);
                            }
                        }
                        if (mouseButtonUp)
                        {
                            if (this.m_Battle.CastedTarget.IsEmotionSet)
                            {
                                this.m_Battle.CastedTarget.Send_GS_BATTLE_EMOTICON_REQ(bUID);
                            }
                            else if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_ATTACK_LAND)
                            {
                                this.m_Battle.CastedTarget.Send_AttackLand_Order(pOINT);
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                            else if (this.m_Battle.CastedTarget.m_iBattleSkillIndex >= 0 && this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_SKILL)
                            {
                                if (num == 2 || num == 3)
                                {
                                    this.m_Battle.CastedTarget.GRID_MANAGER.ActiveBattleSkillGrid(aLLY, sTARTPOS_INDEX, iNDEX, bATTLESKILL_BASE.m_nSkillUnique);
                                    this.m_Battle.CastedTarget.Send_BattleSkill_Order(this.m_Battle.CastedTarget.m_iBattleSkillIndex, this.m_Battle.CastedTarget.SelectBattleSkillChar(), charByBUID, pOINT, (short)iNDEX);
                                    this.m_Battle.CastedTarget.Init_BattleSkill_Input(false);
                                    this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                                }
                                else
                                {
                                    Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("578"), SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE);
                                }
                            }
                            else if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_SEARCH)
                            {
                                NkBattleChar currentSelectChar = this.m_Battle.CastedTarget.GetCurrentSelectChar();
                                if (currentSelectChar != null)
                                {
                                }
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                            else
                            {
                                if (Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_PLUNDER || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_INFINITY)
                                {
                                    if (Battle.BATTLE.GetCheckTargetBt() && charByBUID != null && charByBUID.GetSoldierInfo().GetHP() > 0 && charByBUID.GetCharKindInfo().GetCharKind() != 916)
                                    {
                                        Battle.BATTLE.Send_GS_BATTLE_PLUNDER_AGGROADD_REQ(charByBUID.GetBUID());
                                        Battle.BATTLE.ClickCheckTargetBt();
                                        Battle.BATTLE.SetTargetBtDisCount();
                                        NrTSingleton <NkEffectManager> .Instance.AddEffect("FX_ATTACK_TARGET", charByBUID);
                                    }
                                }
                                else
                                {
                                    NkBattleChar currentSelectChar2 = this.m_Battle.CastedTarget.GetCurrentSelectChar();
                                    if (currentSelectChar2 != null && charByBUID != null)
                                    {
                                        this.m_Battle.CastedTarget.GRID_MANAGER.ActiveAttack(aLLY, sTARTPOS_INDEX, iNDEX, charByBUID);
                                        if (charByBUID.GetSoldierInfo().GetHP() > 0)
                                        {
                                            currentSelectChar2.OrderAttackReq(charByBUID, (short)iNDEX, nmBattleGrid.GetCenter());
                                        }
                                    }
                                }
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                        }
                    }
                    else
                    {
                        if (bATTLESKILL_BASE != null && (num == 1 || num == 3) && bUID >= 0)
                        {
                            this.m_Battle.CastedTarget.GRID_MANAGER.ActiveBattleSkillGrid(aLLY, sTARTPOS_INDEX, iNDEX, bATTLESKILL_BASE.m_nSkillUnique);
                        }
                        if (mouseButtonUp)
                        {
                            if (this.m_Battle.CastedTarget.IsEmotionSet)
                            {
                                this.m_Battle.CastedTarget.Send_GS_BATTLE_EMOTICON_REQ(bUID);
                            }
                            else if (this.m_Battle.CastedTarget.m_iBattleSkillIndex >= 0 && this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_SKILL)
                            {
                                if (num == 1 || num == 3)
                                {
                                    this.m_Battle.CastedTarget.GRID_MANAGER.ActiveBattleSkillGrid(aLLY, sTARTPOS_INDEX, iNDEX, bATTLESKILL_BASE.m_nSkillUnique);
                                    this.m_Battle.CastedTarget.Send_BattleSkill_Order(this.m_Battle.CastedTarget.m_iBattleSkillIndex, this.m_Battle.CastedTarget.SelectBattleSkillChar(), charByBUID, pOINT, (short)iNDEX);
                                    this.m_Battle.CastedTarget.Init_BattleSkill_Input(false);
                                    this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                                }
                            }
                            else if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_CHANGEPOS)
                            {
                                NkBattleChar currentSelectChar3 = this.m_Battle.CastedTarget.GetCurrentSelectChar();
                                if (currentSelectChar3 != null)
                                {
                                    int num2 = currentSelectChar3.OrderChangePosReq(sTARTPOS_INDEX, (short)iNDEX);
                                    if (num2 < 0)
                                    {
                                        if (num2 < -1)
                                        {
                                            Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("176"), SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
                                        }
                                        else
                                        {
                                            Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("404"), SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE);
                                        }
                                    }
                                }
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                            else if (charByBUID != null)
                            {
                                if (charByBUID.GetTurnState() == eBATTLE_TURN_STATE.eBATTLE_TURN_STATE_ENABLE)
                                {
                                    this.m_Battle.CastedTarget.SelectCharacter(bUID);
                                }
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                            else
                            {
                                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                            }
                        }
                        else if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_CHANGEPOS)
                        {
                            NkBattleChar currentSelectChar4 = this.m_Battle.CastedTarget.GetCurrentSelectChar();
                            if (currentSelectChar4 != null)
                            {
                                this.m_Battle.CastedTarget.GRID_MANAGER.ActiveChangePos(nmBattleGrid.ALLY, nmBattleGrid.STARTPOS_INDEX, currentSelectChar4.GetBUID(), (short)iNDEX);
                            }
                        }
                        else
                        {
                            this.m_Battle.CastedTarget.GRID_MANAGER.SetOver(nmBattleGrid);
                        }
                    }
                }
            }
        }
        if (mouseButtonUp2)
        {
            if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_CHANGEPOS)
            {
                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("402"), SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE);
            }
            else if (this.m_Battle.CastedTarget.REQUEST_ORDER == eBATTLE_ORDER.eBATTLE_ORDER_SKILL)
            {
                this.m_Battle.CastedTarget.REQUEST_ORDER = eBATTLE_ORDER.eBATTLE_ORDER_NONE;
                this.m_Battle.CastedTarget.Init_BattleSkill_Input(true);
            }
        }
        if (null == nmBattleGrid)
        {
            this.m_Battle.CastedTarget.GRID_MANAGER.SetOver(null);
            if (this.m_Battle.CastedTarget.m_iBattleSkillIndex < 0 && this.m_Battle.CastedTarget.REQUEST_ORDER != eBATTLE_ORDER.eBATTLE_ORDER_SKILL && this.m_Battle.CastedTarget.GetCurrentSelectChar() == null)
            {
                this.m_Battle.CastedTarget.GRID_MANAGER.InitAll();
            }
        }
    }