问题描述
我想在两个脚本中使用此int:Dim FailedMessage As String = "This COPDI (On-Line) user failed: "
Dim PassedMessage As String = "This COPDI (On-Line) user passes: "
Dim ClassName As String = "COPDI (FAILED)"
Dim SendMailAddress As String = "myEmailAddress.com"
Dim SubsiteConnString As String = "Subsite_appSettings"
Dim MainsiteConnString As String = "SubsiteConn"
Dim RecordsReturned As Integer = 0
Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load
Dim UserName As String = User.Identity.Name()
Dim userID As Integer = GetUID(UserName)
Dim ClassDate As Date = DateTime.Now.AddHours(3).ToShortDateString
Dim ClassTime As String = DateTime.Now.AddHours(3). ToShortTimeString
If Not Page.IsPostBack Then
If Request.QueryString("code") = 1111 Then
RecordsReturned = RecordExist(UserName)
CreateEnrollment(UserName,ClassDate,ClassTime,ClassName,userID)
UpdateLastActivityDate(UserName)
If RecordsReturned < 3 Then
Response.Redirect("~/transcript.aspx" & "?code=" & RecordsReturned)
Else
Response.Redirect("~/transcript.aspx" & "?code=" & "more_than_three")
End If
End If
End If
End Sub
Public Sub CreateEnrollment(ByVal UserName As String,ByVal ClassDate As Date,ByVal ClassTime As String,ByVal ClassName As String,ByVal UID As Integer)
Dim connStr As String = ConfigurationManager.AppSettings.Get(SubsiteConnString)
Dim conn As New Data.OleDb.OleDbConnection(connStr)
Try
conn.Open()
Dim sql As String = "INSERT INTO EnrollmentsTbl (" & _
"[UserName],[SubmitTime],[ClassTime],[ClassDate],[Enrolled],[ClassName],[Instructor],[DateCompleted],[Completed],[WaitListed],[UID]) " & _
"VALUES (@UserName,@SubmitTime,@ClassTime,@ClassDate,@Enrolled,@ClassName,@Instructor,@DateCompleted,@Completed,@WaitListed,@UID) "
Dim comm As New Data.OleDb.OleDbCommand(sql,conn)
comm.Parameters.AddWithValue("@UserName",UserName)
comm.Parameters.AddWithValue("@SubmitTime",DateTime.Now.AddHours(3).ToString())
comm.Parameters.AddWithValue("@ClassTime",ClassTime)
comm.Parameters.AddWithValue("@ClassDate",ClassDate)
comm.Parameters.AddWithValue("@Enrolled",True)
comm.Parameters.AddWithValue("@ClassName",ClassName)
comm.Parameters.AddWithValue("@Instructor","On-line")
comm.Parameters.AddWithValue("@DateCompleted",DateTime.Now.AddHours(3).ToString)
comm.Parameters.AddWithValue("@Completed",False)
comm.Parameters.AddWithValue("@WaitListed",False)
comm.Parameters.AddWithValue("@UID",UID)
Dim result As Integer = comm.ExecuteNonQuery()
Catch ex As Exception
Response.Write(ex)
Finally
conn.Close()
End Try
End Sub
Public Function RecordExist(ByVal username As String) As Integer
Dim connStr As String = ConfigurationManager.AppSettings.Get(SubsiteConnString)
Dim conn As New Data.OleDb.OleDbConnection(connStr)
Dim sql As String = "SELECT COUNT(*) FROM EnrollmentsTbl " & _
"WHERE [UserName] = """ & username & """ AND ClassName LIKE """ & ClassName & """ AND [Completed] = 0 AND [Enrolled] = -1"
Dim DBCommand As New Data.OleDb.OleDbCommand(sql,conn)
Try
conn.Open()
Dim RecordCount As Integer = CInt(DBCommand.ExecuteScalar())
conn.Close()
Return RecordCount
Catch ex As Exception
Response.Write(ex)
Finally
conn.Close()
End Try
End Function
Public Function GetUID(ByVal username As String) As Integer
Dim xUserName As String = User.Identity.Name()
If (Not xUserName="") Then
Dim objConn As Data.OleDb.OleDbConnection
Dim objCmd As Data.OleDb.OleDbCommand
Dim objRdr As Data.OleDb.OleDbDataReader
Dim userAN As String
Dim strConnection As String = ConfigurationManager.ConnectionStrings("TechTrainingConn").ToString
objConn = New Data.OleDb.OleDbConnection(strConnection)
objCmd = New Data.OleDb.OleDbCommand("SELECT * FROM UsersDataTbl WHERE [UserName] = """ & xUserName & """",objConn)
Try
objConn.Open()
objRdr = objCmd.ExecuteReader()
While objRdr.Read()
userAN = objRdr.Item("UID")
End While
objRdr.Close()
objConn.Close()
Session("userID") = userAN
Return userAN
'Response.Write(Session("userAN") & " - " & xUserName)
Catch ex As Exception
Response.Write(ex)
Finally
objConn.Close()
End Try
End If
End Function
我希望两个脚本中的int值都相同。
这是我的第一个脚本:
public int wood;
这是我要在木头中使用的第二个脚本:
public class Tree :
MonoBehaviour { public int wood;
private void OnTriggerEnter2D(Collider2D collision)
{
wood += 1;
}
}
我想降低public class Base : MonoBehaviour {
private void OnTriggerEnter2D(Collider2D collision)
{
}
}
中的木材价值。我该怎么办?
解决方法
您可以将按钮组件添加到游戏对象中。(要在代码中使用此组件,请使用Button btn = Gameobject.GetComponent<Button>();
。要检测对按钮的单击,可以使用按钮具有的onclick
事件。
void Start(){
btn.onClick.AddListener(ButtonClicked);
}
void ButtonClicked(){
//code
}
您还可以添加OnMouseDown
和OnMouseUp
函数来创建按钮(这仅需要对撞机组件,而无需按钮组件。
void OnMouseDown(){
clicking = true;
}
void OnMouseUp(){
clicking = false;
}
,
单击按钮时将引发事件。 因此,您需要注册此事件触发时要执行的操作。
有多种方法,但其中一种可能是:
buttonVariable.onClick.AddListener(OnButtonDoSomething);
使用lambda expresion将是:
button.onClick.AddListener(() => OnButtonDoSomething());
因此,您需要在任何脚本中的Start
,OnEnable
或Awake
方法中对此进行声明。然后有一个Button
引用,以便您可以存储buttonVariable
并最终声明方法OnButtonDoSomething
。
为满足您的问题,您将存储一个名为buttonGotClicked
的布尔变量,并在新创建的方法中,将该布尔值设置为:
private void OnButtonDoSomething()
{
buttonGotClicked = true;
}
然后您可以if(buttonGotClicked)...