public void Shoot(Vector3 direc, Owner owner, bool left = false)
    {
        if (!IsBad)
        {
            anim.SetTrigger("Attack");
        }
        _fireCounter = 0f;
        GameObject temp;

        if (sprite && sprite.flipX)
        {
            temp = Instantiate(WeaponObject, gameObject.transform.position + new Vector3(-startPosX, startPosY, 0), Quaternion.identity) as GameObject;
        }
        else
        {
            temp = Instantiate(WeaponObject, gameObject.transform.position + new Vector3(startPosX, startPosY, 0), Quaternion.identity) as GameObject;
        }

        RangedWeaponBehaviour weaponBehaviour = temp.GetComponent <RangedWeaponBehaviour>();

        weaponBehaviour.GetComponent <OwnedByBehaviour>().Owner = owner;
        weaponBehaviour.ActiveInTimeLayer = ActiveInTimeLayer;
        weaponBehaviour.MovementDirection = direc;
        weaponBehaviour.MovementSpeed     = WeaponSpeed;
    }
Exemple #2
0
        public override void SetCharacter(Character character)
        {
            base.SetCharacter(character);

            _behaviour = _typedInfo._weaponBehaviourInfo.GetBehaviour();
            _behaviour.Initialize(Inventory, this);

            if (_typedInfo._abilityOnPickup != null)
            {
                var buffItem = _typedInfo._abilityOnPickup.GetItem();
                buffItem.SetCharacter(character);
                buffItem.Apply();
            }
        }
    public void OnTriggerEnter2D(Collider2D coll)
    {
        RangedWeaponBehaviour weapon = coll.GetComponent <RangedWeaponBehaviour>();
        OwnedByBehaviour      owner  = coll.gameObject.GetComponent <OwnedByBehaviour>();

        if (owner != null && weapon != null && owner.Owner != Owner.Player)
        {
            TimeLayer collisionTimeLayer = coll.GetComponent <ActiveInTimeLayerBehaviour>().ActiveInTimeLayer;
            if (activeLayer.ActiveInTimeLayer == collisionTimeLayer || collisionTimeLayer == TimeLayer.All)
            {
                if (PlayerData.TakeHit(weapon.Data.Damage))
                {
                    Application.LoadLevel(Application.loadedLevel);
                }
            }
        }
        if (coll.tag == "KillCollider")
        {
            Application.LoadLevel(Application.loadedLevel);
        }
    }