//void OnGUI() //{ // GUI.TextField(new Rect(GameCamera.WorldToScreenPoint(this.transform.position).x, GameCamera.WorldToScreenPoint(this.transform.position).y + 40, 140, 60), "wire voltage:" + voltage + "\nvoltage sum:" + voltage_sum_buf + "\namperge:" + amperage); //} private void OnTriggerStay(Collider other_object) { if (other_object.GetComponent <input_point>()) { input_connect = other_object.GetComponent <input_point>(); input_voltage_buf[i] = input_connect.parts_voltage; if (input_connect.amperage >= 0) { input_amparege += input_connect.amperage; amp_j++; } else { output_amperage -= input_connect.amperage; amp_i++; } i++; if (input_connect.flag == false) { in_flag = true; in_voltage = input_connect.voltage; } } if (other_object.GetComponent <output_point>()) { output_connect = other_object.GetComponent <output_point>(); output_voltage_buf[j] = output_connect.parts_voltage; if (output_connect.amperage > 0) { output_amperage += output_connect.amperage; amp_i++; } else { input_amparege -= output_connect.amperage; amp_j++; } j++; if (output_connect.flag == false) { out_flag = true; out_voltage = output_connect.voltage; } } //if (other_object.GetComponent<wire>()) //{ // input_voltage_buf[i] = other_object.GetComponent<wire>().voltage; // if (input_connect.amperage >= 0) // { // amperage_def = other_object.GetComponent<wire>().amperage_def; // } // i++; //} }
// Update is called once per frame void Update() { output_pointval = GetComponentInChildren <output_point>(); input_pointval = GetComponentInChildren <input_point>(); amperage_def = output_pointval.amperage_def; // print(" amperage_def" + amperage_def); if (battery_exist_flag == false) { if (output_pointval.wire_attached_flag && input_pointval.wire_attached_flag) { if (Mathf.Abs(amperage_def) < 0.04f) { amperage = amperage + amperage_def / 2.0f; } else { amperage = amperage + 0.02f * Math.Sign(amperage_def); } } else if (output_pointval.wire_attached_flag) { amperage = 0; } else if (input_pointval.wire_attached_flag) { amperage = 0; } input_voltage = 0; output_voltage = input_voltage + voltage; } else { if (output_pointval.wire_attached_flag && input_pointval.wire_attached_flag) { if (Math.Abs(amperage_def) < 0.009f) { amperage = amperage + amperage_def / 2.0f; } else { amperage = amperage + 0.0045f * Math.Sign(amperage_def); } input_voltage = (output_pointval.wire_voltage + input_pointval.wire_voltage - voltage) / 2.0f; output_voltage = input_voltage + voltage; //output_voltage = output_pointval.wire_voltage; //input_voltage = output_voltage - voltage; } else if (output_pointval.wire_attached_flag) { output_voltage = output_pointval.wire_voltage; input_voltage = output_voltage - voltage; amperage = 0; } else if (input_pointval.wire_attached_flag) { input_voltage = input_pointval.wire_voltage; output_voltage = input_voltage + voltage; amperage = 0; } } }
//void OnGUI() //{ // GUI.TextField(new Rect(GameCamera.WorldToScreenPoint(this.transform.position).x, GameCamera.WorldToScreenPoint(this.transform.position).y + 40, 140, 60), "weight:" + weight + "\namperage_def:" + amperage_def + "\nvoltage:" + voltage); //} private void OnTriggerStay(Collider other_object) { if (!eliminate) { if (other_object.GetComponent <input_point>()) { input_connect = other_object.GetComponent <input_point>(); input_voltage_buf[i] = input_connect.parts_voltage; // print("input:"+input_connect.amperage+"name"+input_connect.gameObject.transform.parent.name); if (input_connect.amperage >= 0) { input_amparege += input_connect.amperage; amp_j++; } else { output_amperage -= input_connect.amperage; amp_i++; } i++; if (!input_connect.flag) { // print("get"); in_flag = true; in_voltage = input_connect.voltage; } } if (other_object.GetComponent <output_point>()) { output_connect = other_object.GetComponent <output_point>(); output_voltage_buf[j] = output_connect.parts_voltage; // print("output:" + output_connect.amperage + "name" + output_connect.gameObject.name); if (output_connect.amperage > 0) { output_amperage += output_connect.amperage; amp_i++; } else { input_amparege -= output_connect.amperage; amp_j++; } j++; if (!output_connect.flag) { out_flag = true; out_voltage = output_connect.voltage; } } if (other_object.GetComponent <wire>()) { if (!other_object.GetComponent <wire>().solved) { for (k = 0; k < other_object.GetComponent <wire>().i; k++) { input_voltage_buf[i + k] = other_object.GetComponent <wire>().input_voltage_buf[k]; } i = i + k; for (k = 0; k < other_object.GetComponent <wire>().j; k++) { output_voltage_buf[i + k] = other_object.GetComponent <wire>().output_voltage_buf[k]; } j = j + k; output_amperage += other_object.GetComponent <wire>().output_amperage; amp_i += other_object.GetComponent <wire>().amp_i; input_amparege += other_object.GetComponent <wire>().input_amparege; amp_j += other_object.GetComponent <wire>().amp_j; if (other_object.GetComponent <wire>().in_flag) { in_flag = true; in_voltage = other_object.GetComponent <wire>().in_voltage; } if (other_object.GetComponent <wire>().out_flag) { out_flag = true; out_voltage = other_object.GetComponent <wire>().out_voltage; } } else { //print("already solved"); for (k = 0; k < other_object.GetComponent <wire>().i; k++) { input_voltage_buf[k] = other_object.GetComponent <wire>().input_voltage_buf[k]; } i = k; for (k = 0; k < other_object.GetComponent <wire>().j; k++) { output_voltage_buf[k] = other_object.GetComponent <wire>().output_voltage_buf[k]; } j = k; output_amperage = other_object.GetComponent <wire>().output_amperage; amp_i = other_object.GetComponent <wire>().amp_i; input_amparege = other_object.GetComponent <wire>().input_amparege; amp_j = other_object.GetComponent <wire>().amp_j; if (other_object.GetComponent <wire>().in_flag) { in_flag = true; in_voltage = other_object.GetComponent <wire>().in_voltage; } if (other_object.GetComponent <wire>().out_flag) { out_flag = true; out_voltage = other_object.GetComponent <wire>().out_voltage; } } solved = true; } } }