コード例 #1
0
        public static void Main()
        {

            //Normal Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Flying Drone -DM", // Name.
                    NameToOrderByOverride = "Android 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "It flies.\n\nDesign by BombErik#6969. \nCreated by _Kassjak_#4463",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"), //Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/DroneView.png", 5f), //Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.AddComponent<DroneModBehaviour>(); //Base script of the drone
                        Instance.AddComponent<SoundSystem>(); //Everyone loves sound
                        Instance.AddComponent<DebrisComponent>().DefaultDroneDebris(); //Set debris for explosion
                        Instance.AddComponent<BladeBehaviour>().setSmallBlade(Instance.transform, Instance.transform.eulerAngles, new Vector2(Instance.transform.position.x - .3f,Instance.transform.position.y + .35f)); //Set blade type, parent, rotation and position
                        Instance.AddComponent<BladeBehaviour>().setSmallBlade(Instance.transform, Instance.transform.eulerAngles, new Vector2(Instance.transform.position.x + .3f,Instance.transform.position.y + .35f)); //Set blade type, parent, rotation and position
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/DroneBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.FixColliders();
                    }
                }
            );

            //Suicide Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Suicide Drone -DM", // Name.
                    NameToOrderByOverride = "Android 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "Hoams towards any living object and explodes.\n\nDesign by BombErik#6969. \nCreated by _Kassjak_#4463",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"),//Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/DroneView.png", 5f),//Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.AddComponent<DebrisComponent>().SuiciderDroneDebris();
                        Instance.AddComponent<SuiciderBehaviour>();
                        Instance.AddComponent<BladeBehaviour>().setBigBlade(Instance.transform, Instance.transform.eulerAngles, new Vector2(Instance.transform.position.x,Instance.transform.position.y + .2f));
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/SuiciderBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.AddComponent<DroneModBehaviour>();
                        Instance.FixColliders();
                        Instance.AddComponent<SoundSystem>();
                    }
                }
            );

            //Turret Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Turret Drone -DM", // Name.
                    NameToOrderByOverride = "Brick 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "It flies and shoots.\n\nDesign by BombErik#6969. \nCreated by _Kassjak_#4463",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"),//Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/TurretView.png", 5f),//Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/DroneBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.AddComponent<GunBehaviour>();
                        Instance.AddComponent<DroneModBehaviour>();
                        Instance.FixColliders();
                    }
                }
            );

            //Bomber Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Bomber Drone -DM", // Name.
                    NameToOrderByOverride = "Brick 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "It flies and bombs.\n\nDesign by BombErik#6969. \nCreated by _Kassjak_#4463",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"),//Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/BomberView.png", 5f),//Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.AddComponent<BladeBehaviour>().setBigBlade(Instance.transform, Instance.transform.eulerAngles, new Vector2(Instance.transform.position.x,Instance.transform.position.y + .2f));
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/BomberBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.AddComponent<DroneModBehaviour>();
                        Instance.FixColliders();
                        Instance.AddComponent<BomberBehaviour>();
                    }
                }
            );

            //Speaker Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Speaker Drone -DM", // Name.
                    NameToOrderByOverride = "Brick 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "It flies and speaks",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"),//Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/SpeakerView.png", 5f),//Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/TransportDroneBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.FixColliders();

                        Instance.AddComponent<DebrisComponent>().SuiciderDroneDebris();
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.AddComponent<DroneModBehaviour>();
                        Instance.FixColliders();
                        Instance.AddComponent<SoundSystem>();
                    }
                }
            );

            //Speakersss Drone
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Brick"), // Searches the ingame catalog and returns with the inputted string if possible.
                    NameOverride = "Speaker Drone -DM", // Name.
                    NameToOrderByOverride = "Brick 2", // How the item is ordered (I didn't want it in the 'G' section, so I renamed it to Brick 2, so it shows up next to the brick.)
                    DescriptionOverride = "It flies and speaks",// Description
                    CategoryOverride = ModAPI.FindCategory("Entities"),//Category
                    ThumbnailOverride = ModAPI.LoadSprite("Sprites/SpeakerView.png", 5f),//Thumbnail
                    AfterSpawn = (Instance) =>
                    {
                        Instance.GetComponent<PhysicalBehaviour>().Properties = ModAPI.FindPhysicalProperties("Metal");
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("Sprites/MagnetDroneBody.png");
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.FixColliders();

                        Instance.AddComponent<DebrisComponent>().SuiciderDroneDebris();
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.drag = 0.5f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.angularDrag = 0f;
                        Instance.GetComponent<PhysicalBehaviour>().rigidbody.gravityScale = 1f;
                        Instance.AddComponent<DroneModBehaviour>();
                        Instance.FixColliders();
                        Instance.AddComponent<SoundSystem>();
                    }
                }
            );
        }