Example #1
0
    public void Launch(GameObject launchSite, int count)
    {
        // DebugScript = DebugCollider.GetComponent<DebugGameScript>();
        // DebugScript.Collider = Collider;
        MissileCount++;
        missileCommnandScript.MissileLaunched();
        TargetPoint = MousePosition.ToWorldSpace().ChangeZ(Z);
        MarkTarget(TargetPoint);

        var shape2d = gameObject.GetComponent <Shapes2D.Shape>();
        //shape2d.enabled = false;
        var spriteRenderer = gameObject.GetComponent <SpriteRenderer>();

        spriteRenderer.enabled = false;

        Vector3[] poses1 = new Vector3[2];
        lineRenderer.GetPositions(poses1);

        var pos = launchSite.transform.position;

        pos.z       = Z;
        LaunchPoint = new SpacePoint(Graphics.Space.World, pos);
        poses1[0]   = poses1[1] = LaunchPoint.Position;
        lineRenderer.SetPositions(poses1);
        Delta = Delta(LaunchPoint, TargetPoint);
        lineRenderer.enabled = true;
        tweener = Tweener2d.LinearTweener(LaunchPoint.Position, TargetPoint.Position, Velocity).GetEnumerator();
        State   = PlayerMissileState.Traveling;
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        Vector3[] poses1 = new Vector3[2];
        lineRenderer.GetPositions(poses1);
        switch (State)
        {
        case PlayerMissileState.None:
        default:
            break;

        case PlayerMissileState.Traveling:
            if (tweener.MoveNext())
            {
                poses1[1] = tweener.Current;
                lineRenderer.SetPositions(poses1);
            }
            else
            {
                lineRenderer.enabled = false;

                TargetCross1.GetComponent <LineRenderer>().enabled = false;
                TargetCross2.GetComponent <LineRenderer>().enabled = false;

                Explosion = Instantiate(Explosion, TargetCross1.transform.position, TargetCross1.transform.rotation);
                var animation = Explosion.GetComponent <ExplosionAnimation>();
                animation.PlayerMissile = this;
                State = PlayerMissileState.None;
                MissileCount--;
            }
            break;
        }
    }