Ejemplo n.º 1
0
    public void Gun_Camera_Shake(GUN_TYPE _Gun_Type)
    {
        Gun_Type = _Gun_Type;

        if (_Gun_Type == GUN_TYPE.RIFLE || _Gun_Type == GUN_TYPE.SUB_MACHINGUN || _Gun_Type == GUN_TYPE.HEAVY_MACHINGUN)
        {
            Camera_Shake(0.3f, 0.0f);
        }
        else if (_Gun_Type == GUN_TYPE.SNIPER)
        {
            Camera_Shake_Aim_OJ.position += Vector3.up * 0.5f;
        }
        else if (_Gun_Type == GUN_TYPE.PUMP_SHOTGUN)
        {
            Camera_Shake(1.3f, 3.0f);
        }
        else if (_Gun_Type == GUN_TYPE.DOUBLE_HANDGUN)
        {
            Camera_Shake(0.3f, 0.0f);
        }
        else if (_Gun_Type == GUN_TYPE.LAUNCHER || _Gun_Type == GUN_TYPE.ROCKET_SKILL)
        {
            Camera_Shake(1.9f, 3.0f);
        }
        else if (_Gun_Type == GUN_TYPE.THROUGH_SHOT_SKILL)
        {
            Camera_Shake(1.0f, 2.0f);
            MotionBlur_Effect_Init();
        }
        else
        {
            Camera_Shake(0.15f, 0.0f);
        }
    }
Ejemplo n.º 2
0
 public void GunInit(GUN_TYPE eGunType)
 {
     if (m_eGunType == eGunType)
     {
         ChangeGun(m_eGunInitType);
     }
 }
Ejemplo n.º 3
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;
        }

        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    }
Ejemplo n.º 4
0
 public void ChangeGun(GUN_TYPE eGunType)
 {
     if (m_eGunType != eGunType)
     {
         DropGun();
         m_eGunType = eGunType;
         SetGun();
     }
 }
Ejemplo n.º 5
0
    //==========================================================================================================================================================

    public void Bot_Init()
    {
        Char_Team_State = CHAR_TEAM_SATAE.ENEMY_TEAM;

        Char_Hit_Effect_Check   = false;
        Char_Hit_Effect_GunType = GUN_TYPE.RIFLE;
        Char_Hit_Effect_Vec     = new Vector3();

        Auto_Targeting_OJ.SetActive(true);
    }
Ejemplo n.º 6
0
    //리그돌 연산 시작
    void Ragdoll_Start()
    {
        Char_Animator.enabled = false;

        float Force = 400.0f;

        GUN_TYPE Atk_Gun_Type = (GUN_TYPE)Die_Atk_GunType;

        if (Atk_Gun_Type == GUN_TYPE.PISTOL || Atk_Gun_Type == GUN_TYPE.REVOLVER || Atk_Gun_Type == GUN_TYPE.DOUBLE_HANDGUN)
        {
            Force = 400.0f;
        }
        else if (Atk_Gun_Type == GUN_TYPE.PUMP_SHOTGUN || Atk_Gun_Type == GUN_TYPE.AUTO_SHOTGUN || Atk_Gun_Type == GUN_TYPE.SNIPER)
        {
            Force = 1000.0f;
        }
        else if (Atk_Gun_Type == GUN_TYPE.RIFLE || Atk_Gun_Type == GUN_TYPE.SUB_MACHINGUN || Atk_Gun_Type == GUN_TYPE.HEAVY_MACHINGUN)
        {
            Force = 600.0f;
        }

        for (int i = 0; i < Ragdoll_Collider_Name.Length; i++)
        {
            Bot_Ragdoll_Rigidbody[Ragdoll_Collider_Name[i]].Rigid_Body.isKinematic = false;
            Bot_Ragdoll_Rigidbody[Ragdoll_Collider_Name[i]].GameObject_OJ.layer    = Ragdoll_Die_Layer;
        }

        //자살일때 포스 안날린다
        if (Atk_Gun_Type == GUN_TYPE.SUICIDE)
        {
            return;
        }

        if (Atk_Gun_Type == GUN_TYPE.GRENADE || Atk_Gun_Type == GUN_TYPE.BOOMER_SKILL || Atk_Gun_Type == GUN_TYPE.LAUNCHER)//폭발로 인한 렉돌
        {
            float Explosion_Force  = 25.0f;
            float Explosion_Radius = 3.0f;
            float Explosion_Up     = 1.5f;

            for (int i = 0; i < Ragdoll_Collider_Name.Length; i++)
            {
                Bot_Ragdoll_Rigidbody[Ragdoll_Collider_Name[i]].Rigid_Body.AddExplosionForce(Explosion_Force, Die_Atk_Start_Vec, Explosion_Radius, Explosion_Up, ForceMode.Impulse);
            }
        }
        else//일반 총 렉돌
        {
            for (int i = 0; i < Ragdoll_Collider_Name.Length; i++)
            {
                Bot_Ragdoll_Rigidbody[Ragdoll_Collider_Name[i]].Rigid_Body.AddForceAtPosition((Die_Atk_Target_Vec - Die_Atk_Start_Vec).normalized * Force, Die_Atk_Target_Vec);
            }
        }
    }
Ejemplo n.º 7
0
 // Use this for initialization
 void Start()
 {
     m_eGunInitType = GUN_TYPE.E_BASE;
     m_eGunType     = GUN_TYPE.E_BASE;
     m_cGun.AddComponent <BaseGun>();
 }
Ejemplo n.º 8
0
 public void GunInit(GUN_TYPE eGunType)
 {
     m_scGun.GunInit(eGunType);
 }
Ejemplo n.º 9
0
 public void ChangeGun(GUN_TYPE eGunType)
 {
     m_scGun.ChangeGun(eGunType);
 }