Exemplo n.º 1
0
 public void Init(DistanceWeapon weapon, Vector3 targetPos)
 {
     Weapon     = weapon;
     Target     = null;
     TargetPos  = targetPos;
     IsLaunched = true;
 }
Exemplo n.º 2
0
    public void CheckWeapon()
    {
        if (currentWeapon != null)
        {
            if (Input.GetKey(keyAttack) && inFloor)
            {
                switch (equipedWeapon)
                {
                case EquipedWeapon.Default:
                    DefaultWeapon.gameObject.SetActive(true);
                    BrazosDeShokerWeapon.gameObject.SetActive(false);
                    SableAssasinWeapon.gameObject.SetActive(false);
                    RifleTrackerWeapon.gameObject.SetActive(false);
                    distaceWeapon = null;
                    currentWeapon = DefaultWeapon;
                    break;

                case EquipedWeapon.BrazoDeShoker:
                    DefaultWeapon.gameObject.SetActive(false);
                    BrazosDeShokerWeapon.gameObject.SetActive(true);
                    SableAssasinWeapon.gameObject.SetActive(false);
                    RifleTrackerWeapon.gameObject.SetActive(false);
                    distaceWeapon = null;
                    currentWeapon = BrazosDeShokerWeapon;
                    break;

                case EquipedWeapon.SableAssasin:
                    DefaultWeapon.gameObject.SetActive(false);
                    BrazosDeShokerWeapon.gameObject.SetActive(false);
                    SableAssasinWeapon.gameObject.SetActive(true);
                    RifleTrackerWeapon.gameObject.SetActive(false);
                    distaceWeapon = null;
                    currentWeapon = SableAssasinWeapon;
                    break;

                case EquipedWeapon.RifleTracker:
                    DefaultWeapon.gameObject.SetActive(false);
                    BrazosDeShokerWeapon.gameObject.SetActive(false);
                    SableAssasinWeapon.gameObject.SetActive(false);
                    RifleTrackerWeapon.gameObject.SetActive(true);
                    currentWeapon = RifleTrackerWeapon;
                    distaceWeapon = RifleTrackerWeapon;
                    break;
                }
                if (currentWeapon.CountUse <= 0)
                {
                    equipedWeapon = EquipedWeapon.Default;
                }
                if (distaceWeapon != null)
                {
                    if (distaceWeapon.CountUse <= 0)
                    {
                        equipedWeapon = EquipedWeapon.Default;
                    }
                }
            }
        }
    }
Exemplo n.º 3
0
    /// <summary>
    ///     This function update the number of ammo in UI
    /// </summary>
    public void UpdateAmmoGraphics()
    {
        DistanceWeapon info = weapon as DistanceWeapon;

        if (info != null)
        {
            ammoText.text = info.currentAmmo + "/" + info.maxAmmo;
        }
        else
        {
            ammoText.text = "";
        }
    }
Exemplo n.º 4
0
 public void Init(DistanceWeapon weapon, GameUnit target)
 {
     Weapon     = weapon;
     Target     = target;
     IsLaunched = true;
 }
Exemplo n.º 5
0
    private void FixedUpdate()
    {
        timer           += Time.fixedDeltaTime;
        animChangeTimer += Time.fixedDeltaTime;

        if (animChangeTimer >= TimeBeforeAnimChange)
        {
            if (crowdMembers.Length > 0)
            {
                GameObject lCrowdMember = crowdMembers[Mathf.FloorToInt(Random.Range(0, crowdMembers.Length))];
                if (lCrowdMember)
                {
                    Vampire lCharaScript = lCrowdMember.GetComponent <Vampire>();
                    if (lCharaScript != null)
                    {
                        lCharaScript.cycleThroughAnimations();
                    }
                }
            }


            animChangeTimer = 0.0f;
        }



        if (timer >= feedingRate)
        {
            // Get a random crowd member
            if (crowdMembers.Length > 0)
            {
                GameObject lCrowdMember = crowdMembers[Mathf.FloorToInt(Random.Range(0, crowdMembers.Length))];

                if (lCrowdMember)
                {
                    // Compute shooting direction
                    Vector3 lTarget = new Vector3(
                        player.transform.position.x + Random.Range(-maxInaccuracy, maxInaccuracy),
                        player.transform.position.y,
                        player.transform.position.z + Random.Range(-maxInaccuracy, maxInaccuracy)
                        );

                    Vector3 lDirection = lTarget - lCrowdMember.transform.position;

                    lDirection.y = 0;
                    // Set the y axis
                    //lDirection.y = Mathf.Clamp(Vector3.Distance(lCrowdMember.transform.position, lTarget),5, 15) + Random.Range(0,maxInaccuracy);

                    // Compute shooting distance
                    Vampire        lCharacter      = lCrowdMember.GetComponent <Vampire>(); // Character script
                    DistanceWeapon lDistanceWeapon = lCharacter.distanceWeapon.GetComponent <DistanceWeapon>();
                    lDistanceWeapon.projectile = currentFoodType as GameObject;
                    lDirection = lDistanceWeapon.transform.InverseTransformVector(lDirection);
                    lDirection.Normalize();
                    lDistanceWeapon.ThrowDirection = lDirection;

                    // shoot
                    lCharacter.shoot();
                }
            }
            timer = 0.0f;
        }
    }