Пример #1
0
 public void SetInputPopup(Enum popup)
 {
     if (inputKind == InputKind.Terrain)
     {
         inputTerrain = (InputTerrain)popup;
     }
     else if (inputKind == InputKind.Noise)
     {
         inputNoise = (InputNoise)popup;
     }
     else if (inputKind == InputKind.Shape)
     {
         inputShape = (InputShape)popup;
     }
     else if (inputKind == InputKind.File)
     {
         inputFile = (InputFile)popup;
     }
     else if (inputKind == InputKind.Current)
     {
         inputCurrent = (InputCurrent)popup;
     }
     else if (inputKind == InputKind.Portal)
     {
         inputPortal = (InputPortal)popup;
     }
 }
Пример #2
0
        public void UpdateVersion()
        {
            if (versionNumber == 0)
            {
                wrapMode = clamp ? ImageWrapMode.Clamp : ImageWrapMode.Repeat;
                size.y   = 1024;

                if (inputKind == InputKind.Terrain)
                {
                    if (inputTerrain == InputTerrain.Collision)
                    {
                        inputTerrain = InputTerrain.Convexity;
                    }
                    else if (inputTerrain == InputTerrain.Splatmap)
                    {
                        inputTerrain = InputTerrain.Collision;
                    }
                    else if (inputTerrain == InputTerrain.Convexity)
                    {
                        inputTerrain = InputTerrain.Splatmap;
                    }
                }

                if (inputKind == InputKind.File && inputFile == InputFile.RawImage)
                {
                    t.localScale = new Vector3(t.localScale.x, t.localScale.y, -t.localScale.z);
                }

                if (inputKind == InputKind.Noise)
                {
                    if (inputNoise == InputNoise.Billow)
                    {
                        inputNoise = InputNoise.Ridged;
                    }
                    else if (inputNoise == InputNoise.Ridged)
                    {
                        inputNoise = InputNoise.Billow;
                    }
                    else if (inputNoise == InputNoise.IQ)
                    {
                        inputNoise = InputNoise.Random;
                    }
                }

                SetVersionNumber();
            }
        }
Пример #3
0
        static public void ClickMenuInput(object obj)
        {
            int    instanceID;
            string command = TD.ObjectToCommandAndInstanceID(obj, out instanceID);

            TC_Node node = EditorUtility.InstanceIDToObject(instanceID) as TC_Node;

            if (node != null)
            {
                int    index     = command.IndexOf("/");
                string inputKind = command.Substring(0, index);
                string input     = command.Substring(index + 1);
                bool   changed   = false;

                InputKind oldInputKind = node.inputKind;
                node.inputKind = (InputKind)Enum.Parse(typeof(InputKind), inputKind);

                if (node.inputKind != oldInputKind)
                {
                    changed = true;
                }

                if (inputKind == "Terrain")
                {
                    InputTerrain oldInputTerrain = node.inputTerrain;
                    node.inputTerrain = (InputTerrain)Enum.Parse(typeof(InputTerrain), input);
                    if (node.inputTerrain != oldInputTerrain)
                    {
                        changed = true;
                    }
                }
                else if (inputKind == "Noise")
                {
                    InputNoise oldInputNoise = node.inputNoise;
                    node.inputNoise = (InputNoise)Enum.Parse(typeof(InputNoise), input);
                    if (node.inputNoise != oldInputNoise)
                    {
                        changed = true;
                    }
                }
                else if (inputKind == "Shape")
                {
                    InputShape oldInputShape = node.inputShape;
                    node.inputShape = (InputShape)Enum.Parse(typeof(InputShape), input);
                    if (node.inputShape != oldInputShape)
                    {
                        changed = true;
                    }
                }
                else if (inputKind == "File")
                {
                    InputFile oldInputFile = node.inputFile;
                    node.inputFile = (InputFile)Enum.Parse(typeof(InputFile), input);
                    if (node.inputFile != oldInputFile)
                    {
                        changed = true;
                    }
                }
                else if (inputKind == "Current")
                {
                    InputCurrent oldInputCurrent = node.inputCurrent;
                    node.inputCurrent = (InputCurrent)Enum.Parse(typeof(InputCurrent), input);
                    if (node.inputCurrent != oldInputCurrent)
                    {
                        changed = true;
                    }
                }

                if (changed)
                {
                    node.Init();
                    EditorUtility.SetDirty(node);
                    TC.RefreshOutputReferences(node.outputId, true);
                }
            }
        }