Esempio n. 1
0
    private void Dead()
    {
        InitJungleStatus();
        if (monAtk == null)
        {
            monAtk = transform.GetComponentInChildren <MonsterAtk>();
        }
        if (TheAIDest == null)
        {
            TheAIDest = gameObject.GetComponent <AIDestinationSetter>();
        }
        if (TheAIPath == null)
        {
            TheAIPath = gameObject.GetComponent <AIPath>();
        }
        monAtk.TheAIPath = null;
        monAtk.nowTarget = null;
        monAtk.StopAllCoroutines();
        TheAIPath.canMove   = true;
        TheAIPath.canSearch = true;
        gameObject.GetComponent <AIDestinationSetter>().target = null;
        myCenter.StartCoroutine("Respawn");
        TheAIDest.target = myCenter.transform;
        monAtk.nowTarget = null;
        gameObject.SetActive(false);

        // 죽을때 마우스바뀐상태면 원래대로
        if (mouseChanged)
        {
            cursor.SetCursor(cursor.PreCursor, Vector2.zero);
        }
    }
Esempio n. 2
0
    private void Dead()
    {
        //ingameManager.minionDeadCount += 1;
        InitMinionStatus();
        minHP.InitProgressBar();
        if (minAtk == null)
        {
            minAtk = transform.GetComponentInChildren <MinionAtk>();
        }
        if (TheAIDest == null)
        {
            TheAIDest = gameObject.GetComponent <AIDestinationSetter>();
        }
        if (TheAIPath == null)
        {
            TheAIPath = gameObject.GetComponent <AIPath>();
        }
        minAtk.TheAIPath  = null;
        minAtk.MoveTarget = null;
        minAtk.nowTarget  = null;
        minAtk.StopAllCoroutines();
        TheAIPath.canMove   = true;
        TheAIPath.canSearch = true;
        gameObject.SetActive(false);
        gameObject.GetComponent <AIDestinationSetter>().target = null;

        // 죽을때 마우스바뀐상태면 원래대로
        if (mouseChanged)
        {
            cursor.SetCursor(cursor.PreCursor, Vector2.zero);
        }
        //gameObject.transform.position = deadVec + deadOffsetVec;
    }
Esempio n. 3
0
 private void OnMouseOver()
 {
     if (Team.ToString().ToLower().Equals(PhotonNetwork.player.GetTeam().ToString().ToLower()))
     {
         cursor.SetCursor(1, Vector2.zero);
     }
     else if (!Team.ToString().ToLower().Equals(PhotonNetwork.player.GetTeam().ToString().ToLower()))
     {
         cursor.SetCursor(2, Vector2.zero);
     }
 }
Esempio n. 4
0
    private void Dead()
    {
        InitTowerStatus();
        if (myTowerAtk == null)
        {
            myTowerAtk = transform.GetComponentInChildren <TowerAtk>();
        }
        myTowerAtk.StopAllCoroutines();
        myTowerAtk.nowTarget = null;
        if (PhotonNetwork.isMasterClient)             // 마스터가 한번만.
        {
            if (Team.ToLower().Equals("red"))         // 타워가 레드팀이면
            {
                sysmsg.Annoucement(8, false, "red");  // 파괴
                sysmsg.Annoucement(9, false, "blue"); // 적 파괴
            }
            else if (Team.ToLower().Equals("blue"))
            {
                sysmsg.Annoucement(8, false, "blue");
                sysmsg.Annoucement(9, false, "red");
            }
        }
        if (myNextTower != null)
        {
            myNextTower.isCanAtkMe = true;
        }
        else if (myNextSup != null)
        {
            if (myNextSup.tag.Equals("Nexus"))
            {
                myNextSup.nexusAtkNum += 10;
                if (myNextSup.nexusAtkNum >= 21)
                {
                    myNextSup.isCanAtkMe = true;
                }
            }
            else
            {
                myNextSup.isCanAtkMe = true;
            }
        }
        TowerDestroyEffect.SetActive(true);
        DestroyEffect.Play();
        toweraudio.PlayOneShot(SoundManager.instance.Building_Destroy);
        gameObject.SetActive(false);

        // 죽을때 마우스바뀐상태면 원래대로
        if (mouseChanged)
        {
            cursor.SetCursor(cursor.PreCursor, Vector2.zero);
        }
    }
Esempio n. 5
0
    private void Dead()
    {
        if (icon != null)
        {
            icon.gameObject.SetActive(false);
        }
        ChampionSound.instance.IamDeadSound(myChampionData.ChampionName);
        // 죽은애가 나면 데스올려라, 그리고 죽는 더미 생성
        InitChampionStatus();
        ChampHP.InitProgressBar();
        if (GetComponent <PhotonView>().owner.Equals(PhotonNetwork.player))
        {
            myChampionData.death++;
            myChampionData.UIRightTop.AllUpdate();

            string dummyName = gameObject.name.Split('_')[0];
            // 더미생성
            PhotonNetwork.Instantiate("Champion/" + dummyName + "Die", transform.position, transform.rotation, 0);

            reviveTime = (myChampionData.totalstat.Level - 1) * 2.0f + 10.0f;
            myChampionData.UIIcon.ReviveCoverImage.enabled = true;

            if (deadEffect == null)
            {
                deadEffect = Camera.main.GetComponentInChildren <DeadEffect>();
            }
            deadEffect.TurnOn();

            // 죽으면 상점 구매가능
            PlayerData.Instance.purchaseState = true;

            // 내가가진 어시리스트애들한테 어시올려줌
            assistRPC();
        }

        myChampAtk.StopAllCoroutines();
        myChampAtk.ResetTarget();

        // 죽으면 기존에 액티브끄는 대신에 좌표를 옮겨버림.
        //gameObject.SetActive(false);
        transform.position = new Vector3(transform.position.x, -100, transform.position.z);

        // 죽을때 마우스바뀐상태면 원래대로
        if (mouseChanged)
        {
            cursor.SetCursor(cursor.PreCursor, Vector2.zero);
        }

        //var myAstarTarget = transform.parent.Find("PlayerA*Target");
        //if (myAstarTarget != null)
        //    myAstarTarget.localPosition = startPos;
    }
Esempio n. 6
0
    private void OnMouseOver()
    {
        if (!SceneManager.GetActiveScene().name.Equals("InGame"))
        {
            return;
        }

        if (team.ToLower().Equals(PhotonNetwork.player.GetTeam().ToString()))
        {
            if (photonView.isMine)
            {
                return;
            }

            cursor.SetCursor(1, Vector2.zero);
            isMouseChanged = true;
        }
        else
        {
            cursor.SetCursor(2, Vector2.zero);
            isMouseChanged = true;
        }
    }
Esempio n. 7
0
 //스킬 활성화 유무 체크
 private void SmiteCheck()
 {
     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);
         }
     }
 }
Esempio n. 8
0
 private void OnMouseOver()
 {
     cursor.SetCursor(2, Vector2.zero);
     isMouseChanged = true;
 }
Esempio n. 9
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;
        }
    }
Esempio n. 10
0
    // Update is called once per frame
    void Update()
    {
        bool find = false;

        if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 300.0f, 1 << LayerMask.NameToLayer("Home")))
        {
            // 옵션UI가 꺼져있을때만 체크함
            if (!optionCanvas.activeInHierarchy)
            {
                // UI랑 겹치면 안찾음. UI라 그래픽레이캐스터
                bool uiCrash = false;
                if (uiCanvas != null)
                {
                    GraphicRaycaster uiGR = uiCanvas.GetComponent <GraphicRaycaster>();
                    PointerEventData ped  = new PointerEventData(null);
                    ped.position = Input.mousePosition;
                    List <RaycastResult> results = new List <RaycastResult>();
                    uiGR.Raycast(ped, results);
                    foreach (RaycastResult result in results)
                    {
                        if (result.gameObject.transform.GetComponentInParent <GraphicRaycaster>().Equals(uiGR))
                        {
                            uiCrash = true;
                            break;
                        }
                    }
                }

                if (!uiCrash)
                {
                    // 상점이 꺼져있고 마우스가 안바꼈을때면 마우스바꿈
                    if (!ShopCanvas.activeSelf && cursor && !mouseChanged)
                    {
                        if (cursor.CurrentCursor != 5)
                        {
                            cursor.SetCursor(5, Vector2.zero);
                            mouseChanged = true;
                        }
                    }
                    find = true;
                }
                // UI랑 충돌했을때 마우스가 바껴있으면 원래대로 돌림
                else
                {
                    if (mouseChanged)
                    {
                        if (cursor.CurrentCursor != cursor.PreCursor)
                        {
                            cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                            mouseChanged = false;
                            find         = false;
                        }
                    }
                }
            }
        }
        else
        {
            if (mouseChanged)
            {
                if (cursor.CurrentCursor != cursor.PreCursor)
                {
                    cursor.SetCursor(cursor.PreCursor, Vector2.zero);
                    mouseChanged = false;
                }
            }
        }

        if (Input.GetMouseButton(0) && find)
        {
            if (cursor)
            {
                if (cursor.CurrentCursor != 0)
                {
                    cursor.SetCursor(0, Vector2.zero);
                    mouseChanged = false;
                }
            }

            if (!ShopCanvas.activeSelf)
            {
                ShopCanvas.SetActive(true);
            }
        }
    }