// In case of "Physics_Track". void Set_Reference() { Drive_Wheel_CS [] Drive_Wheel_Scripts = GetComponentsInChildren <Drive_Wheel_CS> (); foreach (Drive_Wheel_CS Temp_Script in Drive_Wheel_Scripts) { if (Temp_Script.transform.localEulerAngles.z == 0.0f) { if (Wheel_Transform_L == null) { Wheel_Transform_L = Temp_Script.transform; Wheel_RigidBody_L = Temp_Script.GetComponent <Rigidbody>(); } } else { if (Wheel_Transform_R == null) { Wheel_Transform_R = Temp_Script.transform; Wheel_RigidBody_R = Temp_Script.GetComponent <Rigidbody>(); } } } // if (Wheel_Transform_L && Wheel_Transform_R) { Circumference_L = Wheel_Transform_L.GetComponent <SphereCollider> ().radius * 6.28f; Circumference_R = Wheel_Transform_R.GetComponent <SphereCollider> ().radius * 6.28f; } else { Debug.LogWarning("Reference Wheels for the engine sound can not be found. (Physics Tank Maker)"); Destroy(this); } }
void Arrange() { //Create gameobject & Set transform Temp_Object = new GameObject("Block(Rest)"); Temp_Object.transform.parent = Parent_Transform; Temp_Object.transform.localPosition = new Vector3(Pos_X, Pos_Y, Pos_Z) - new Vector3(X_SpacingProp.floatValue * ((X_NumberProp.intValue - 1)) / 2, -ScaleProp.vector3Value.y / 2, Z_SpacingProp.floatValue * ((Z_NumberProp.intValue - 1)) / 2); Temp_Object.transform.localRotation = Quaternion.identity; Temp_Object.transform.localScale = ScaleProp.vector3Value; // Add components Temp_Object.AddComponent <MeshRenderer> (); Temp_Object.GetComponent <Renderer>().material = Block_MaterialProp.objectReferenceValue as Material; MeshFilter Temp_MeshFilter; Temp_MeshFilter = Temp_Object.AddComponent <MeshFilter> (); Temp_MeshFilter.mesh = Block_MeshProp.objectReferenceValue as Mesh; MeshCollider Temp_MeshCollider; Temp_MeshCollider = Temp_Object.AddComponent <MeshCollider> (); Temp_MeshCollider.material = Collider_MaterialProp.objectReferenceValue as PhysicMaterial; Temp_MeshCollider.sharedMesh = Collider_MeshProp.objectReferenceValue as Mesh; Temp_MeshCollider.convex = ConvexProp.boolValue; // Add Script Wall_Builder_Finishing_CS Temp_Script; Temp_Script = Temp_Object.AddComponent <Wall_Builder_Finishing_CS> (); Temp_Script.Set_Mass(Block_MassProp.floatValue); }
void Set_AP() { // Create Particle ( Prefab ) if (MuzzleFire_Object) { GameObject Fire_Object; Fire_Object = Instantiate(MuzzleFire_Object, This_Transform.position, This_Transform.rotation) as GameObject; Fire_Object.transform.parent = This_Transform; } // Create GameObject & Set Transform GameObject Bullet_Object = new GameObject("Bullet_AP"); Bullet_Object.transform.position = This_Transform.position + (This_Transform.forward * Offset); Bullet_Object.transform.rotation = This_Transform.rotation; Bullet_Object.transform.localScale = Bullet_Scale; // Add Components MeshRenderer Temp_MeshRenderer = Bullet_Object.AddComponent <MeshRenderer>(); Temp_MeshRenderer.material = Bullet_Material; MeshFilter Temp_MeshFilter; Temp_MeshFilter = Bullet_Object.AddComponent <MeshFilter>(); Temp_MeshFilter.mesh = Bullet_Mesh; Rigidbody Temp_Rigidbody = Bullet_Object.AddComponent <Rigidbody>(); Temp_Rigidbody.mass = Bullet_Mass; Temp_Rigidbody.drag = Bullet_Drag; BoxCollider Temp_BoxCollider; Temp_BoxCollider = Bullet_Object.AddComponent <BoxCollider>(); Temp_BoxCollider.size = Vector3.Scale(Temp_MeshFilter.mesh.bounds.size, BoxCollider_Scale); Temp_BoxCollider.center = new Vector3(0.0f, 0.0f, (Temp_BoxCollider.size.z - Temp_MeshFilter.mesh.bounds.size.z) / 2.0f); Temp_BoxCollider.material = Bullet_PhysicMat; if (Trail_Flag) { TrailRenderer Temp_TrailRenderer; Temp_TrailRenderer = Bullet_Object.AddComponent <TrailRenderer>(); Temp_TrailRenderer.startWidth = Trail_Start_Width; Temp_TrailRenderer.endWidth = Trail_End_Width; Temp_TrailRenderer.time = Trail_Time; Temp_TrailRenderer.material = Trail_Material; } // Add Scripts Bullet_Control_CS Temp_Script; Temp_Script = Bullet_Object.AddComponent <Bullet_Control_CS>(); Temp_Script.Set_Type(Bullet_Type); Temp_Script.Set_AP_Value(Delete_Time, Impact_Object, Ricochet_Object); Temp_Script.Attack_Multiplier = Attack_Multiplier; Temp_Script.Set_Debug_Mode(Debug_Flag); Temp_Script.current_player = current_player; // Shoot Temp_Rigidbody.velocity = Bullet_Object.transform.forward * Bullet_Force; }
void Set_Interpolator(string Direction) { //Create gameobject & Set transform Transform Base_Transform = Parent_Transform.Find("TrackBelt_" + Direction + "_" + Count); Transform Front_Transform = Parent_Transform.Find("TrackBelt_" + Direction + "_" + (Count + 1)); if (Front_Transform == null) { Front_Transform = Parent_Transform.Find("TrackBelt_" + Direction + "_1"); } GameObject Temp_Object = new GameObject("Interpolator"); Temp_Object.transform.parent = Base_Transform; Vector3 Base_Pos = Base_Transform.position + (Base_Transform.forward * Joint_OffsetProp.floatValue); Vector3 Front_Pos = Front_Transform.position - (Front_Transform.forward * Joint_OffsetProp.floatValue); Temp_Object.transform.position = Vector3.Slerp(Base_Pos, Front_Pos, 0.5f); Temp_Object.transform.rotation = Quaternion.Slerp(Base_Transform.rotation, Front_Transform.rotation, 0.5f); // Mesh Temp_Object.AddComponent <MeshRenderer> (); MeshFilter Temp_MeshFilter; Temp_MeshFilter = Temp_Object.AddComponent <MeshFilter> (); if (Direction == "R") { Temp_MeshFilter.mesh = Interpolation_R_MeshProp.objectReferenceValue as Mesh; Temp_Object.GetComponent <Renderer>().material = Interpolation_R_MaterialProp.objectReferenceValue as Material; } else { Temp_MeshFilter.mesh = Interpolation_L_MeshProp.objectReferenceValue as Mesh; Temp_Object.GetComponent <Renderer>().material = Interpolation_L_MaterialProp.objectReferenceValue as Material; } // Track_Interpolation_CS Track_Interpolation_CS Temp_Script; Temp_Script = Temp_Object.AddComponent <Track_Interpolation_CS> (); Temp_Script.Set_Value(Base_Transform, Front_Transform, Joint_OffsetProp.floatValue, SpacingProp.floatValue, Direction); }