Esempio n. 1
0
 // 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;
    }
Esempio n. 4
0
    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);
    }