Exemplo n.º 1
0
 /*--------------------------------------------------------------------------------------------*/
 private void UpdateDataWithLocalOffsets(ICursorDataForInput pData,
                                         HoverInputOculusTouch.ControlState pState)
 {
     pData.SetWorldPosition(
         OriginTransform.TransformPoint(pState.LocalPos) + pState.LocalRot * LocalPosition);
     pData.SetWorldRotation(
         OriginTransform.rotation * pState.LocalRot * Quaternion.Euler(LocalRotation));
 }
Exemplo n.º 2
0
    void Use()
    {
        Debug.Log("Item used: " + OriginTransform.ToString());

        Vector3 newPos = new Vector3(OriginTransform.position.x, 1.0f, OriginTransform.position.z);

        m_body.position = newPos + OriginTransform.forward * 5;
        m_body.rotation = OriginTransform.rotation;         // Quaternion.Euler(0, OriginTransform.rotation.y, 0);
        m_body.velocity = 100f * OriginTransform.forward;
    }
 private void Awake()
 {
     spawnObj         = new GameObject[transform.childCount];
     originTransforms = new OriginTransform[transform.childCount];
     for (int i = 0; i < transform.childCount; i++)
     {
         spawnObj[i] = transform.GetChild(i).gameObject;
         OriginTransform origin = new OriginTransform(spawnObj[i].transform);
         originTransforms[i] = origin;
         spawnObj[i].SetActive(false);
     }
     nextObjIndex = 0;
 }
Exemplo n.º 4
0
    private IEnumerator LaunchProjectile()
    {
        if (!isCooldown && (Enemy.transform.childCount != 0 && transform.childCount != 0))
        {
            isCooldown = true;

            int RandomOrigin;
            int RandomTarget;

            Vector2 OriginPosition;
            Vector2 TargetPosition;

            Transform OriginTransform;

            float RotationAlly;

            RandomOrigin = Random.Range(0, transform.childCount);
            RandomTarget = Random.Range(0, Enemy.transform.childCount);

            OriginTransform = transform.GetChild(RandomOrigin);

            OriginPosition = OriginTransform.position;
            TargetPosition = Enemy.transform.GetChild(RandomTarget).position;

            RotationAlly = Mathf.Atan2(TargetPosition.y - OriginPosition.y,
                                       TargetPosition.x - OriginPosition.x);

            OriginTransform.rotation = Quaternion.Euler(0, 0, RotationAlly * Mathf.Rad2Deg);

            Vector2 OriginFirepoint = OriginTransform.GetChild(0).GetChild(Random.Range(0, OriginTransform.GetChild(0).childCount)).position;

            GameObject     launchedProjectile = Instantiate(damageProjectile, OriginFirepoint, Quaternion.Euler(0, 0, RotationAlly * Mathf.Rad2Deg));
            BeamProjectile beam = launchedProjectile.GetComponent <BeamProjectile>();
            if (beam)
            {
                shotAudio.Play();
                beam.team        = tag;
                beam.damage      = damage;
                beam.thirstPower = thirstPower;
                beam.lifetime    = lifetimeProjectile;
            }
            launchedProjectile.GetComponent <Rigidbody2D>().velocity = new Vector2(Mathf.Cos(RotationAlly), Mathf.Sin(RotationAlly)) * launchForce;

            yield return(new WaitForSecondsRealtime(attackCooldown));

            isCooldown = false;
        }
    }
Exemplo n.º 5
0
        // TODO - Include scale in the calculation
        private void UpdateOrigin()
        {
            int originX = 0;
            int originY = 0;

            // Set the width and height equal to the texture's width and height
            Width  = Texture.Width;
            Height = Texture.Height;

            // Calculate the offset wrt. the origin
            // TODO - Re-evaluate this code once nested containers are in use (global transform maybe should be used instead)
            switch (Origin)
            {
            case EOrigin.BOTTOM_CENTER:
                originX = (int)parent.Transform.Position.X + (parent.Width / 2) - (Width / 2);
                originY = (int)parent.Transform.Position.Y;
                break;

            case EOrigin.BOTTOM_LEFT:
                originX = (int)parent.Transform.Position.X;
                originY = (int)parent.Transform.Position.Y;
                break;

            case EOrigin.BOTTOM_RIGHT:
                originX = (int)parent.Transform.Position.X + parent.Width - Width;
                originY = (int)parent.Transform.Position.Y;
                break;

            case EOrigin.CENTER:
                originX = (int)parent.Transform.Position.X + (parent.Width / 2) - (Width / 2);
                originY = (int)parent.Transform.Position.Y + (parent.Height / 2) - (Height / 2);
                break;

            case EOrigin.CENTER_LEFT:
                originX = (int)parent.Transform.Position.X;
                originY = (int)parent.Transform.Position.Y + (parent.Height / 2) - (Height / 2);
                break;

            case EOrigin.CENTER_RIGHT:
                originX = (int)parent.Transform.Position.X + parent.Width - Width;
                originY = (int)parent.Transform.Position.Y + (parent.Height / 2) - (Height / 2);
                break;

            case EOrigin.TOP_CENTER:
                originX = (int)parent.Transform.Position.X + (parent.Width / 2) - (Width / 2);
                originY = (int)parent.Transform.Position.Y + parent.Height - Height;
                break;

            case EOrigin.TOP_LEFT:
                originX = (int)parent.Transform.Position.X;
                originY = (int)parent.Transform.Position.Y + parent.Height - Height;
                break;

            case EOrigin.TOP_RIGHT:
                originX = (int)parent.Transform.Position.X + parent.Width - Width;
                originY = (int)parent.Transform.Position.Y + parent.Height - Height;
                break;
            }

            // Update the origin point
            OriginTransform.SetTranslation(originX, originY);
        }
Exemplo n.º 6
0
    void Use()
    {
        m_ItemUseTime = Time.time;

        Debug.Log("Item used: " + OriginTransform.ToString());
    }