我有两个文件, class1.cs 和 prologue.cs 。在序幕中有一个公共布尔"恐慌"。
Prologue.cs
public partial class Prologue : Script{
public bool Panic;
public void PrologueMission(){ //Called when the script starts
Panic = true;
}
在class1.cs中我有
void Update10(){ //Runs this function every 10 seconds
Prologue prologue = new Prologue(); //prologue.cs
if (prologue.Panic) {
//code...
}
}
问题是,bool Panic在Class1.cs中仍然是假的,所以我创建了一个日志方法来找出发生了什么。恐慌在Prologue.cs中变为真,但在Class1.cs中仍然是错误的。
我尝试过其他方法,比如静态变量和返回true / false的方法但是它们似乎都没有用,所以我被困在这里。
简而言之:为什么在Prologue.cs中bool Panic设置为true,但在Class1.cs中始终保持为假。
我希望你也可以解释一下这不起作用的原因,但任何答案都会受到赞赏!
编辑:记录:
Prologue: .Panic:True //Set to true in Prologue.cs
prologue.Panic: False //False in class1.cs
prologue.Panic: False //False in class1.cs
prologue.Panic: False //False in class1.cs
Prologue: .Panic:True //Set to true in Prologue.cs again
prologue.Panic: False //False in class1.cs
prologue.Panic: False //False in class1.cs
prologue.Panic: False //False in class1.cs
答案 0 :(得分:4)
import pandas as pd
if __name__ == "__main__":
input = pd.ExcelFile('C:/Users/ABC/SampleExcel.xlsx')
dfs = {sheet: seg_sheet.parse(sheet) for sheet in seg_sheet.sheet_names}
values = dfs['Sheet1'].to_dict('records')
仅通过调用var1 =
var2 =
var3 =
设置为true。
你没有打电话。
Panic
如果您希望最初设置它,则必须在PrologueMission
void Update10(){ //Runs this function every 10 seconds
Prologue prologue = new Prologue(); //prologue.cs
prologue.PrologueMission(); // <<<<
if (prologue.Panic) {
//code...
}
}
与:
相同Prologue
根据评论:您必须在更新方法之外存储您的Prologe实例:
public partial class Prologue : Script{
public bool Panic;
public Prologue()
{
Panic = true;
}
//...
}
答案 1 :(得分:3)
我认为你将Consturctor与你的PrologueMission功能混淆了。您要么必须调用PrologueMission,要么将该函数作为构造函数。
将函数更改为构造函数:
public partial class Prologue : Script{
public bool Panic;
public Prologue (){ //Called when the script starts
Panic = true;
}
或
调用正确的函数:
void Update10(){ //Runs this function every 10 seconds
Prologue prologue = new Prologue(); //prologue.cs
prologue.PrologueMission(); // Need this call
if (prologue.Panic) {
//code...
}
}
答案 2 :(得分:0)
您在开始时启动脚本。然后在Update10函数中创建一个新的对话框实例。由于您没有参考您在开头所做的对话,因此Panic属性仍为false。
您必须在任何地方使用相同的对话框。在开头创建对话框并将其存储到您可以在任何地方使用的变量。