コード例 #1
0
ファイル: PrafabHolder.cs プロジェクト: lishi500/LittleMage2
    public GameObject GetBulletImpect(string name, BulletSize size = BulletSize.Small)
    {
        GameObject value;
        bool       exist = bulletImpectStore.dictionary.TryGetValue(name + size, out value);

        return(exist ? value : null);
    }
コード例 #2
0
ファイル: BulletUtils.cs プロジェクト: lishi500/LittleMage2
    public GameObject CreateBullet(Transform start, GameObject owner, Vector3 targetPos, Transform target, string name, BulletSize size = BulletSize.Small)
    {
        Role ownerRole = owner.GetComponent <Role>();

        GameObject bulletObj = PrafabUtils.Instance.create(prafabHolder.Bullet);
        Vector3    scale     = start.localScale;

        bulletObj.transform.position = start.position;
        bulletObj.transform.rotation = start.rotation;
        bulletObj.transform.LookAt(target);
        bulletObj.transform.localScale = scale;
        gizmosShootPoint = bulletObj.transform.position;


        SphereCollider bulletCollider = bulletObj.GetComponent <SphereCollider>();
        float          radius;

        bulletColliderRadius.TryGetValue(size, out radius);
        bulletCollider.radius = radius;

        Bullet bullet = bulletObj.GetComponent <Bullet>();

        bullet.bulletSpeed  = normalizeAttackSpeed(ownerRole.attribute.attackSpeed);
        bullet.creator      = owner;
        bullet.aimingTarget = target.gameObject;

        bullet.direction   = start.position - targetPos;
        gizmosReceivePoint = targetPos;

        GameObject bulletprojectilePrafab = prafabHolder.GetBullet(name, size);
        GameObject bulletImpectPrafab     = prafabHolder.GetBulletImpect(name, size);

        GameObject bulletprojectile = PrafabUtils.Instance.create(bulletprojectilePrafab);

        bulletprojectile.transform.SetParent(bulletObj.transform, false);


        bullet.enhancement  = GetBulletEnhancement();
        bullet.impectPrafab = bulletImpectPrafab;

        bullet.PreEnhancementProcess();
        bullet.ApplyForce();

        return(bulletObj);
    }