Esempio n. 1
0
        void ClusterSetupUI()
        {
            GUILayout.BeginHorizontal();

            if (GUILayout.Button("Setup Cluster", GUILayout.Height(25)))
            {
                if (Application.isPlaying == false)
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireRigid != null)
                        {
                            RFPhysic.DestroyColliders(targ as RayfireRigid);
                            (targ as RayfireRigid).clusterDemolition.cluster       = new RFCluster();
                            (targ as RayfireRigid).clusterDemolition.clsCount      = 1;
                            (targ as RayfireRigid).clusterDemolition.minorClusters = null;

                            (targ as RayfireRigid).SetComponentsBasic();
                            (targ as RayfireRigid).SetParticleComponents();

                            if (RFDemolitionCluster.Clusterize(targ as RayfireRigid) == false)
                            {
                                Debug.Log("RayFire Rigid: " + (targ as RayfireRigid).name + " has no children with mesh.");
                            }
                            SetDirty(targ as RayfireRigid);
                        }
                    }
                }
            }

            if (GUILayout.Button("Reset Cluster", GUILayout.Height(25)))
            {
                if (Application.isPlaying == false)
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireRigid != null)
                        {
                            RFPhysic.DestroyColliders(targ as RayfireRigid);
                            (targ as RayfireRigid).clusterDemolition.cluster       = new RFCluster();
                            (targ as RayfireRigid).clusterDemolition.clsCount      = 1;
                            (targ as RayfireRigid).clusterDemolition.minorClusters = null;
                            SetDirty(targ as RayfireRigid);
                        }
                    }
                }
            }

            EditorGUILayout.EndHorizontal();
        }
Esempio n. 2
0
        void ClusterSetupUI()
        {
            GUILayout.BeginHorizontal();

            if (GUILayout.Button("Setup Cluster", GUILayout.Height(25)))
            {
                if (Application.isPlaying == false)
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireRigid != null)
                        {
                            RFDemolitionCluster.SetupCluster(targ as RayfireRigid);
                            SetDirty(targ as RayfireRigid);
                        }
                    }
                }
            }

            if (GUILayout.Button("Reset Cluster", GUILayout.Height(25)))
            {
                if (Application.isPlaying == false)
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireRigid != null)
                        {
                            RFPhysic.DestroyColliders(targ as RayfireRigid);
                            (targ as RayfireRigid).clusterDemolition.cluster       = new RFCluster();
                            (targ as RayfireRigid).clusterDemolition.clsCount      = 1;
                            (targ as RayfireRigid).clusterDemolition.minorClusters = null;
                            SetDirty(targ as RayfireRigid);
                        }
                    }
                }
            }

            EditorGUILayout.EndHorizontal();
        }