コード例 #1
0
        protected sealed override void Init()
        {
            logSource = base.logger;
            Log.Message("Sniper initializing");
            instance = this;


            base.awake += () =>
            {
                SetModdedModule.SetModded();
                ReinCore.AddModHash(guid, Properties.Info.ver, useBuild, useRev, networkVer);
                ConfigModule.CreateAndLoadConfig(this);

                Properties.Tools.RegisterLanguageTokens();
                SoundModule.LoadBank();
                NetworkModule.SetupNetworking();

                Default <Sprite> .value = UIModule.GetUnfinishedIcon();
                UIModule.EditHudPrefab();

                PrefabModule.CreatePrefab();
                DisplayModule.CreateDisplayPrefab();

                CatalogModule.RegisterBody();
                CatalogModule.RegisterSurvivor();
                CatalogModule.RegisterDoTType();
                CatalogModule.RegisterDamageTypes();
                CatalogModule.RegisterBuffTypes();
                CatalogModule.RegisterOrbs();
                CatalogModule.RegisterOverlays();

                VFXModule.Init();

                //UnlocksCore.AddUnlockable<WIPUnlockable>(false);
            };

            base.start += () =>
            {
                //MetaCatalog.LogCatalogState();

                try
                {
                    RoR2.Console.instance.SubmitCmd(null, "spp_disable_survivor Sniper");
                } catch { }
                _ = TextureModule.GetExplosiveAmmoRamp();
                _ = TextureModule.GetPlasmaAmmoRamp();
                _ = TextureModule.GetStandardAmmoRamp();
                _ = TextureModule.GetShockAmmoRamp();
                _ = TextureModule.GetScatterAmmoRamp();
            };

            base.enable      += HooksModule.Add;
            base.disable     += HooksModule.Remove;
            base.fixedUpdate += () => dt = Time.fixedDeltaTime;
            Log.Message("Sniper loaded successfully");
        }
コード例 #2
0
        public override void Entry(IModHelper helper)
        {
            Config.Load(Helper.DirectoryPath);
            Config.Showcases.ForEach(s => ClassMapper.Instance.Map.Furniture <Showcase>(s.ID));
            Config.Showcases.ForEach(s => DataService.Instance.RegisterFurniture(ConfigDataConverter.ToFurnitureData(s)));
            Config.Showcases.ForEach(s => ShopService.Instance.AddFurniture(Locations.CarpentersShop, new ShopItemInfo(s.ID)));

            TextureModule = TextureService.Instance.RegisterModule(Path.Combine(Helper.DirectoryPath, ResourcesFolder))
                            .LoadTexture(TextureNames.Glow)
                            .LoadTexture(TextureNames.Furniture);

            this.RegisterCommands();
        }
コード例 #3
0
        internal static GameObject CreateShockOrbEffect()
        {
            GameObject obj = Resources.Load <GameObject>("Prefabs/Effects/OrbEffects/LightningOrbEffect").ClonePrefab("ShockOrbEffect", false);

            foreach (var r in obj.GetComponentsInChildren <Renderer>())
            {
                var cm = new CloudMaterial(r.material.Instantiate());
                cm.remapTexture.texture = TextureModule.GetShockAmmoRamp();
                r.material = cm.material;
            }
            obj.GetComponent <OrbEffect>().endEffect = VFXModule.GetShockImpactPrefab();

            return(obj);
        }
コード例 #4
0
        /// <summary>
        /// Create a new instance of raptor
        /// </summary>
        public Flame(Vector2 dir)
        {
            // Setup texture:
            _texture           = this.AddModule <TextureModule>();
            _texture.TextureID = "flame";

            // Setup collision box:
            _collisionBox = this.AddModule <CustomRectHitArea>();
            _collisionBox.SetBounds(new Rectangle(0, 0, 100, 100));

            _deadCount = 0;
            _dir       = dir;
            _dir.X    *= 4;
            _dir.Y    *= 4;
            _dir.X    += ((float)Core.Overseer.Instance.rnd.NextDouble() * 1) - 0.5f;
            _dir.Y    += ((float)Core.Overseer.Instance.rnd.NextDouble() * 1) - 0.5f;
        }
コード例 #5
0
        public override void Update(GameTime gT)
        {
            TextureModule texModule = MyObj.GetModule <TextureModule>();

            if (texModule == null)
            {
                _bounds = new Rectangle();
                return;
            }

            if (texModule.Texture == null)
            {
                _bounds = new Rectangle();
                return;
            }

            _bounds = new Rectangle((int)MyObj.WorldPosition.X, (int)MyObj.WorldPosition.Y, texModule.Texture.Width, texModule.Texture.Height);
            base.Update(gT);
        }