public void createPVPUnit()
    {
        //GameManager.me.player.state = Character.SHOOT;

        if (uiUnitSlot != null)
        {
            GameManager.replayManager.unitButtons[uiUnitSlot.slotIndex % 10] = true;
            return;
        }

        activeSkillState = UIPlayUnitSlot.STATE_ACTIVE_SKILL_COOLTIME;
//		if(uiUnitSlot != null) uiUnitSlot.activeSkillState = activeSkillState;

        if (_heroMon.isPlayerSide)
        {
            _v    = _heroMon.cTransformPosition;
            _v.x += 100;
            _v.y  = 1;

            ++UIPlayUnitSlot.summonPosIndex;
            if (UIPlayUnitSlot.summonPosIndex >= 12)
            {
                UIPlayUnitSlot.summonPosIndex = 0;
            }

            _v.z = MapManager.summonBottom + MapManager.mapSummonHeight * UIPlayUnitSlot.summonPos[UIPlayUnitSlot.summonPosIndex] / 11.0f;

            if (_v.x + 10 > GameManager.me.characterManager.monsterLeftLine)
            {
                _v.x = GameManager.me.characterManager.monsterLeftLine - 100;
            }
            if (_v.x <= StageManager.mapStartPosX.Get())
            {
                _v.x = StageManager.mapStartPosX + 50;
            }

            mon            = GameManager.me.mapManager.addMonsterToStage(infoData.transcendData, infoData.transcendLevel, true, null, unitData.id, _v);
            mon.aiUnitSlot = this;

            _heroMon.sp -= useSp;

            _v.y = 0.5f;

            resetCoolTime();

            if (uiUnitSlot != null)
            {
                mon.monsterUISlotIndex = uiUnitSlot.slotIndex;
                uiUnitSlot.resetCoolTime();
            }
        }
        else
        {
            _v    = _heroMon.cTransformPosition;
            _v.x -= 100;
            _v.y  = 1;

            ++summonPosIndex;
            if (summonPosIndex >= 12)
            {
                summonPosIndex = 0;
            }

            _v.z = MapManager.summonBottom + MapManager.mapSummonHeight * UIPlayUnitSlot.summonPos[summonPosIndex] / 11.0f;

            if ((_v.x - 10) < GameManager.me.characterManager.playerMonsterRightLine)
            {
                _v.x = GameManager.me.characterManager.playerMonsterRightLine + 100;
            }

            if (_v.x >= StageManager.mapEndPosX.Get())
            {
                _v.x = StageManager.mapEndPosX - 50;
            }

            mon            = GameManager.me.mapManager.addPVPPlayerUnitToStage(infoData.transcendData, infoData.transcendLevel, unitData.id, _v);
            mon.aiUnitSlot = this;
            _heroMon.sp   -= useSp;

            _v.y = 0.5f;

            resetCoolTime();
        }

                #if UNITY_EDITOR
        if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 0)
        {
            return;
        }
                #endif

        SoundData.play(UnitSlot.getSummonSoundByRare(unitData.rare));
        SoundData.playSummonSound(mon.monsterData.resource);

        GameManager.info.effectData[UnitSlot.getSummonEffectByRare(unitData.rare)].getEffect(-1000, _v, null, null, mon.summonEffectSize);        //GameManager.resourceManager.getInstantPrefabs("Effect/virtical 14");
    }
Example #2
0
    public void createUnit()
    {
                #if UNITY_EDITOR
//		if(BattleSimulator.nowSimulation == false) Log.log("createUnit : " + slotIndex);
                #endif

        spHpBar.cachedGameObject.SetActive(true);
        spHpBar.fillAmount = 1.0f;
        spHpBar.spriteName = NORMAL_GAUGE_COLOR;
        tfUseSp.enabled    = false;

        if (unitSlot.activeSkillData != null)
        {
            goActiveSkillContainer.SetActive(true);
            spFeverBackground.enabled = false;
            spFeverTouch.enabled      = false;
        }
        else
        {
            goActiveSkillContainer.SetActive(false);
        }

        unitSlot.coolTime         = unitSlot.maxCoolTime;
        _state                    = STATE_COOLTIME;
        unitSlot.activeSkillState = STATE_ACTIVE_SKILL_COOLTIME;

        //_player.state = Character.SHOOT;

        _v    = _player.cTransformPosition;
        _v.x += 100.0f;
        _v.y  = 1.0f;

        ++summonPosIndex;
        if (summonPosIndex >= 12)
        {
            summonPosIndex = 0;
        }

        _v.z = MapManager.summonBottom + MapManager.mapSummonHeight * summonPos[summonPosIndex] / 11.0f;

        if (_v.x + 10.0f > GameManager.me.characterManager.monsterLeftLine)
        {
            _v.x = GameManager.me.characterManager.monsterLeftLine - 100.0f;
        }
        if (_v.x <= StageManager.mapStartPosX)
        {
            _v.x = StageManager.mapStartPosX + 50.0f;
        }

#if UNITY_EDITOR
        if (UnitSkillCamMaker.instance.useUnitSkillCamMaker)
        {
            _v.x = 0.0f; _v.y = 1.0f; _v.z = 0.0f;
        }
#endif


        if (slotIndex >= 10)
        {
            switch (slotIndex % 10)
            {
            case 0:
                ++GameDataManager.instance.playSubData[UnitSlot.U1];
                break;

            case 1:
                ++GameDataManager.instance.playSubData[UnitSlot.U2];
                break;

            case 2:
                ++GameDataManager.instance.playSubData[UnitSlot.U3];
                break;

            case 3:
                ++GameDataManager.instance.playSubData[UnitSlot.U4];
                break;

            case 4:
                ++GameDataManager.instance.playSubData[UnitSlot.U5];
                break;
            }
        }
        else
        {
            switch (slotIndex % 10)
            {
            case 0:
                ++GameDataManager.instance.playData[UnitSlot.U1];
                break;

            case 1:
                ++GameDataManager.instance.playData[UnitSlot.U2];
                break;

            case 2:
                ++GameDataManager.instance.playData[UnitSlot.U3];
                break;

            case 3:
                ++GameDataManager.instance.playData[UnitSlot.U4];
                break;

            case 4:
                ++GameDataManager.instance.playData[UnitSlot.U5];
                break;
            }
        }

        mon = GameManager.me.mapManager.addMonsterToStage(transcendData, transcendLevel, true, null, unitData.id, _v);
        mon.monsterUISlotIndex = slotIndex;
        // 소환 방어력 증가

        _v.y = 0.5f;

        btn.isEnabled = false;

                #if UNITY_EDITOR
        if (BattleSimulator.nowSimulation)
        {
            return;
        }
                #endif

        SoundData.playSummonSound(mon.monsterData.resource);

        SoundData.play(UnitSlot.getSummonSoundByRare(unitData.rare));

        string unitSoundId = unitData.baseUnitId;
        if (unitSoundId.StartsWith("UN6"))
        {
            unitSoundId = "UN5" + unitSoundId.Substring(3);
        }

        switch (_player.playerData.characterId)
        {
        case Character.ID.LEO:
            SoundData.playVoice("L" + unitSoundId);
            break;

        case Character.ID.KILEY:
            SoundData.playVoice("K" + unitSoundId);
            break;

        case Character.ID.CHLOE:
            SoundData.playVoice("C" + unitSoundId);
            break;

        case Character.ID.LUKE:
            SoundData.playVoice("LK" + unitSoundId);
            break;
        }

        GameManager.info.effectData[UnitSlot.getSummonEffectByRare(unitData.rare)].getEffect(-1000, _v, null, null, mon.summonEffectSize);         //GameManager.resourceManager.getInstantPrefabs("Effect/virtical 14");
    }
    // 히어로 몬스터가 쓰는 메서드.
    public void create(float targetPosX = 0.0f, int nowIndex = 0, int totalIndex = 1)
    {
        // 쿨타임 무시!!!
        //if(canUse())
        {
            _v    = _heroMon.cTransformPosition;
            _posX = _heroMon.hitObject.x;
            _v.x  = _posX + targetPosX;

            if (totalIndex > 1)
            {
                //Log.logError("===",MapManager.mapSummonHeight , (float)nowIndex , (float)totalIndex , MapManager.mapSummonHeight , (float)(nowIndex + 1)  , (float)totalIndex, "MapManager.summonBottom : " + MapManager.summonBottom);
                //Log.log(MapManager.mapSummonHeight * ((float)nowIndex / (float)totalIndex), MapManager.mapSummonHeight * ((float)(nowIndex + 1)  * (float)totalIndex));

                _v.z  = (float)GameManager.inGameRandom.Range((int)(MapManager.mapSummonHeight * ((float)nowIndex / (float)totalIndex)), (int)(MapManager.mapSummonHeight * ((float)(nowIndex + 1) / (float)totalIndex)));
                _v.z += MapManager.summonBottom;

                if (_v.z >= 0.0f && _v.z < 30)
                {
                    _v.z = 30;
                }
                else if (_v.z <= 0.0f && _v.z > -30)
                {
                    _v.z = -30;
                }
            }
            else
            {
                _v.z = (float)GameManager.inGameRandom.Range((int)MapManager.summonBottom, (int)MapManager.summonTop);
                if (_v.z >= 0.0f && _v.z < 80)
                {
                    _v.z = 80;
                }
                else if (_v.z <= 0.0f && _v.z > -80)
                {
                    _v.z = -80;
                }
            }

            ////Debug.LogError("=== CREATE POSITION: " + _v);


            if (_v.x < GameManager.me.characterManager.playerMonsterRightLine)
            {
                _v.x = GameManager.me.characterManager.playerMonsterRightLine + 200.0f;
            }


            if (_v.x >= _posX)
            {
                _v.x = _posX;
            }

            Monster summonMon = GameManager.me.mapManager.addMonsterToStage(null, null, false, null, unitData.id, _v, unitData);
            _heroMon.sp -= useSp;
            _v.y         = 0.5f;

            SoundData.play(UnitSlot.getSummonSoundByRare(unitData.rare));

#if UNITY_EDITOR
            if (BattleSimulator.nowSimulation == false)
#endif
            {
                GameManager.info.effectData[SUMMON_EFFECT_ENEMY].getEffect(-1000, _v, null, null, summonMon.summonEffectSize);
            }
            //go.transform.parent = _heroMon.tf;
        }

        resetCoolTime();
    }