コード例 #1
0
ファイル: Builder.cs プロジェクト: kevinwall1992/Neumann
    void Update()
    {
        if (Unit.Task is BuildTask)
        {
            this.Start <BuildBehavior>().BuildTask = Unit.Task as BuildTask;
        }
        else
        {
            this.Stop <BuildBehavior>();
        }

        if (Project != null && !Project.IsProject)
        {
            StopBuilding();
        }

        NanolathingLineController.Line.gameObject.SetActive(IsProjectWithinReach);

        if (IsProjectWithinReach)
        {
            if (request == null)
            {
                request = Unit.Team.Stock.MakeRequest(Project.RequiredMaterials.Normalized() * Rate);
            }

            NanolathingLineController.NanolathingRate = Rate * request.Yield;
            NanolathingLineController.Target          = Project.transform.position + new Vector3(0, 0.5f, 0);

            Project.Foundation.PutIn(request.Disbursement);
        }
        else if (request != null)
        {
            request.Revoke();
            request = null;

            NanolathingLineController.NanolathingRate = 0;
        }
    }
コード例 #2
0
    protected override void OnDestroy()
    {
        base.OnDestroy();

        request.Revoke();
    }