【发布时间】:2022-11-11 02:46:00
【问题描述】:
在 Unity 和 C# 方面,我完全是个菜鸟 现在我有一个任务,我觉得有点不知所措,所以任何输入都会非常感激......
我有一个看起来像这样的类:
//using directives
public class PipelineExample : MonoBehaviour
{
private CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
private bool res = false;
// Start is called before the first frame update
void Start()
{
StartPipeline();
while (!res) ;
}
async void StartPipeline()
{
// create models, pipeline, pipeline step
IModel fbxModel = new FbxModel();
Pipeline<IModel> pipeline = new Pipeline<IModel>();
IAction<IModel> pipelineStep = new GenericPipelineStep<IModel>();
// add steps to pipeline
pipeline.AddPipeLineStep(pipelineStep);
try
{
res = await pipeline.Execute(fbxModel, cancellationTokenSource.Token);
Console.Write("Result of pipeline: " + res);
}
catch (OperationCanceledException)
{
Console.WriteLine("Canceled successfully!");
}
}
// Update is called once per frame
void Update()
{
}
}
现在,当我单击“开始”按钮时,我想以某种方式从另一个类调用此 startmethod(?):
private void OnStartButtonClicked(MouseUpEvent evt)
{
//What goes in here?
}
我不能只是 Pipeline Example.Start 显然,
公共管道示例; something.Start 也不起作用。
所以基本上我的问题是,我怎样才能从另一个类开始这个 PipeLineExample 类?
【问题讨论】:
-
将 Start 更改为任何其他名称。然后将方法公开并将其分配给按钮。你应该能够找到大量的教程
-
你的意思是 void start 方法?我也可以公开 start 方法并调用它,但是当我这样做时,我得到 NullReferenceException: Object reference not set to an instance of an object