Exemple #1
0
    //어택 데미지 데이터 받기
    public void Bot_Damage_Operation(float MY_Total_Damage, Vector3 _ATK_Start_Vec, Vector3 _ATK_Target_Vec, byte _Gun_Type, bool _HeadShot_Check, bool Critical_Check)
    {
        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        MY_HP -= MY_Total_Damage;
        if (MY_HP <= 0.0f)
        {
            MY_HP = 0.0f;
        }

        if (MY_HP <= 0.0f && Die_State == DIE_STATE.IDEL)
        {
            Die_State          = DIE_STATE.ANI_START;
            Die_Atk_Start_Vec  = _ATK_Start_Vec;
            Die_Atk_Target_Vec = _ATK_Target_Vec;
            Die_Atk_GunType    = _Gun_Type;

            Game_Script.Bot_Kill_Count++;

            Game_Script.Bot_Kill_Operation(User_ID, _HeadShot_Check);

            //--------------------------------------------------------------------------------------
            ByteData Send_Buffer = new ByteData(128, 0);

            //현재 플레이어가 사용하고 있는 유닛의 인덱스
            Send_Buffer.InPutByte(Game_Script.Char_Script[Link_Script.i.User_ID].Char_Index);

            //봇 죽인 데이터 보내기
            Net_Script.Send_Bot_Kill_Data(Send_Buffer);
            //--------------------------------------------------------------------------------------
        }

        //수류탄, 유탄, 자살이 아닐때 캐릭터 맞았을때 터지는 임펙트 안그려준다.
        if ((GUN_TYPE)_Gun_Type != GUN_TYPE.GRENADE && (GUN_TYPE)_Gun_Type != GUN_TYPE.BOOMER_SKILL && (GUN_TYPE)_Gun_Type != GUN_TYPE.LAUNCHER && (GUN_TYPE)_Gun_Type != GUN_TYPE.SUICIDE)
        {
            Char_Hit_Effect_Check   = true;
            Char_Hit_Effect_GunType = (GUN_TYPE)_Gun_Type;
            Char_Hit_Effect_Vec     = _ATK_Target_Vec;
        }

        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        //데미지 숫자 만들어주기
        Transform GamePlay_Damage_Transform = Instantiate(Resources.Load("Battle_Prefab/2_UI_Folder/GamePlay_Damage") as GameObject).GetComponent <Transform>();

        GamePlay_Damage_Transform.SetParent(GameObject.Find("Canvas").transform);
        GamePlay_Damage_Transform.localScale    = new Vector3(1, 1, 1);
        GamePlay_Damage_Transform.localPosition = new Vector3(0, 0, 0);
        GamePlay_Damage_Transform.SetAsLastSibling();//가장 나중에 그려진 레이어로 맞추기

        //텍스트 스크립트 초기화
        GamePlay_Damage_Transform.GetComponent <Damage_Num_Script>().Make_Init(User_ID, Critical_Check, MY_Total_Damage, Damage_Num_Effect_Dir);

        if (++Damage_Num_Effect_Dir >= 2)
        {
            Damage_Num_Effect_Dir = 0;
        }

        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    }