Esempio n. 1
0
    private void LateUpdate()
    {
        this.BlinkCtrl.CalcBlink();
        float blinkRate;

        if (this.BlinkCtrl.GetFixedFlags() == (byte)0)
        {
            blinkRate = this.BlinkCtrl.GetOpenRate();
            if (Object.op_Implicit((Object)this.EyeLookController))
            {
                float angleHrate = this.EyeLookController.eyeLookScript.GetAngleHRate(EYE_LR.EYE_L);
                float angleVrate = this.EyeLookController.eyeLookScript.GetAngleVRate();
                float num1       = -Mathf.Max(this.EyeLookDownCorrect, this.EyeLookSideCorrect);
                float num2       = 1f - this.EyeLookUpCorrect;
                if ((double)num2 > (double)this.EyesCtrl.OpenMax)
                {
                    num2 = this.EyesCtrl.OpenMax;
                }
                float num3 = Mathf.Clamp(((double)angleVrate <= 0.0 ? -MathfEx.LerpAccel(0.0f, this.EyeLookDownCorrect, -angleVrate) : MathfEx.LerpAccel(0.0f, this.EyeLookUpCorrect, angleVrate)) - MathfEx.LerpAccel(0.0f, this.EyeLookSideCorrect, angleHrate), num1, this.EyeLookUpCorrect) * (float)(1.0 - (1.0 - (double)this.EyesCtrl.OpenMax));
                this.EyesCtrl.SetCorrectOpenMax(num2 + num3);
            }
        }
        else
        {
            blinkRate = -1f;
        }
        this.EyebrowCtrl.CalcBlend(blinkRate);
        this.EyesCtrl.CalcBlend(blinkRate);
        this.MouthCtrl.CalcBlend(this.voiceValue);
    }
Esempio n. 2
0
    private void GenerateHole()
    {
        //Find the last point
        var lastPoint = points.Last();

        //Choose n random points around this point
        var samplePoints = new List<Vector3>();

        //Find offset point
        var offset = MathfEx.OffsetPointByAngleXZ(Vector3.zero, Random.value * 360f, options.offsetRadius * lastPoint.radius, transform.rotation);

        for(int i = 0; i < options.holeSampleCount; i++)
        {
            //Choose angle and distance
            float randAngle = Random.Range(0f, Mathf.PI * 2);
            float randDistance = Random.Range(0f, options.holeScaleFactor * (lastPoint.radius / 2f));

            //Add this point
            samplePoints.Add(MathfEx.OffsetPointByAngleXZ(offset + lastPoint.position, randAngle, randDistance, transform.rotation, true));
        }

        //Find the convex hull of these points
        holeHull = new Hull(samplePoints);

        //Spawn the flag
        this.SpawnFlag();

        //Generate player position
        playerPosition = this.GeneratePlayerPosition();
    }
        internal static void MakerSettingChangePreview(ChaControl chaCtrl, AccTriggerInfo Part)
        {
            AccStateSyncController pluginCtrl = GetController(chaCtrl);

            if (MathfEx.RangeEqualOn(0, Part.Kind, 7))
            {
                int  state = chaCtrl.fileStatus.clothesState[Part.Kind];
                bool vis   = Part.State[state];
                Part.Group = "";
                chaCtrl.SetAccessoryState(Part.Slot, vis);
            }
            else if (Part.Kind >= 9)
            {
                if (Part.Kind == 9)
                {
                    List <ChaFileAccessory.PartsInfo> PartsInfo = MoreAccessories_Support.GetAccessoriesInfos(chaCtrl);
                    Part.Group = PartsInfo[Part.Slot].parentKey;
                }
                else
                {
                    Part.Group = "custom_" + (Part.Kind - 9).ToString();
                }

                bool vis = true;
                if (pluginCtrl.VirtualGroupStates.ContainsKey(Part.Group))
                {
                    vis = pluginCtrl.VirtualGroupStates[Part.Group] ? Part.State[0] : Part.State[3];
                }
                chaCtrl.SetAccessoryState(Part.Slot, vis);
            }
        }
Esempio n. 4
0
    // Use this for initialization
    void Start()
    {
        this.Dissolve();

        button.OnCommand = () => {
            if (!lampsAreOn)
            {
                for (int i = 0; i < lamps.Count; i++)
                {
                    lamps[i].material.color = lampColors[MathfEx.Repeat(i, lamps.Count)];
                }

                lampsAreOn = true;
            }
            else
            {
                for (int i = 0; i < lamps.Count; i++)
                {
                    lamps[i].material.color = Color.white;
                }

                lampsAreOn = false;
            }
        };


        lamps[0].AddComponent <MyComponent>().Dissolve((GameObject go) => Debug.Log(string.Format("*** {0} is dissolved.", go.name)));
        lamps[1].AddComponent <MyComponent>(_.a((GameObject go) => Debug.Log(string.Format("*** {0} is dissolved.", go.name))));
    }
        private void SetPage(int _page)
        {
            StudioNode studioNode = (StudioNode)null;

            if (this.dicPage.TryGetValue(SceneLoadScene.page, out studioNode))
            {
                studioNode.select = false;
            }
            _page = Mathf.Clamp(_page, 0, this.pageNum - 1);
            int num = 12 * _page;

            for (int index = 0; index < 12; ++index)
            {
                int n = num + index;
                if (!MathfEx.RangeEqualOn <int>(0, n, this.thumbnailNum - 1))
                {
                    this.buttonThumbnail[index].interactable = false;
                }
                else
                {
                    this.buttonThumbnail[index].texture      = (Texture)PngAssist.LoadTexture(this.listPath[n]);
                    this.buttonThumbnail[index].interactable = true;
                }
            }
            SceneLoadScene.page = _page;
            if (this.dicPage.TryGetValue(SceneLoadScene.page, out studioNode))
            {
                studioNode.select = true;
            }
            Resources.UnloadUnusedAssets();
            GC.Collect();
        }
Esempio n. 6
0
        public override void Do()
        {
            base.Do();
            int num1 = 1;

            string[] args1  = this.args;
            int      index1 = num1;
            int      num2   = index1 + 1;
            float    shape  = float.Parse(args1[index1]);
            Dictionary <string, Vector3> v3Dic       = this.scenario.commandController.V3Dic;
            Dictionary <string, Vector3> dictionary1 = v3Dic;

            string[] args2  = this.args;
            int      index2 = num2;
            int      num3   = index2 + 1;
            string   index3 = args2[index2];
            Vector3  min    = dictionary1[index3];
            Dictionary <string, Vector3> dictionary2 = v3Dic;

            string[] args3  = this.args;
            int      index4 = num3;
            int      num4   = index4 + 1;
            string   index5 = args3[index4];
            Vector3  max    = dictionary2[index5];

            v3Dic[this.answer] = MathfEx.GetShapeLerpPositionValue(shape, min, max);
        }
Esempio n. 7
0
    public Hull(List <Vector3> points)
    {
        //Make a new convex hull
        this.points = ConvexHull.Compute(points, true);

        this.points = MathfEx.smoothPolygon(this.points);
    }
Esempio n. 8
0
    public void GenerateSandtraps()
    {
        //How many do we need to spawn?
        var amountToSpawn = Random.Range(sandtrapOptions.minSandtrapCount, sandtrapOptions.maxSandtrapCount);

        //Choose the smallest -- either the number of fairways or the number of
        //possible points which they can be spawned at.. this prevents infinite while loops
        amountToSpawn = Mathf.Min(amountToSpawn, fairway.points.Count - 1);

        //The chosen points
        var chosenIdxs = new int[amountToSpawn];

        //Number of tries, number of successful tries
        int tries = 0, spawned = 0;

        while (spawned < amountToSpawn)
        {
            //Choose a random node in the fairway which isnt:
            // a) the green
            // b) the tee
            // c) chosen from an existing fairway point

            //This is taking a long time.. so stop it
            if (++tries > (amountToSpawn * 10))
            {
                break;
            }

            //Compute random index
            int idx = Random.Range(1, fairway.points.Count);

            //Already contains it? try again..
            if (chosenIdxs.Contains(idx))
            {
                continue;
            }

            //Add the index
            chosenIdxs[spawned] = idx;

            //Choose a random node
            var randomNode = fairway.points[idx];

            //Calculate dist
            var dist = (randomNode.radius * Random.Range(sandtrapOptions.minRadiusDist, 1f));

            //Find offset
            var offset = randomNode.position + MathfEx.Polar2CartXZ(Random.value * 360f, dist, Quaternion.identity);

            //Calculate position
            var pos = offset;

            //Make a sandtrap here
            sandtraps.Add(new Sandtrap(pos, transform, sandtrapOptions));

            //Increment the count
            spawned++;
        }
    }
Esempio n. 9
0
 public void SetColor(Color _color, int _idx)
 {
     if (MathfEx.RangeEqualOn <int>(0, _idx, 3))
     {
         this.itemInfo.colors[_idx].mainColor = _color;
     }
     this.UpdateColor();
 }
Esempio n. 10
0
 public void SetMetallic(int _idx, float _value)
 {
     if (MathfEx.RangeEqualOn <int>(0, _idx, 3))
     {
         this.itemInfo.colors[_idx].metallic = _value;
     }
     this.UpdateColor();
 }
Esempio n. 11
0
 public void SetGlossiness(int _idx, float _value)
 {
     if (MathfEx.RangeEqualOn <int>(0, _idx, 3))
     {
         this.itemInfo.colors[_idx].glossiness = _value;
     }
     this.UpdateColor();
 }
Esempio n. 12
0
            internal void SetReferralIndex(int _index)
            {
                DebugMsg(LogLevel.Warning, $"[SetReferralIndex][{ChaControl.GetFullname()}][_index: {_index}]");

                if (ReferralIndex != _index)
                {
                    ReferralIndex = MathfEx.RangeEqualOn(0, _index, RefMax) ? _index : RefMax;
                }
            }
Esempio n. 13
0
 private void OnClickSelect(VoicePlayNode _vpn)
 {
     if (MathfEx.RangeEqualOn <int>(0, this.select, this.listNode.Count))
     {
         this.listNode[this.select].select = false;
     }
     this.select = this.listNode.FindIndex((Predicate <VoicePlayNode>)(v => Object.op_Equality((Object)v, (Object)_vpn)));
     this.listNode[this.select].select = true;
 }
Esempio n. 14
0
        private bool CalcAutoRotation(
            FakeTransform _ftransBlend,
            FakeTransform _ftransBase,
            Transform _transRef,
            CSwayParamDetail _Detail)
        {
            Quaternion.get_identity();
            float  num1 = 1f;
            float  num2 = 1f;
            double num3;
            float  num4 = (float)(num3 = 1.0);
            float  num5 = 0.0f;

            num4 = 0.0f;
            float num6 = Vector3.Dot(Vector3.get_up(), _transRef.get_up());
            float num7 = Vector3.Dot(Vector3.get_up(), _transRef.get_forward());
            float num8 = Vector3.Dot(Vector3.get_up(), _transRef.get_right());
            float num9 = Mathf.Abs(num6);

            if ((double)num7 > 0.0)
            {
                num1 = -1f;
            }
            float num10 = Mathf.Abs(num7);

            if ((double)num8 > 0.0)
            {
                num2 = -1f;
            }
            float num11     = Mathf.Abs(num8);
            float num12     = Mathf.InverseLerp(1f, 0.0f, num9) * Mathf.InverseLerp(0.0f, 1f, num11);
            float fAutoRot1 = _Detail.fAutoRot;

            if ((double)num2 < 0.0)
            {
                fAutoRot1 *= -1f;
            }
            float num13 = Mathf.Lerp(0.0f, fAutoRot1, num12);

            if (!_Detail.bAutoRotUp || (double)num1 > 0.0)
            {
                float num14     = Mathf.InverseLerp(1f, 0.0f, num9) * Mathf.InverseLerp(0.0f, 1f, num10);
                float fAutoRot2 = _Detail.fAutoRot;
                if (!((double)num1 <= 0.0 ? !this.m_bLR : this.m_bLR))
                {
                    fAutoRot2 *= -1f;
                }
                num5 = Mathf.Lerp(0.0f, fAutoRot2, num14);
            }
            Quaternion quaternion = Quaternion.AngleAxis(MathfEx.ToDegree(num5 + num13), Vector3.get_up());

            _ftransBlend.Rot   = Quaternion.op_Multiply(_ftransBase.Rot, quaternion);
            _ftransBlend.Pos   = _ftransBase.Pos;
            _ftransBlend.Scale = _ftransBase.Scale;
            return(true);
        }
Esempio n. 15
0
    // Start is called before the first frame update
    void Start()
    {
        for (int i = 0; i < 25; i++)
        {
            points.Add(centre.position + MathfEx.Polar2CartXZ(Random.value * 360, Random.value * 2f, Quaternion.identity));
        }

        hull = new Hull(points);
        // smoothHull = MathfEx.smoothPolygon(hull.points);
    }
Esempio n. 16
0
    public Hull(List <Vector3> pointsA, List <Vector3> pointsB)
    {
        //Union the two together -- not the best approach but its 2am
        List <Vector3> allPoints = pointsA.Union(pointsB).ToList();

        //Compute the hull and save it
        this.points = ConvexHull.Compute(allPoints, true);

        this.points = MathfEx.smoothPolygon(this.points);
    }
Esempio n. 17
0
    // Token: 0x06008697 RID: 34455 RVA: 0x0034AC84 File Offset: 0x00349084
    private void OnLateUpdate()
    {
        BlinkCtrl.CalcBlink();
        var fbsblinkControl = BlinkCtrl;

        if (BlinkCtrlEx != null)
        {
            fbsblinkControl = BlinkCtrlEx;
        }
        float blinkRate;

        if (fbsblinkControl.GetFixedFlags() == 0)
        {
            blinkRate = fbsblinkControl.GetOpenRate();
            if (EyeLookController)
            {
                var angleHRate = EyeLookController.eyeLookScript.GetAngleHRate(EYE_LR.EYE_L);
                var angleVRate = EyeLookController.eyeLookScript.GetAngleVRate();
                var min        = -Mathf.Max(EyeLookDownCorrect, EyeLookSideCorrect);
                var num        = 1f - EyeLookUpCorrect;
                if (num > EyesCtrl.OpenMax)
                {
                    num = EyesCtrl.OpenMax;
                }
                float num2;
                if (angleVRate > 0f)
                {
                    num2 = MathfEx.LerpAccel(0f, EyeLookUpCorrect, angleVRate);
                }
                else
                {
                    num2 = -MathfEx.LerpAccel(0f, EyeLookDownCorrect, -angleVRate);
                }
                if (angleHRate > 0f)
                {
                    num2 -= MathfEx.LerpAccel(0f, EyeLookSideCorrect, angleHRate);
                }
                else
                {
                    num2 -= MathfEx.LerpAccel(0f, EyeLookSideCorrect, -angleHRate);
                }
                num2  = Mathf.Clamp(num2, min, EyeLookUpCorrect);
                num2 *= 1f - (1f - EyesCtrl.OpenMax);
                EyesCtrl.SetCorrectOpenMax(num + num2);
            }
        }
        else
        {
            blinkRate = -1f;
        }

        EyebrowCtrl.CalcBlend(blinkRate);
        EyesCtrl.CalcBlend(blinkRate);
        MouthCtrl.CalcBlend(voiceValue);
    }
Esempio n. 18
0
 public int CheckNewIndex()
 {
     for (int n = -1; MathfEx.RangeEqualOn <int>(0, n, int.MaxValue); ++n)
     {
         if (!this.hashIndex.Contains(n))
         {
             return(n);
         }
     }
     return(-1);
 }
Esempio n. 19
0
    // Token: 0x06008697 RID: 34455 RVA: 0x0034AC84 File Offset: 0x00349084
    private void OnLateUpdate()
    {
        this.BlinkCtrl.CalcBlink();
        FBSBlinkControl fbsblinkControl = this.BlinkCtrl;

        if (this.BlinkCtrlEx != null)
        {
            fbsblinkControl = this.BlinkCtrlEx;
        }
        float blinkRate;

        if (fbsblinkControl.GetFixedFlags() == 0)
        {
            blinkRate = fbsblinkControl.GetOpenRate();
            if (this.EyeLookController)
            {
                float angleHRate = this.EyeLookController.eyeLookScript.GetAngleHRate(EYE_LR.EYE_L);
                float angleVRate = this.EyeLookController.eyeLookScript.GetAngleVRate();
                float min        = -Mathf.Max(this.EyeLookDownCorrect, this.EyeLookSideCorrect);
                float num        = 1f - this.EyeLookUpCorrect;
                if (num > this.EyesCtrl.OpenMax)
                {
                    num = this.EyesCtrl.OpenMax;
                }
                float num2;
                if (angleVRate > 0f)
                {
                    num2 = MathfEx.LerpAccel(0f, this.EyeLookUpCorrect, angleVRate);
                }
                else
                {
                    num2 = -MathfEx.LerpAccel(0f, this.EyeLookDownCorrect, -angleVRate);
                }
                if (angleHRate > 0f)
                {
                    num2 -= MathfEx.LerpAccel(0f, this.EyeLookSideCorrect, angleHRate);
                }
                else
                {
                    num2 -= MathfEx.LerpAccel(0f, this.EyeLookSideCorrect, -angleHRate);
                }
                num2  = Mathf.Clamp(num2, min, this.EyeLookUpCorrect);
                num2 *= 1f - (1f - this.EyesCtrl.OpenMax);
                this.EyesCtrl.SetCorrectOpenMax(num + num2);
            }
        }
        else
        {
            blinkRate = -1f;
        }
        this.EyebrowCtrl.CalcBlend(blinkRate);
        this.EyesCtrl.CalcBlend(blinkRate);
        this.MouthCtrl.CalcBlend(this.voiceValue);
    }
Esempio n. 20
0
 public void SetOptionVisible(int _idx, bool _visible)
 {
     if (MathfEx.RangeEqualOn <int>(0, _idx, this.itemInfo.option.Count - 1))
     {
         this.itemInfo.option[_idx] = _visible;
     }
     if (this.itemComponent == null)
     {
         return;
     }
     this.itemComponent.SetOptionVisible(_idx, _visible);
 }
Esempio n. 21
0
 public int GetNewIndex()
 {
     for (int n = 0; MathfEx.RangeEqualOn <int>(0, n, int.MaxValue); ++n)
     {
         if (!this.hashIndex.Contains(n))
         {
             this.hashIndex.Add(n);
             return(n);
         }
     }
     return(-1);
 }
Esempio n. 22
0
            public static void Migrate(int _coordinate, OutfitTriggerInfo _outfitTriggerInfo, Dictionary <string, VirtualGroupInfo> _outfitVirtualGroupInfo, ref List <TriggerProperty> _outputTriggerProperty, ref List <TriggerGroup> _outputTriggerGroup)
            {
                if (_outfitTriggerInfo == null)
                {
                    return;
                }
                if (_outfitVirtualGroupInfo == null)
                {
                    _outfitVirtualGroupInfo = new Dictionary <string, VirtualGroupInfo>();
                }

                Dictionary <string, int> _mapping = new Dictionary <string, int>();
                int _refBase = 9;

                List <AccTriggerInfo> _parts = _outfitTriggerInfo.Parts.Values.OrderBy(x => x.Kind).ThenBy(x => x.Group).ThenBy(x => x.Slot).ToList();

                foreach (AccTriggerInfo _part in _parts)
                {
                    if (MathfEx.RangeEqualOn(0, _part.Kind, 8))
                    {
                        for (int i = 0; i < 4; i++)
                        {
                            _outputTriggerProperty.Add(new TriggerProperty(_coordinate, _part.Slot, _part.Kind, i, _part.State[i], 0));
                        }
                    }
                    else if (_part.Kind >= 9)
                    {
                        if (!_mapping.ContainsKey(_part.Group))
                        {
                            _mapping[_part.Group] = _refBase;
                            _refBase++;
                        }

                        _outputTriggerProperty.Add(new TriggerProperty(_coordinate, _part.Slot, _mapping[_part.Group], 0, _part.State[0], 0));
                        _outputTriggerProperty.Add(new TriggerProperty(_coordinate, _part.Slot, _mapping[_part.Group], 1, _part.State[3], 0));
                    }
                }

                foreach (KeyValuePair <string, int> x in _mapping)
                {
                    if (!_outfitVirtualGroupInfo.ContainsKey(x.Key))
                    {
                        string _label = _accessoryParentNames.ContainsKey(x.Key) ? _accessoryParentNames[x.Key] : x.Key;
                        _outputTriggerGroup.Add(new TriggerGroup(_coordinate, x.Value, _label));
                    }
                    else
                    {
                        VirtualGroupInfo _group = _outfitVirtualGroupInfo[x.Key];
                        _outputTriggerGroup.Add(new TriggerGroup(_coordinate, x.Value, _group.Label, (_group.State ? 0 : 1), 0, (_group.Secondary ? 1 : -1)));
                    }
                }
            }
Esempio n. 23
0
            public bool Calculate(IEnumerable <CharaData> datas, out Vector3 pos, out Vector3 ang)
            {
                if (datas == null || !datas.Any <CharaData>())
                {
                    pos = Vector3.get_zero();
                    ang = Vector3.get_zero();
                    return(false);
                }
                float shape = datas.Average <CharaData>((Func <CharaData, float>)(item => item.chaCtrl.GetShapeBodyValue(0)));

                pos = MathfEx.GetShapeLerpPositionValue(shape, this.pos.min, this.pos.max);
                ang = MathfEx.GetShapeLerpAngleValue(shape, this.ang.min, this.ang.max);
                return(true);
            }
Esempio n. 24
0
 public bool this[int _idx]
 {
     get
     {
         return(this._enable.SafeGet <bool>(_idx));
     }
     set
     {
         if (!MathfEx.RangeEqualOn <int>(0, _idx, this._enable.Length - 1))
         {
             return;
         }
         this._enable[_idx] = value;
     }
 }
Esempio n. 25
0
    private void GenerateFairwayHulls()
    {
        for (int i = 1; i < points.Count; i++)
        {
            FairwayPoint prev = points[i - 1];
            FairwayPoint next = points[i];

            var prevPoints = MathfEx.CircleCoordinatesXZ(prev.position, prev.radius, transform.rotation, options.circleFidelity);
            var nextPoints = MathfEx.CircleCoordinatesXZ(next.position, next.radius, transform.rotation, options.circleFidelity);

            hulls.Add(new Hull(prevPoints, nextPoints));
        }

        this.GenerateFairwayOuterHulls();
    }
Esempio n. 26
0
 // Token: 0x060032D5 RID: 13013 RVA: 0x0012C8D4 File Offset: 0x0012ACD4
 public static string GetBloodTypeStr(int bloodType)
 {
     string[] array = new string[]
     {
         "A型",
         "B型",
         "O型",
         "AB型"
     };
     if (MathfEx.RangeEqualOn <int>(0, bloodType, array.Length - 1))
     {
         return(array[bloodType]);
     }
     return("不明");
 }
            internal void ToggleByClothesState(ChaControl chaCtrl, int kind, int state)
            {
                if (TriggerEnabled)
                {
                    if (!MathfEx.RangeEqualOn(0, kind, 7))
                    {
                        return;
                    }

                    List <AccTriggerInfo> Parts = CurOutfitTriggerInfo.Parts.Where(x => x.Kind == kind).ToList();
                    foreach (AccTriggerInfo Part in Parts)
                    {
                        chaCtrl.SetAccessoryState(Part.Slot, Part.State[state]);
                    }
                }
            }
Esempio n. 28
0
    public static Vector2[] GetOffsets(int amountOfPositions, float facingDirection, float spreadAngle)
    {
        var offsets = new Vector2[amountOfPositions];

        float originAngle = facingDirection + (spreadAngle / 2f);
        float increment   = (amountOfPositions != 1) ? (spreadAngle / (amountOfPositions - 1)) : 0;

        for (int i = 0; i < amountOfPositions; i++)
        {
            float angle  = originAngle - (increment * i);
            var   vector = MathfEx.AngleToVector2(angle);

            offsets[i] = vector;
        }
        return(offsets);
    }
Esempio n. 29
0
    private void GenerateFairwayOuterHulls()
    {
        for (int i = 1; i < points.Count; i++)
        {
            FairwayPoint prev = points[i - 1];
            FairwayPoint next = points[i];

            //Calculate outer hull radii
            float pR = prev.radius + (prev.radius * options.outerHullOffset);
            float nR = next.radius + (prev.radius * options.outerHullOffset);

            var prevPoints = MathfEx.CircleCoordinatesXZ(prev.position, pR, transform.rotation, options.circleFidelity);
            var nextPoints = MathfEx.CircleCoordinatesXZ(next.position, nR, transform.rotation, options.circleFidelity);

            outerHulls.Add(new Hull(prevPoints, nextPoints));
        }
    }
Esempio n. 30
0
 private void SelectMultipleLoop(TreeNodeObject _source, float _min, float _max)
 {
     if (Object.op_Equality((Object)_source, (Object)null))
     {
         return;
     }
     if (MathfEx.RangeEqualOff <float>(_min, (float)((Transform)_source.rectNode).get_position().y, _max))
     {
         this.AddSelectNode(_source, true);
     }
     if (_source.treeState == TreeNodeObject.TreeState.Close)
     {
         return;
     }
     foreach (TreeNodeObject _source1 in _source.child)
     {
         this.SelectMultipleLoop(_source1, _min, _max);
     }
 }