コード例 #1
0
ファイル: GameBattleSkillUI.cs プロジェクト: foxgame/Sword
    public void setData(GameBattleUnit unit)
    {
        description.text = "";

        selection = GameDefine.INVALID_ID;

        for (int i = 0; i < GameDefine.MAX_SLOT; i++)
        {
            slots[i].clear();

            if (unit.Skill[i] == GameDefine.INVALID_ID)
            {
                continue;
            }

            GameSkill m = GameSkillData.instance.getData(unit.Skill[i]);

            slots[i].setData(m);
            slots[i].enable(unit.canUseSkill(m));

            if (i == 0)
            {
                select(0);
            }
        }
    }
コード例 #2
0
 public void updateData(GameBattleUnit battleUnit)
 {
     unitUIStage.updateData(battleUnit);
     unitUIInfo.updateData(battleUnit);
     unitUIItem.updateData(battleUnit);
     unitUISkill.updateData(battleUnit);
 }
コード例 #3
0
    public void showItem(GameItem m, GameBattleUnit u, GameBattleAttackMapDirection dir, List <GameBattleAttackResultItem> ri, List <GameBattleAttackResultSkill> r, OnEventOver over)
    {
        clear();

        item  = m;
        skill = null;

        unit        = u;
        direction   = dir;
        onEventOver = over;

        resultItem = ri;
        result     = r;

        GameUserData.instance.LastItemID = item.ID;

        if (item.UseSkillID != GameDefine.INVALID_ID)
        {
            skill = GameSkillData.instance.getData(item.UseSkillID);

            showSkill(skill, u, dir, r, over);
        }
        else
        {
            onAttackOverItem();
        }
    }
コード例 #4
0
    public void addExpSkill(GameBattleUnit unit, int hp)
    {
        if (!IsUser ||
            IsKilled ||
            isSummon ||
            unit == null)
        {
            return;
        }

        int l = LV - unit.LV;

        if (l > 10)
        {
            l = 10;
        }

        if (l < -10)
        {
            l = -10;
        }

        float f = ((float)hp / unit.HPMax);

        float exp = 200 * (1.0f - l * 0.1f) * f;

        if (exp < 1.0f)
        {
            exp = 1.0f;
        }

//        exp = 500;

        tempExp += (short)exp;
    }
コード例 #5
0
ファイル: GameBattleSelection.cs プロジェクト: foxgame/Sword
 public void clearSelection()
 {
     if (selectionUnit != null)
     {
         selectionUnit.clearSelection();
         selectionUnit = null;
     }
 }
コード例 #6
0
    void updateAttackSelection()
    {
        if (!GameBattleUnitAttackSelection.instance.IsShow)
        {
            return;
        }

        if (confirm)
        {
            confirm = false;

            //attack

            if (!GameBattleUnitAttackSelection.instance.checkCell(GameBattleCursor.instance.PosX,
                                                                  GameBattleCursor.instance.PosY))
            {
                return;
            }

            GameBattleUnit defencer = GameBattleUnitManager.instance.getUnit(GameBattleCursor.instance.PosX,
                                                                             GameBattleCursor.instance.PosY);

            GameBattleUnit attacker = GameBattleSelection.instance.SelectionUnit;

            if (defencer != null && attacker != null)
            {
                if (attacker.UnitCampType != defencer.UnitCampType)
                {
                    GameTouchCenterUI.instance.unShowUI();

                    GameBattleAttackResult.instance.PhysicalAttack(attacker, defencer, GameBattleAttackResultSide.Right, onAttackOver);

                    attacker.setDirection(defencer.PosX, defencer.PosY);
                    attacker.move();

                    GameBattleCursor.instance.unShow();
                    GameBattleUnitAttackSelection.instance.unShow();
                    GameBattleUnitActionUI.instance.unShowFade();
                }
            }

            return;
        }

        if (cancel)
        {
            cancel = false;

            GameBattleCursor.instance.unShow();
            GameBattleUnitAttackSelection.instance.unShow();

            GameBattleUnitActionUI.instance.show();
            GameBattleUnitActionUI.instance.enable(true);
            GameBattleUnitActionUI.instance.showFade();

            return;
        }
    }
コード例 #7
0
    public void setAttackAI(GameBattleUnit unit, int x, int y)
    {
        attackDirection = GameBattleAttackMapDirection.Count;
        attackUnits.Clear();

        attackUnits.Add(unit);

        attackCell.x = x;
        attackCell.y = y;
    }
コード例 #8
0
    public void showRes(List <GameBattleAttackResultSkill> r, OnEventOver over)
    {
        skill       = null;
        unit        = null;
        result      = r;
        direction   = GameBattleAttackMapDirection.Count;
        onEventOver = over;

        onAttackOver();
    }
コード例 #9
0
ファイル: GameUnitUISkill.cs プロジェクト: foxgame/Sword
    public void updateData(GameBattleUnit battleUnit)
    {
        clear();

        for (int i = 0; i < GameDefine.MAX_SLOT; i++)
        {
            GameSkill m = GameSkillData.instance.getData(battleUnit.Skill[i]);

            slot[i].setData(m);
        }
    }
コード例 #10
0
    public void showSkillMap(GameSkill sk, GameBattleUnit u, GameBattleAttackMapDirection dir, List <GameBattleAttackResultSkill> r, OnEventOver over)
    {
        clear();

        skill       = sk;
        unit        = u;
        result      = r;
        direction   = dir;
        onEventOver = over;

        GameUserData.instance.LastSkillID = skill.ID;

        //         string path = "Prefab/Sprite/man" + GameDefine.getString3( u.Sprite ) + "/" +
        //     GameDefine.getString3( u.Sprite );
        //         path += ( m.BattleSprite > 0 ? "-" + m.BattleSprite : "" );
        //         path += "sm";
        //
        //         GameObject obj = Instantiate<GameObject>( Resources.Load<GameObject>( path ) );
        //         GameAnimation attackerAnimation = obj.GetComponent<GameAnimation>();
        //         Transform trans = obj.transform;
        //         trans.SetParent( transform );
        //         trans.localScale = Vector3.one;
        //         trans.localPosition = Vector3.zero;
        //
        //         transform.localPosition = new Vector3( GameSceneMovement.instance.posXReal ,
        //             GameSceneMovement.instance.posYReal + GameBattleManager.instance.LayerHeight ,
        //             transform.localPosition.z );
        //
        //         float x = GameCameraManager.instance.sceneWidth / GameDefine.SCENE_WIDTH;
        //         transform.localScale = new Vector3( x , 1.0f , 1.0f );
        //
        //         if ( dir != GameBattleAttackMapDirection.Count )
        //         {
        //             int c = attackerAnimation.safHead.count3[ 0 ];
        //             int f = c * (int)dir;
        //
        //             attackerAnimation.playAnimation( f , f + c , false , onAttackOver );
        //         }
        //         else
        //         {
        //             attackerAnimation.playAnimation( 0 , GameDefine.INVALID_ID , false , onAttackOver );
        //         }

        if (skill.AttackRangeType == GameAttackRangeType.Line)
        {
            GameBattleSceneMovement.instance.moveTo(unit.PosX - GameCameraManager.instance.xCell,
                                                    unit.PosY - GameCameraManager.instance.yCell, 50, 50, onStartMoveOver);
        }
        else
        {
            GameBattleSceneMovement.instance.moveTo(GameBattleCursor.instance.PosX - GameCameraManager.instance.xCell,
                                                    GameBattleCursor.instance.PosY - GameCameraManager.instance.yCell, 50, 50, onStartMoveOver);
        }
    }
コード例 #11
0
ファイル: GameUnitUIItem.cs プロジェクト: foxgame/Sword
    public void updateData(GameBattleUnit battleUnit)
    {
        clear();

        for (int i = 0; i < GameDefine.MAX_SLOT; i++)
        {
            GameItem item = GameItemData.instance.getData(battleUnit.Items[i]);

            bool b = (battleUnit.AccessorySlot == i || battleUnit.ArmorSlot == i || battleUnit.WeaponSlot == i);

            slot[i].setData(item, b);
        }
    }
コード例 #12
0
    void onItemOver()
    {
        GameTouchCenterUI.instance.showUI();

        GameBattleCursor.instance.show();

        GameBattleUnit a = GameBattleSelection.instance.SelectionUnit;

        a.action();

        GameBattleSelection.instance.clearSelection();

        clearInput();
    }
コード例 #13
0
    void updateSkillUI()
    {
        if (!GameBattleSkillUI.instance.IsShow)
        {
            return;
        }

        if (confirm)
        {
            confirm = false;

            skill = GameBattleSkillUI.instance.getSelectionSkill();

            if (skill == null)
            {
                return;
            }

            GameBattleUnit unit = GameBattleSelection.instance.SelectionUnit;

            GameBattleUnitSkillSelection.instance.show(unit.PosX, unit.PosY, skill, unit.UnitCampType, true);

            GameBattleSkillUI.instance.unShowFade();

            GameBattleCursor.instance.moveTo(GameBattleUnitSkillSelection.instance.AttackCell.x,
                                             GameBattleUnitSkillSelection.instance.AttackCell.y,
                                             GameBattleCursor.SpeedX, GameBattleCursor.SpeedY,
                                             true,
                                             onCursorMoveOver);

            return;
        }

        if (cancel)
        {
            cancel = false;

            GameBattleSkillUI.instance.unShowFade();

            GameBattleUnitActionUI.instance.show();
            GameBattleUnitActionUI.instance.enable(true);
            GameBattleUnitActionUI.instance.showFade();

            return;
        }

        moveSkillUI();
    }
コード例 #14
0
    public bool check(GameBattleUnit unit, OnEventOver over)
    {
        GameBattleJudge judge = GameBattleManager.instance.ActiveBattleStage.Judge;

        //         GameBattleEventManager.instance.showEvent( 0 , 0 , over );
        //
        //         return true;

        if (unit.KillEvent != GameDefine.INVALID_ID)
        {
            GameBattleEventManager.instance.showEvent(unit.KillEvent, 0, over);
            return(true);
        }

        return(false);
    }
コード例 #15
0
ファイル: GameBattlePathFinder.cs プロジェクト: foxgame/Sword
    public bool isBlockPos(int x, int y, byte bc, GameBattleUnit unit)
    {
        checkBlock = bc;

        if (x < 0 || y < 0 || x >= maxX || y >= maxY)
        {
            return(true);
        }

        if (GameBattleUnitManager.instance.getUnit(x, y, unit) != null)
        {
            return(true);
        }

        return(isBlock(mapData[getIndex(x, y)]));
    }
コード例 #16
0
    void onMoveOver()
    {
        GameTouchCenterUI.instance.showUI();

        isMoving = false;

        GameBattleUnit a = GameBattleSelection.instance.SelectionUnit;

        GameBattleUnitActionUI.instance.show(false, a.canUseSkill());
        GameBattleUnitActionUI.instance.setPos(GameBattleCursor.instance.PosX,
                                               GameBattleCursor.instance.PosY);
        GameBattleUnitActionUI.instance.showFade();

        GameBattleCursor.instance.unShow();

        clearInput();
    }
コード例 #17
0
    public void show(GameBattleUnit battleUnit)
    {
        GameBattleUserLeftUI.instance.unShowFade();
        GameBattleUserRightUI.instance.unShowFade();

        userID = battleUnit.UnitID;

        show();

        updateData(battleUnit);

        unitUIInfo.gameObject.SetActive(true);
        unitUIItem.gameObject.SetActive(false);
        unitUISkill.gameObject.SetActive(false);

        updateAnimation();
    }
コード例 #18
0
    public void updateData(GameBattleUnit battleUnit)
    {
        clear();

        GameUnit gameUnit = GameUnitData.instance.getData(battleUnit.UnitID);

        atkText.text = GameDefine.getBigInt(battleUnit.PhysicalAttack.ToString());
        defText.text = GameDefine.getBigInt(battleUnit.Defence.ToString());
        magText.text = GameDefine.getBigInt(battleUnit.MagicAttack.ToString());
        spdText.text = GameDefine.getBigInt(battleUnit.Speed.ToString());

        for (int i = 0; i <= (int)GameAttributeType.Dark; i++)
        {
            int ad = battleUnit.AttributeDefence[i];

            if (ad > 100)
            {
                ad = 100;
            }

            if (ad < -100)
            {
                ad = -100;
            }

            if (ad > 0)
            {
                red[i].gameObject.SetActive(false);
                blue[i].gameObject.SetActive(true);

                red[i].anchoredPosition  = new Vector2(-1.5f - width, 0.0f);
                blue[i].anchoredPosition = new Vector2(-1.5f - width * (1.0f - ad / 100.0f), 0.0f);
            }
            else
            {
                red[i].gameObject.SetActive(true);
                blue[i].gameObject.SetActive(false);

                blue[i].anchoredPosition = new Vector2(-1.5f + width, 0.0f);
                red[i].anchoredPosition  = new Vector2(-1.5f - width * (1.0f + ad / 100.0f), 0.0f);
            }

            textTypes[i].text = GameDefine.getBigInt(Mathf.Abs(battleUnit.AttributeDefence[i]).ToString());
        }
    }
コード例 #19
0
    void onCheckUserEventOver()
    {
        GameBattleCursor.instance.show();

        GameBattleUnit unit = GameBattleUnitManager.instance.firstUser();

        if (unit != null)
        {
            GameBattleInput.instance.lastUnitID = unit.UnitID;

            GameBattleCursor.instance.moveTo(unit.PosX, unit.PosY,
                                             GameBattleCursor.SpeedX, GameBattleCursor.SpeedY,
                                             true,
                                             onMoveCursorOver);
        }

        GameBattleInput.instance.Pause = false;
    }
コード例 #20
0
    public GameBattleUnit summonUnit(GameBattleUnit u, int id, int x, int y)
    {
        GameBattleUnit battleUnit = getUnitByID(id);

        if (battleUnit == null)
        {
            return(null);
        }

        if (battleUnit.IsShow || battleUnit.IsKilled)
        {
            return(null);
        }

        GameUnit unit = GameUnitData.instance.getData(battleUnit.UnitID);

        battleUnit.IsShow   = true;
        battleUnit.IsSummon = true;

        GameUnitBase unitBaseU = u.getUnitBase();
        GameUnitBase unitBase  = battleUnit.getUnitBase();

        unitBase.LV = unitBaseU.LV;

        unitBase.HP  = (short)(unitBaseU.HP * unit.HP / 100.0f);
        unitBase.MP  = (short)(unitBaseU.MP * unit.MP / 100.0f);
        unitBase.Str = (short)(unitBaseU.Str * unit.Str / 100.0f);
        unitBase.Vit = (short)(unitBaseU.Vit * unit.Vit / 100.0f);
        unitBase.Avg = (short)(unitBaseU.Avg * unit.Avg / 100.0f);
        unitBase.Int = (short)(unitBaseU.Int * unit.Int / 100.0f);
        unitBase.Luk = (short)(unitBaseU.Luk * unit.Luk / 100.0f);

        battleUnit.updateUnitData();

        battleUnit.initHPMP();
        battleUnit.clearMove();

        battleUnit.setPos(x, y);
        battleUnit.updateAnimation(GameAnimationDirection.South);
        battleUnit.updateAlive();

        return(battleUnit);
    }
コード例 #21
0
    void onMoveOver()
    {
        clearJumpHP();
        clear();

        jumpHPlist.Clear();

        if (onEventOver != null)
        {
            onEventOver();
        }

        onEventOver = null;
        skill       = null;
        item        = null;
        unit        = null;
        result      = null;
        direction   = GameBattleAttackMapDirection.Count;
    }
コード例 #22
0
ファイル: GameLevelUpUI.cs プロジェクト: foxgame/Sword
    public void show(OnEventOver over, GameBattleUnit unit, GameUnitLevelUp lv)
    {
        onEventOver = over;

        show();

        level0.text = GameDefine.getBigInt((unit.LV - 1).ToString());
        level1.text = GameDefine.getBigInt((unit.LV).ToString());

        hp0.text = GameDefine.getBigInt(unit.HPMax.ToString());
        hp1.text = GameDefine.getBigInt((unit.HPMax + lv.HP).ToString());

        mp0.text = GameDefine.getBigInt(unit.MPMax.ToString());
        mp1.text = GameDefine.getBigInt((unit.MPMax + lv.MP).ToString());

        str0.text = GameDefine.getBigInt(unit.Str.ToString());
        str1.text = GameDefine.getBigInt((unit.Str + lv.StrBase + lv.StrRand).ToString());

        vit0.text = GameDefine.getBigInt(unit.Vit.ToString());
        vit1.text = GameDefine.getBigInt((unit.Vit + lv.VitBase + lv.VitRand).ToString());

        int0.text = GameDefine.getBigInt(unit.Int.ToString());
        int1.text = GameDefine.getBigInt((unit.Int + lv.IntBase + lv.IntRand).ToString());

        avg0.text = GameDefine.getBigInt(unit.Avg.ToString());
        avg1.text = GameDefine.getBigInt((unit.Avg + lv.AvgBase + lv.AvgRand).ToString());

        luk0.text = GameDefine.getBigInt(unit.Luk.ToString());
        luk1.text = GameDefine.getBigInt((unit.Luk + lv.LukBase + lv.LukRand).ToString());

        if (lv.Skill[0] != null)
        {
            GameSkill m = GameSkillData.instance.getData(lv.Skill[0].SkillID);
            skill.text = m.Name;
        }
        else
        {
            skill.text = "";
        }

        time = 0.0f;
    }
コード例 #23
0
    public void showUnits(int e)
    {
        GameBattleStage stage = GameBattleManager.instance.ActiveBattleStage;

        for (int i = 0; i < stage.Man.Length; i++)
        {
            GameBattleMan man = stage.Man[i];

            if (man.EventParm1 == e)
            {
                GameBattleUnit unit = GameBattleUnitManager.instance.getUnit(i);

                GameUnitMove unitMove = GameUnitMoveTypeData.instance.getData(unit.MoveType);

                GameBattleUnit unit1 = GameBattleUnitManager.instance.getUnit(unit.PosX, unit.PosY);

                if (unit != unit1 &&
                    unit1 != null)
                {
                    GameBattlePathFinder.instance.findNearPos(unit.PosX, unit.PosY, unitMove.block);

                    unit.setPos(GameBattlePathFinder.instance.nearPosX,
                                GameBattlePathFinder.instance.nearPosY);
                }

//                 if ( GameBattlePathFinder.instance.isBlockPos( unit.PosX , unit.PosY , unitMove.block , unit ) )
//                 {
//                     GameBattlePathFinder.instance.findNearPos( unit.PosX , unit.PosY , unitMove.block );
//
//                     unit.setPos( GameBattlePathFinder.instance.nearPosX ,
//                         GameBattlePathFinder.instance.nearPosY );
//                 }

                unit.IsShow = true;

                unit.updateAlive();
                unit.playAnimationBattle(GameAnimationType.Stand,
                                         GameAnimationDirection.South, null);
                unit.updateInteam();
            }
        }
    }
コード例 #24
0
    public void show(GameBattleUnit unit, bool top)
    {
        show();

#if (UNITY_ANDROID || UNITY_IPHONE)
        top = true;
#endif

        trans.anchoredPosition = top ? new Vector2(0.0f, 166.0f + GameCanvasScale.instance.Height - GameDefine.SCENE_HEIGHT) : Vector2.zero;

        text.text = unit.Name;

        hp.text      = GameDefine.getBigInt(unit.HP.ToString(), true);
        hpMax.text   = GameDefine.getBigInt(unit.HPMax.ToString(), true);
        mp.text      = GameDefine.getBigInt(unit.MP.ToString(), true);
        mpMax.text   = GameDefine.getBigInt(unit.MPMax.ToString(), true);
        move.text    = GameDefine.getBigInt(unit.Move.ToString());
        moveMax.text = GameDefine.getBigInt(unit.MoveMax.ToString());

        showFade();
    }
コード例 #25
0
ファイル: GameBattlePathFinder.cs プロジェクト: foxgame/Sword
    public bool isBlock(int x, int y)
    {
        int i = getIndex(x, y);

        if (i == GameDefine.INVALID_ID)
        {
            return(true);
        }

//        if ( checkUnit )
//        {
        GameBattleUnit unit = GameBattleUnitManager.instance.getUnit(x, y);

        if (campType != GameUnitCampType.Count && unit != null && unit.UnitCampType != campType)
        {
            return(true);
        }
//        }

        return(isBlock(mapData[getIndex(x, y)]));
    }
コード例 #26
0
    public GameBattleUnit reliveSummonUnit(int x, int y)
    {
        GameBattleUnit unit = getKilledSummonUnit();

        if (unit == null)
        {
            return(null);
        }

        unit.IsShow   = true;
        unit.IsKilled = false;

        unit.addHP(1);
        unit.clearMove();

        unit.setPos(x, y);
        unit.updateAnimation(GameAnimationDirection.South);
        unit.updateAlive();

        return(unit);
    }
コード例 #27
0
    void onCursorMoveOver()
    {
        GameBattleUnit unit = GameBattleUnitManager.instance.getUnit(GameBattleCursor.instance.PosX,
                                                                     GameBattleCursor.instance.PosY);

        if (unit != null)
        {
            bool btop = (GameBattleCursor.instance.PosY - GameBattleSceneMovement.instance.PosY >=
                         GameCameraManager.instance.yOffsetCell);

            GameBattleUserLeftUI.instance.show(unit, btop);
            GameBattleUserRightUI.instance.show(unit, btop);
        }
        else
        {
            GameBattleUserLeftUI.instance.unShowFade();
            GameBattleUserRightUI.instance.unShowFade();
        }

        clearInput();
    }
コード例 #28
0
    public void show(GameBattleUnit unit, bool top)
    {
        show();

#if (UNITY_ANDROID || UNITY_IPHONE)
        top = true;
#endif

        trans.anchoredPosition = top ? new Vector2(0.0f, 166.0f + GameCanvasScale.instance.Height - GameDefine.SCENE_HEIGHT) : Vector2.zero;

        attack.text  = GameDefine.getBigInt(unit.PhysicalAttack.ToString());
        defence.text = GameDefine.getBigInt(unit.Defence.ToString());
        lv.text      = GameDefine.getBigInt(unit.LV.ToString());
        exp.text     = GameDefine.getBigInt(unit.EXP.ToString());

        effect0.SetActive(unit.checkEffect(GameSkillResutlEffect.StrUp));
        effect1.SetActive(unit.checkEffect(GameSkillResutlEffect.VitUp));
        effect2.SetActive(unit.checkEffect(GameSkillResutlEffect.IntUp));
        effect3.SetActive(unit.checkEffect(GameSkillResutlEffect.MoveUp));

        showFade();
    }
コード例 #29
0
    bool isClose1(List <Cell> list, int x, int y, GameUnitCampType type, bool fly)
    {
        GameBattleUnit unit = GameBattleUnitManager.instance.getUnit(x, y);

        if (!fly && unit != null)
        {
            if (unit.IsAlive && unit.UnitCampType != type)
            {
                return(true);
            }
        }

        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].x == x && list[i].y == y)
            {
                return(true);
            }
        }

        return(false);
    }
コード例 #30
0
    public void showSkill(GameSkill m, GameBattleUnit u, GameBattleAttackMapDirection dir, List <GameBattleAttackResultSkill> r, OnEventOver over)
    {
        clear();

        skill = m;
        item  = null;

        unit        = u;
        result      = r;
        direction   = dir;
        onEventOver = over;

        GameUserData.instance.LastSkillID = skill.ID;

        string path = "Prefab/Misc/Mag_misc";

        GameObject    obj           = Instantiate <GameObject>(Resources.Load <GameObject>(path));
        GameAnimation gameAnimation = obj.GetComponent <GameAnimation>();

        gameAnimation.offsetX = GameDefine.BATTLE_OFFSET_X;
        gameAnimation.offsetY = GameDefine.BATTLE_OFFSET_Y - 18;

        unit.playAnimationBattle(GameAnimationType.Skill, u.Direction, null);

        Transform trans = obj.transform;

        trans.SetParent(transform);
        trans.localScale    = Vector3.one;
        trans.localPosition = Vector3.zero;

        transform.localPosition = new Vector3(unit.PosBattleX,
                                              unit.PosBattleY + GameBattleManager.instance.LayerHeight,
                                              transform.localPosition.z);

        gameAnimation.playAnimation(1, GameDefine.INVALID_ID, false, onStartOver);
    }