Exemplo n.º 1
0
        private void UpdateHelmet(NiAVObject root)
        {
            if (root == null)
            {
                return;
            }

            var rootNode = root.As <NiNode>();

            if (rootNode == null)
            {
                return;
            }

            var  ls      = this.GetHelmetNodes(rootNode);
            bool changed = ls.Count != this.LastHelmet.Count;

            if (!changed)
            {
                for (int i = 0; i < ls.Count; i++)
                {
                    if (!ls[i].Equals(this.LastHelmet[i]))
                    {
                        changed = true;
                        break;
                    }
                }
            }

            if (changed)
            {
                this.ClearHelmet();
                this.InitializeHelmet(root, ls);
            }
        }
Exemplo n.º 2
0
        private void InitializeHelmet(NiAVObject root, List <NiAVObject> calculated)
        {
            this.LastFlags |= HideFlags.Helmet;

            var rootNode = root.As <NiNode>();

            if (rootNode == null)
            {
                return;
            }

            var ls = calculated ?? this.GetHelmetNodes(rootNode);

            foreach (var x in ls)
            {
                this.CameraMain.Cull.AddDisable(x);
                this.LastHelmet.Add(x);
            }
        }