Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        layer = gameObject.layer;

        Setup = GetComponent <CarSetup>();

        material = Setup.intenceRed;

        guns = CarSetup.FindGameObjectInChildWithName(transform, "gun");

        bulletCD     = 1 / rateOfFire;
        bulletPrefab = new GameObject("bullet");
        bulletPrefab.SetActive(false);

        bulletDecal = new GameObject("bulletDecal");
        bulletDecal.SetActive(false);

        bulletDecal = Resources.Load <GameObject>("bulletHit");

        CarSetup.initMesh(bulletPrefab, Resources.Load <Mesh>("bullet"), material);
        ProyectileController bullet = bulletPrefab.AddComponent <ProyectileController>();

        bullet.mode   = ProyectileMode.bullet;
        bullet.speed  = bulletSpeed;
        bullet.damage = bulletDamage;
        bullet.layer  = layer;

        bulletTimer = new Cooldown();
        bulletTimer.init(0, bulletCD);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Fire proyectile.
    /// </summary>
    public void Fire()
    {
        SoundManager.GetInstance().Play(fireClip);
        ProyectileController pc = PoolManager.poolManager.GetPoolInstance(proyectilePrefab).GetComponent <ProyectileController>();

        pc.transform.position = proyectileSpawnPosition.position;
        pc.Initialize(selfFaction, oppositeFaction, proyectileSpeed, lookingDirection, stats.attackDamageMultiplier, stats.attackForceMultiplier);
    }
Ejemplo n.º 3
0
    protected override AttackController GetAttack()
    {
        var    attackType = new ProyectileController().GetType();
        string attackName = "Arrow";

        GameObject           attackObject     = (GameObject)Instantiate(Resources.Load(attackPrefabName + attackName));
        ProyectileController attackController = (ProyectileController)attackObject.GetComponent(attackType);

        return(attackController);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Fire proyectile
    /// </summary>
    public void Fire()
    {
        ProyectileController pc = PoolManager.poolManager.GetPoolInstance(proyectilePrefab).GetComponent <ProyectileController>();

        pc.transform.position = transform.position;
        pc.Initialize(selfFaction, oppositeFaction, proyectileSpeed, Tools.Vector3ToDir4Int(transform.forward), proyectileDamage, proyectileForce);
        SoundManager.GetInstance().Play(fireClip);

        // Generate fire signal
        if (generateEnabled)
        {
            SignalManager.GetInstance().WriteSignal(generateId, isActivated ? 1 : 0);
        }
    }
Ejemplo n.º 5
0
    // Use this for initialization
    void Start()
    {
        Setup = GetComponent <CarSetup>();

        material        = Setup.intenceRed;
        pointerMaterial = Setup.transparentRedTexture;

        layer  = gameObject.layer;
        camera = Setup.camera;

        targetImage = Setup.canvas.transform.Find("targeting").gameObject;

        targetingRect = targetImage.GetComponent <RectTransform>();
        CanvasRect    = Setup.canvas.GetComponent <RectTransform>();

        targetImage.SetActive(false);
        cannons = CarSetup.FindGameObjectInChildWithName(transform, "cannon");



        missilePrefab = new GameObject("missile");
        missilePrefab.SetActive(false);
        missileDecal = new GameObject("missileDecal");
        missileDecal.SetActive(false);
        missileDecal = Resources.Load <GameObject>("explotionDecal");

        pointerPrefab = new GameObject("pointer");
        pointerPrefab.SetActive(false);
        CarSetup.initMesh(pointerPrefab, Resources.Load <Mesh>("pointer"), pointerMaterial);

        CarSetup.initMesh(missilePrefab, Resources.Load <Mesh>("missile"), material);

        MeshCollider collider = missilePrefab.AddComponent <MeshCollider>();

        collider.sharedMesh = Resources.Load <Mesh>("missile");
        collider.convex     = true;
        missilePrefab.AddComponent <Rigidbody>().mass = 5;

        ProyectileController missileController = missilePrefab.AddComponent <ProyectileController>();

        missileController.mode            = ProyectileMode.missile;
        missileController.propultion      = propultion;
        missileController.damage          = missileDamage;
        missileController.layer           = layer;
        missileController.explotionForce  = explotionForce;
        missileController.explotionRadius = explotionRadius;
        missileController.decal           = missileDecal;
    }