Exemple #1
0
    IEnumerator EndSequence(string team)
    {
        Debug.LogError("미니언데드카운트 :" + minionDeadCount);
        yield return(new WaitForSeconds(0.5f));

        // 상점이나 옵션 열려있으면 꺼버림
        var shop = GameObject.FindGameObjectWithTag("ShopCanvas");

        if (shop != null)
        {
            shop.SetActive(false);
        }

        var option = GameObject.FindGameObjectWithTag("OptionCanvas");

        if (option != null)
        {
            option.SetActive(false);
        }

        if (team.Equals("red"))
        {
            mainCam.SetTarget(NexusRed.transform);
            yield return(new WaitForSeconds(1f));

            //넥서스 꽝 -> 넥서스 파괴전에 레이즈 이벤트로 다 보내서 WinLose시스템 메세지 출력할것.
            NexusRed.GetComponent <SuppressorBehaviour>().bomb = true;
        }
        else if (team.Equals("blue"))
        {
            mainCam.SetTarget(NexusBlue.transform);
            //넥서스 꽝 -> 넥서스 파괴전에 레이즈 이벤트로 다 보내서 WinLose시스템 메세지 출력할것.
            yield return(new WaitForSeconds(1f));

            NexusBlue.GetComponent <SuppressorBehaviour>().bomb = true;
        }
        yield return(null);
    }
Exemple #2
0
    IEnumerator enemy_change()
    {
        for (int i = 0; i < enemy_arm.Count; i++)
        {
            if (enemy_arm[i] == null)
            {
                continue;
            }

            enemy_arm[i].active = true;
            cam.SetTarget(enemy_arm[i].transform);
            yield return(new WaitForSeconds(2.0f));

            enemy_arm[i].active = false;
            //enemy_arm[i].GetComponent<EnemyBehavior>().enabled = false;
        }
        turn_change();
        enemy_hadone = true;
    }
Exemple #3
0
    public void mueveUnidad(GameObject casilla)
    {
        if (editMode)
        {
            GameObject gObj = Instantiate(prefabUnidad, mapa.transform);
            gObj.transform.Translate(casilla.transform.localPosition);
            GuardaUnidad(gObj);
        }
        else if (unidadActual != null)
        {
            if (unidadActual.GetComponent <PathFinder>().CalculatePath(casilla))
            {
                setCross(unidadActual, casilla);
            }
            camara.SetTarget(unidadActual.transform);

            unidadActual = null;
        }
    }
Exemple #4
0
    //타겟팅 점화, 강타,
    private void Update()
    {
        if (isInGameScene)
        {
            if (chat.chatInput.IsActive())
            {
                return;
            }

            if (isIgniteClick)
            {
                if (isSmiteClick || isTeleportClick || Input.GetMouseButton(1))
                {
                    cursor.SetCursor(0, Vector2.zero);
                    isIgniteClick = false;
                    splatmanager.Cancel();
                    return;
                }
                else if (Input.GetMouseButtonDown(0))
                {
                    splatmanager.Cancel();
                    isIgniteClick = false;
                    Ignite();
                    cursor.SetCursor(0, Vector2.zero);
                }
            }
            if (isSmiteClick)
            {
                if (isIgniteClick || isTeleportClick || Input.GetMouseButton(1))
                {
                    cursor.SetCursor(0, Vector2.zero);
                    isSmiteClick = false;
                    splatmanager.Cancel();
                    return;
                }
                else if (Input.GetMouseButtonDown(0))
                {
                    splatmanager.Cancel();
                    isSmiteClick = false;
                    Smite();
                    cursor.SetCursor(0, Vector2.zero);
                }
            }
            if (isTeleportClick)
            {
                if (isIgniteClick || isSmiteClick || Input.GetMouseButton(1))
                {
                    cursor.SetCursor(0, Vector2.zero);
                    isTeleportClick = false;
                    return;
                }
                else if (Input.GetMouseButtonDown(0))
                {
                    TeleportDestinationSet();
                    isTeleportClick = false;
                    cursor.SetCursor(0, Vector2.zero);
                }
            }
        }
        if (isIgnite)
        {
            ImOnFire   = true;
            IgnteTime += Time.deltaTime;
            if (IgnteTime >= 1.0f)
            {
                IgnteTime = 0;
                IgnteDam += Mathf.FloorToInt(55 + (25 * Attackerlevel)) / 5;
                if (mybehav.HitMe((float)Mathf.FloorToInt(55 + (25 * Attackerlevel)) / 5, "FD", IgniteAtker, IgniteAtker.gameObject.name))
                {
                    if (ImOnFire)
                    {
                        ImOnFire  = false;
                        IgnteTime = 0;
                        IgnteDam  = 0;
                        ChampionData chdata = IgniteAtker.GetComponent <ChampionData>();
                        chdata.Kill_CS_Gold_Exp("", 0, this.transform.position);
                    }
                }
            }
            if (IgnteDam >= Mathf.FloorToInt(55 + (25 * Attackerlevel)))
            {
                IgnteDam  = 0;
                IgnteTime = 0;
                isIgnite  = false;
            }
        }

        if (isTeleportDestSet)//목표 설정후에
        {
            if (!Once)
            {
                curhp = ChampData.totalstat.Hp;
                Once  = true;
                SendEffect("Teleport", Player.transform.position, team, photonview.viewID);
                Ping.GetFxPool("Going", TeleportDestPos, false);
                if (Target.GetComponent <PhotonView>() != null)
                {
                    SendEffect("Teleport", Target.transform.position, team, photonview.viewID);
                }
                else
                {
                    SendEffect("Teleport", Target.transform.position, team);
                }
                AIPath.isStopped = true;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = true;
                }
            }
            TeleportTime -= Time.deltaTime;
            if (curhp > ChampData.totalstat.Hp)
            {
                if (fog.Count > 0)
                {
                    for (int i = 0; i < fog.Count; i++)
                    {
                        fog[i].stopParticle();
                    }
                }
                fog.Clear();
                cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                isTeleportDestSet = false;
                TeleportTime      = 4.5f;
                Once = false;
                cam.ResetTarget();
                AIPath.isStopped = false;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = false;
                }
                return;
            }
            else if (Input.GetKeyDown(KeyCode.D))
            {
                if (fog.Count > 0)
                {
                    for (int i = 0; i < fog.Count; i++)
                    {
                        fog[i].stopParticle();
                    }
                }
                fog.Clear();
                cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                if (Spell_D == 6)
                {
                    ChampData.current_Cooldown_D = 1;
                }
                else if (Spell_F == 6)
                {
                    ChampData.current_Cooldown_F = 1;
                }
                isTeleportDestSet = false;
                TeleportTime      = 4.5f;
                Once = false;
                cam.ResetTarget();
                cursor.SetCursor(0, Vector3.zero);
                AIPath.isStopped = false;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = false;
                }
                return;
            }
            else if (TeleportTime <= 0)
            {
                cam.SetTarget(Player.transform);
                TeleportTime              = 4.5f;
                TeleportDestPos.y         = Player.transform.position.y;
                Player.transform.position = TeleportDestPos;
                //AstarTarget.transform.position = Player.transform.position;
                isTeleportDestSet = false;
                Once = false;
                Invoke("TeleportEnd", 0.5f);
            }
        }

        if (isGhost) //유체화 켜졌을때
        {
            if (!aiPath)
            {
                return;
            }
            GhostAcceleration -= Time.deltaTime;

            if (GhostAcceleration >= 8.0f)
            {
                MaxSpeed         = aiPath.maxSpeed + (aiPath.maxSpeed * (0.27f + (0.01f * (float)Playerlevel)));
                aiPath.maxSpeed += (aiPath.maxSpeed * (0.27f + (0.01f * Playerlevel))) * Time.deltaTime;
                if (aiPath.maxSpeed >= MaxSpeed)
                {
                    aiPath.maxSpeed = MaxSpeed;
                }
                //27% + (1% * level)
            }
            if (GhostAcceleration <= 0)
            {
                Ghost(false);
            }
        }
        if (Input.GetKeyDown(KeyCode.J))
        {
            ChampData.current_Cooldown_D = 1;
            ChampData.current_Cooldown_F = 1;
        }
    }
Exemple #5
0
    private void TeleportCheck()
    {
        if (isTeleportClick) //텔레포트 시전
        {
            if (isIgniteClick || isSmiteClick || Input.GetMouseButton(1))
            {
                cursor.SetCursor(0, Vector2.zero);
                isTeleportClick = false;
                return;
            }
            else if (Input.GetMouseButtonDown(0))
            {
                TeleportDestinationSet();
                isTeleportClick = false;
                cursor.SetCursor(0, Vector2.zero);
            }
        }

        if (isTeleportDestSet)//목표 설정후에
        {
            if (!TeleportingOnce)
            {
                curhp           = ChampData.totalstat.Hp;
                TeleportingOnce = true;
                SendEffect("Teleport", Player.transform.position, team, photonview.viewID);
                Ping.GetFxPool("Going", TeleportDestPos, false);
                if (Target.GetComponent <PhotonView>() != null)
                {
                    SendEffect("Teleport", Target.transform.position, team, photonview.viewID);
                }
                else
                {
                    SendEffect("Teleport", Target.transform.position, team);
                }
                AIPath.isStopped = true;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = true;
                }
            }
            TeleportTime -= Time.deltaTime;
            if (curhp > ChampData.totalstat.Hp)
            {
                if (fog.Count > 0)
                {
                    for (int i = 0; i < fog.Count; i++)
                    {
                        if (fog[i].gameObject.GetActive())
                        {
                            fog[i].stopParticle();
                        }
                    }
                }
                fog.Clear();
                cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                isTeleportDestSet = false;
                TeleportTime      = 4.5f;
                TeleportingOnce   = false;
                cam.ResetTarget();
                AIPath.isStopped = false;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = false;
                }
                return;
            }
            else if (Input.GetKeyDown(KeyCode.D))
            {
                if (fog.Count > 0)
                {
                    for (int i = 0; i < fog.Count; i++)
                    {
                        if (fog[i].gameObject.GetActive())
                        {
                            fog[i].stopParticle();
                        }
                    }
                }
                fog.Clear();
                cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                if (Spell_D == 6)
                {
                    ChampData.current_Cooldown_D = 1;
                }
                else if (Spell_F == 6)
                {
                    ChampData.current_Cooldown_F = 1;
                }
                isTeleportDestSet = false;
                TeleportTime      = 4.5f;
                TeleportingOnce   = false;
                cam.ResetTarget();
                cursor.SetCursor(0, Vector3.zero);
                AIPath.isStopped = false;
                if (Target.transform.name.Contains("Minion"))
                {
                    Target.GetComponent <Pathfinding.AIPath>().isStopped = false;
                }
                return;
            }
            else if (TeleportTime <= 0)
            {
                cam.SetTarget(Player.transform);
                TeleportTime              = 4.5f;
                TeleportDestPos.y         = Player.transform.position.y;
                Player.transform.position = TeleportDestPos;
                //AstarTarget.transform.position = Player.transform.position;
                isTeleportDestSet = false;
                TeleportingOnce   = false;
                Invoke("TeleportEnd", 0.5f);
            }
        }
    }