コード例 #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;
    }
コード例 #2
0
    void Start()
    {
        int throttleTime = 150;

        var scoreGameObject = GameObject.Find("Score");

        ScoreText = scoreGameObject.GetComponent <TextMeshProUGUI>();
        BonusUI   = BonusPoints.GetComponent <BonusPoints>();

        Physics2D.IgnoreLayerCollision(8, 8, true);
        var x      = EnemyLaunch.GetComponent <MeshCollider>();
        var bounds = x.bounds;
        Func <TimeSpan, bool> lowerLimt =
            _ => MousePosition.ToWorldSpace().Position.y > ToLow;
        var left = LeftMissileBase.GetComponent <MissileBase>();

        OnKey(left.Key).Throttle(throttleTime).Where(lowerLimt).Sink(left.Launch);
        var center = CenterMissileBase.GetComponent <MissileBase>();

        OnKey(center.Key).Throttle(throttleTime).Where(lowerLimt).Sink(center.Launch);
        var right = RightMissileBase.GetComponent <MissileBase>();

        OnKey(right.Key).Throttle(throttleTime).Where(lowerLimt).Sink(right.Launch);
    }