예제 #1
0
        // ---- METHODS ------------------------------------------------------------------------------------------------

        void IResData.Load(ResFileLoader loader)
        {
            _flags         = loader.ReadUInt32();
            PolygonControl = new PolygonControl()
            {
                Value = loader.ReadUInt32()
            };
            DepthControl = new DepthControl()
            {
                Value = loader.ReadUInt32()
            };
            AlphaControl = new AlphaControl()
            {
                Value = loader.ReadUInt32()
            };
            AlphaRefValue = loader.ReadSingle();
            ColorControl  = new ColorControl()
            {
                Value = loader.ReadUInt32()
            };
            BlendTarget  = loader.ReadUInt32();
            BlendControl = new BlendControl()
            {
                Value = loader.ReadUInt32()
            };
            BlendColor = loader.ReadVector4F();
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RenderState"/> class.
        /// </summary>
        public RenderState()
        {
            FlagsMode      = RenderStateFlagsMode.Opaque;
            FlagsBlendMode = RenderStateFlagsBlendMode.None;

            PolygonControl = new PolygonControl()
            {
                CullBack                  = false,
                CullFront                 = false,
                FrontFace                 = GX2FrontFaceMode.CounterClockwise,
                PolygonModeBack           = GX2PolygonMode.Triangle,
                PolygonModeFront          = GX2PolygonMode.Triangle,
                PolygonOffsetBackEnabled  = false,
                PolygonOffsetFrontEnabled = false,
                PolygonLineOffsetEnabled  = false,
                PolygonModeEnabled        = true,
            };

            AlphaControl = new AlphaControl()
            {
                AlphaFunc = GX2CompareFunction.GreaterOrEqual,
            };

            DepthControl = new DepthControl()
            {
                BackStencilEnabled = false,
                BackStencilFail    = GX2StencilFunction.Replace,
                BackStencilFunc    = GX2CompareFunction.Always,
                BackStencilZFail   = GX2StencilFunction.Replace,
                BackStencilZPass   = GX2StencilFunction.Replace,
                DepthFunc          = GX2CompareFunction.LessOrEqual,
                DepthTestEnabled   = true,
                DepthWriteEnabled  = true,
                FrontStencilFail   = GX2StencilFunction.Replace,
                FrontStencilFunc   = GX2CompareFunction.Always,
                FrontStencilZFail  = GX2StencilFunction.Replace,
                FrontStencilZPass  = GX2StencilFunction.Replace,
                StencilTestEnabled = false,
            };

            AlphaRefValue = 0.5F;


            BlendControl = new BlendControl()
            {
                AlphaCombine          = GX2BlendCombine.Add,
                AlphaDestinationBlend = GX2BlendFunction.Zero,
                AlphaSourceBlend      = GX2BlendFunction.Zero,
                ColorCombine          = GX2BlendCombine.Add,
                ColorDestinationBlend = GX2BlendFunction.OneMinusSourceAlpha,
                ColorSourceBlend      = GX2BlendFunction.SourceAlpha,
                SeparateAlphaBlend    = true,
            };

            BlendColor = new Vector4F(0, 0, 0, 0);
        }
예제 #3
0
        //[ModifiesMember("UpdateVisibility")]
        //! Verify that this is correct
        // disables spikes in the selection circles during combat if the "no engagement" mod is on
        private void UpdateVisibilityNew()
        {
            float alpha = 1f;
            bool  flag  = this.CurrentMode == Mode.Targeted;
            bool  flag2 = this.CurrentMode != Mode.Targeted;

            if (this.m_Owner != null)
            {
                AlphaControl component = this.m_Owner.GetComponent <AlphaControl>();
                if (component != null)
                {
                    alpha = component.Alpha;
                }
            }
            if (flag && (alpha < float.Epsilon))
            {
                flag = false;
            }
            if (flag2 && (alpha < float.Epsilon))
            {
                flag2 = false;
            }
            if (this.m_Pies != null)
            {
                foreach (MeshRenderer renderer in this.m_Pies)
                {
                    renderer.renderer.enabled = flag;
                }
            }
            if (this.m_TargetedEngageRenderer != null)
            {
                this.m_TargetedEngageRenderer.enabled = this.OwnerEngaged && (flag || flag2) && !IEModOptions.DisableEngagement;
                // added && (PlayerPrefs.GetInt ("DisableEngagement", 0) == 0)
            }
            if ((this.m_Circle != null) && (this.m_Circle.renderer != null))
            {
                this.m_Circle.renderer.enabled = flag2;
                if (flag2)
                {
                    foreach (Material material in this.m_Circle.renderer.sharedMaterials)
                    {
                        if ((material != null) && material.HasProperty("_Alpha"))
                        {
                            material.SetFloat("_Alpha", alpha);
                        }
                    }
                }
            }

            if (this.m_EngageRenderer != null)
            {
                this.m_EngageRenderer.enabled = this.OwnerEngaged && flag2 && !IEModOptions.DisableEngagement;
                // added && (PlayerPrefs.GetInt ("DisableEngagement", 0) == 0)
            }
        }
예제 #4
0
파일: DropButton.cs 프로젝트: v1ld/IEMod.pw
        private static void DropInventory()
        {
            PartyMemberAI selChar = UIInventoryManager.Instance.SelectedCharacter.gameObject.Component <PartyMemberAI>();

            Container container = GameResources.LoadPrefab <Container>("DefaultDropItem", false);

            //assign another mesh, less ugly, less giant, less looking like a f*****g 3 year old baby? ugh..................

            var dropObject = GameResources.Instantiate <GameObject>(container.gameObject, selChar.gameObject.transform.position, Quaternion.identity);

            dropObject.tag   = "DropItem";
            dropObject.layer = LayerUtility.FindLayerValue("Dynamics");
            dropObject.transform.localRotation = Quaternion.AngleAxis(Random.Range((float)0f, (float)360f), Vector3.up);
            InstanceID eid = dropObject.Component <InstanceID>();

            eid.Guid     = Guid.NewGuid();
            eid.UniqueID = eid.Guid.ToString();
            dropObject.Component <Persistence>().TemplateOnly = true;

            Container component = dropObject.Component <Container>();

            component.ManualLabelName = "Drop Items";
            component.DeleteMeIfEmpty = true;
            AlphaControl control = dropObject.AddComponent <AlphaControl>();

            if (control != null)
            {
                control.Alpha = 0f;
                control.FadeIn(1f);
            }

            // opening created container... code taken from Container.Open()
            UILootManager.Instance.SetData(selChar, dropObject.Component <Inventory>(), dropObject.gameObject);
            UILootManager.Instance.ShowWindow();
            dropObject.Component <Inventory>().CloseInventoryCB = component.CloseInventoryCB;
        }