public void Initialize(PooledObjectInitializationData initializationData)
    {
        BulletInitializationData initData = initializationData as BulletInitializationData;

        if (initData == null)
        {
            return;
        }
        _power             = initData.Power;
        _totalLifeTime     = initData.TotalLifeTime;
        transform.position = initData.Position;
        transform.up       = initData.Velocity.normalized;
        _initialVelocity   = initData.Velocity;
        _owner             = initData.Owner;
        _ownerDamageable   = initData.Owner.GetComponent <IDamageable>();
    }
Beispiel #2
0
    protected virtual void FireShot(Unit unit, Bullet bullet)
    {
        // calculate direction to fire and add force
        Vector2 velocity = unit.MoveController.Front.up * _bulletSpeed;
        BulletInitializationData initData = new BulletInitializationData()
        {
            Power         = _power,
            TotalLifeTime = _bulletLifeTime,
            Position      = unit.MoveController.Front.position,
            Velocity      = velocity,
            Owner         = unit
        };

        bullet.Initialize(initData);
        bullet.Spawn();
        GenerateSoundBox(unit);
    }