Example #1
0
    public void SetVelocity(Orbision dir, float speed)
    {
        this.dir   = dir;
        this.speed = speed;

        //bulletMesh.eulerAngles = dir.localForward * Mathf.Rad2Deg;
    }
Example #2
0
    private void Start()
    {
        rb = GetComponent <Rigidbody>();
        gb = new GravityBody(rb, SpinType.axis, mass);
        StartCoroutine(BulletDecay());

        dir = new Orbision();
    }
Example #3
0
    private void Awake()
    {
        if (instance != null)
        {
            Debug.LogWarning("Multiple instances of " + this + " found");
        }

        instance = this;

        gravityBodies = new List <GravityBody>();
        Orbision.AddOrigin(transform.position);
    }
Example #4
0
    public void FireGun(Vector3 direction)
    {
        if (fireTime < 0)
        {
            Orbision oDirection = new Orbision
            {
                i = direction.x,
                j = direction.y,
                k = direction.z,
                h = Orbision.CalculateDeltaH(transform.forward, direction)
            };

            Shoot(oDirection);
            fireTime = fireRate;
        }
    }
Example #5
0
    public GravityBody(Rigidbody rb, SpinType spinType = SpinType.axis)
    {
        gravitySource = GravitySource.instance;

        transform         = rb.transform;
        this.rb           = rb;
        rb.useGravity     = false;
        rb.freezeRotation = true;

        this.spinType = spinType;
        mass          = 1;
        isWeightless  = true;

        groundHitBuffer = gravitySource.groundHitBuffer;
        attractingPoint = gravitySource.transform;
        gravitySource.AddGravityObject(this);

        orbision = Orbision.Vector3ToOrbision(rb.position);
    }
Example #6
0
 protected virtual void Shoot(Orbision direction)
 {
 }
Example #7
0
    protected override void Shoot(Orbision direction)
    {
        Bullet bullet = Instantiate(bulletPrefab, bulletSpawnPoint.position, transform.rotation).GetComponent <Bullet>();

        bullet.SetVelocity(direction, bulletSpeed);
    }