예제 #1
0
        public override void OnModLoaded()
        {
            var playlistButton = ModAssets.Instantiate <GameObject>("PlaylistButton_pre");

            PlaylistButton.ReloadPlaylists();
            log("PlaylistMod loaded");
        }
예제 #2
0
        public static void LoadMods()
        {
            SecondaryLog($"In {nameof(ModLoader)}.{nameof(LoadMods)}!");
            SecondaryLog("Getting config...");
            var config = GetConfig();

            if (config == null)
            {
                SecondaryLog("Config is null");
                return;
            }
            SecondaryLog("Got config!");
            SecondaryLog("Loading mods...");
            try
            {
                var logger        = new ModLogger(config);
                var console       = new ModConsole(config);
                var harmonyHelper = new HarmonyHelper(logger, console);
                var events        = new ModEvents(harmonyHelper);
                var assets        = new ModAssets(console);
                var helper        = new ModHelper(config, logger, console, events, harmonyHelper, assets);
                var modFinder     = new ModFinder(config);
                var owo           = new Owo(helper, modFinder);
                owo.LoadMods();
                SecondaryLog("Loaded mods");
            }
            catch (Exception ex)
            {
                SecondaryLog("Error while loading mods: " + ex);
            }
        }
        public override void OnModLoaded()
        {
            GameObject obj = ModAssets.Instantiate <GameObject>("RequestButton_pre");

            TwitchBot.userText = ModAssets.Instantiate <GameObject>("UserText");
            log("TwitchColorMod loaded");
        }
예제 #4
0
        // Called once, when mod is loading after game is fully loaded
        public override void OnLoad()
        {
            // Load dem assets
            AssetBundle ab          = ModAssets.LoadBundle(Properties.Resources.mop);
            GameObject  originalMop = ab.LoadAsset <GameObject>("mop.prefab");

            mop = GameObject.Instantiate <GameObject>(originalMop);
            ab.Unload(false);

            // Add MopBehaviour component
            MopBehaviour behaviour = mop.AddComponent <MopBehaviour>();

            // Load save data
            MopSaveData mopSaveData = ModSave.Load <MopSaveData>(SaveFile);

            if (mopSaveData != null)
            {
                behaviour.Initialize(mopSaveData);
            }

            GameObject      actualMopManager = new GameObject("ActualMopManager");
            MopOptimization optimization     = actualMopManager.AddComponent <MopOptimization>();

            optimization.Initialize(mop.transform);
        }
예제 #5
0
 private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
 {
     if (arg0.name.Contains("Stage"))
     {
         object_left  = ModAssets.Instantiate <GameObject>("BananaL_pre");
         object_right = ModAssets.Instantiate <GameObject>("BananaR_pre");
     }
 }
예제 #6
0
 private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
 {
     if (arg0.name.Contains("Stage"))
     {
         object_left = ModAssets.Instantiate <GameObject>("BoxL_pre");
         object_left.transform.localScale = new Vector3(0.09f, 0.09f, 0.09f);
         object_right = ModAssets.Instantiate <GameObject>("BoxR_pre");
         object_right.transform.localScale = new Vector3(0.09f, 0.09f, 0.09f);
     }
 }
예제 #7
0
파일: Owo.cs 프로젝트: misternebula/owml
        private IModHelper CreateModHelper(IModData modData)
        {
            var logger      = new ModLogger(_owmlConfig, modData.Manifest);
            var console     = OutputFactory.CreateOutput(_owmlConfig, _logger, modData.Manifest);
            var assets      = new ModAssets(console, modData.Manifest);
            var storage     = new ModStorage(console, modData.Manifest);
            var events      = new ModEvents(logger, console, _harmonyHelper);
            var interaction = new ModInteraction(_modList, new InterfaceProxyFactory(), modData.Manifest);

            return(new ModHelper.ModHelper(logger, console, _harmonyHelper,
                                           events, assets, storage, _menus, modData.Manifest, modData.Config,
                                           _owmlConfig, interaction));
        }
예제 #8
0
 private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
 {
     if (arg0.name.Contains("Stage"))
     {
         egg = ModAssets.Instantiate <GameObject>("Easter_pre");
     }
     else
     {
         EggScript.DestroyEggScript();
         UnityEngine.Object.Destroy(egg);
         egg = null;
     }
 }
예제 #9
0
 private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
 {
     if (arg0.name.Contains("Stage"))
     {
         battery        = ModAssets.Instantiate <GameObject>("battery_pre");
         BatteryBar.bar = ModAssets.Instantiate <GameObject>("bar_pre");
     }
     else
     {
         BatteryBar.GameOverCallback = null;
         BatteryBar.DestroyBatteryBar();
         UnityEngine.Object.Destroy(battery);
         battery = null;
     }
 }
예제 #10
0
    private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
    {
        if (arg0.name.Contains("Stage"))
        {
            pumpkin = ModAssets.Instantiate <GameObject>("Pumpkin_pre");

            object_left  = ModAssets.Instantiate <GameObject>("Cube_pre");
            object_right = ModAssets.Instantiate <GameObject>("Cube_pre");
        }
        else
        {
            PumpkinScript.DestroyPumpkinScript();
            UnityEngine.Object.Destroy(pumpkin);
            pumpkin = null;
        }
    }
예제 #11
0
        /*---Called when our mod is registered into the game. Use this for setting stuff up---*/
        public override void OnRegistered()
        {
            // load assets
            GrenadeAssets  = ModAssets.Load(Path.Combine(ModLocation, "grenade.nga"));
            GrenadePrefab  = GrenadeAssets.GetComponent <CustomPrefab>("Grenade", false);
            ExposionPrefab = GrenadeAssets.GetAsset <GameObject>("Explosion");

            GrenadePickupLine  = GrenadeAssets.GetAsset <AudioClip>("Voice_Pickup");
            GrenadeWarningLine = GrenadeAssets.GetAsset <AudioClip>("Voice_Warning");

            Texture2D iconTexture = GrenadeAssets.GetAsset <Texture2D>("Icon"); // sprites are always saved as texture2d, we'll need to convert it back to a sprite manually

            GrenadeIcon = Sprite.Create(iconTexture, new Rect(0.0f, 0.0f, iconTexture.width, iconTexture.height), Vector2.zero);

            // setup prefab explosion with callback (see the script for more details)
            ExposionPrefab.AddComponent <GrenadeParticleCallback>();

            /*---------------------------------------------------------------------------
             * Register the pickup. There's a lot going on here, so let's break this down
             * --------------------------------------------------------------------------*/
            RegisteredPickup = new Pickup(
                r => new GrenadePickup(r),                         // when the ship goes to setup the pickup logic, this returns a new instance of our weapon pickup class

                "grenades",                                        // this is the name of the pickup and will be used for stuff like the give command

                GrenadeIcon,                                       // this is the icon of the pickup for the hud

                Pickup.EHudColor.Offensive,                        // this is the color of the pickup icon. Offensive is red, defensive is green

                GrenadePickupLine,                                 // the audio clip to play when a player picks this pickup up

                GrenadeWarningLine,                                // the audio clip to play for AI warning callouts for this pickup

                new [] { "Grenades_Pickup", "Grenades_Warning" },  // the name of the .wav files to load for custom sound packs. First entry is the pickup line, 2nd is the warning

                (ship, chance) => ship.CurrentPlace > 1,           // called when determining to give this pickup to a ship. Return true to always give the pickup to a ship,
                                                                   //    otherwise return your condition as true/false here
                                                                   //    the chance value is a random value between 0 and 100 that you can also use for extra randomness

                100);                                              // the weighting of the pickup. This is how likely this pickup is to be picked. A higher number = better chance of being picked

            // register Network Packet Callback
            NgNetworkBase.OnRecievedCustomPacketData += OnRecievedCustomPacketData;
        }
        public override BuildingDef CreateBuildingDef()
        {
            var buildingDef = BuildingTemplates.CreateBuildingDef(
                ID,
                1,
                1,
                ANIM,
                100,
                3f,
                BUILDINGS.CONSTRUCTION_MASS_KG.TIER3,
                MATERIALS.REFINED_METALS,
                1600f,
                BuildLocationRule.Tile,
                BUILDINGS.DECOR.NONE,
                NOISE_POLLUTION.NONE
                );

            BuildingTemplates.CreateFoundationTileDef(buildingDef);
            buildingDef.Floodable                = false;
            buildingDef.Overheatable             = false;
            buildingDef.Entombable               = false;
            buildingDef.UseStructureTemperature  = false;
            buildingDef.AudioCategory            = "Metal";
            buildingDef.AudioSize                = "small";
            buildingDef.BaseTimeUntilRepair      = -1f;
            buildingDef.SceneLayer               = Grid.SceneLayer.TileMain;
            buildingDef.isKAnimTile              = true;
            buildingDef.ConstructionOffsetFilter = BuildingDef.ConstructionOffsetFilter_OneDown;
            buildingDef.BlockTileIsTransparent   = true;

            buildingDef.BlockTileMaterial = Assets.GetMaterial("tiles_solid");

            buildingDef.BlockTileAtlas
                = ModAssets.GetCustomTileAtlas(Path.Combine("anim", "assets", "tiles_permeable"));

            buildingDef.BlockTilePlaceAtlas
                = ModAssets.GetCustomTileAtlas(Path.Combine("anim", "assets", "tiles_permeable_place"));

            buildingDef.DecorBlockTileInfo      = Assets.GetBlockTileDecorInfo("tiles_mesh_tops_decor_info");
            buildingDef.DecorPlaceBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_mesh_tops_decor_place_info");
            buildingDef.DragBuild = true;

            return(buildingDef);
        }
예제 #13
0
 public override void OnModLoaded()
 {
     var deleteButton = ModAssets.Instantiate<GameObject>("DeleteButton_pre");
     log("DeleteMod loaded");
 }
예제 #14
0
 public override void OnModLoaded()
 {
     GameObject obj = ModAssets.Instantiate <GameObject>("RandomButton_pre");
 }
예제 #15
0
 public static void Postfix()
 {
     ModAssets.AddSpriteFromFile("overlay_info");
 }
 public override void OnModLoaded()
 {
     Debug.Log("Mod Loaded");
     GameObject eventViewer = ModAssets.Instantiate <GameObject>("ModEventViewer");
 }
예제 #17
0
 public override void OnModLoaded()
 {
     Debug.Log("SynthEssentials Mod Loaded");
     essentialsWrap      = ModAssets.Instantiate <GameObject>(PREFAB_NAME);
     essentialsWrap.name = PREFAB_NAME;
 }
예제 #18
0
 public override void OnModLoaded()
 {
     // Spawn the sphere
     sphere = ModAssets.Instantiate <GameObject>("Sphere");
     sphere.transform.localScale = new Vector3(scale, scale, scale);
 }
예제 #19
0
        public override void OnModLoaded()
        {
            var canvasWrapper = ModAssets.Instantiate <GameObject>("CanvasWrap");

            CanvasWrap.HideMe();
        }
예제 #20
0
 public static void Postfix()
 {
     ModAssets.AddSpriteFromFile("traffic_overlay_icon");
 }
예제 #21
0
 public override void OnModLoaded()
 {
     Debug.Log("ComingSoon Mod Loaded");
     trailersWrap      = ModAssets.Instantiate <GameObject>(PREFAB_NAME);
     trailersWrap.name = PREFAB_NAME;
 }