Example #1
0
        public static void BuildPrefab()
        {               //hatdoer
            GameObject gameObject = SpriteBuilder.SpriteFromResource("Knives/Resources/SCP_323_collection/wendigo_skull_right", null);

            gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(gameObject);
            UnityEngine.Object.DontDestroyOnLoad(gameObject);
            GameObject gameObject2 = new GameObject("Bone Hat");
            tk2dSprite tk2dSprite  = gameObject2.AddComponent <tk2dSprite>();

            tk2dSprite.SetSprite(gameObject.GetComponent <tk2dBaseSprite>().Collection, gameObject.GetComponent <tk2dBaseSprite>().spriteId);
            SCP_323.spriteIds.Add(SpriteBuilder.AddSpriteToCollection("Knives/Resources/SCP_323_collection/wendigo_skull_left", tk2dSprite.Collection));
            SCP_323.spriteIds.Add(SpriteBuilder.AddSpriteToCollection("Knives/Resources/SCP_323_collection/wendigo_skull_up", tk2dSprite.Collection));

            tk2dSprite.GetCurrentSpriteDef().material.shader = ShaderCache.Acquire("Brave/PlayerShader");
            SCP_323.spriteIds.Add(tk2dSprite.spriteId);
            gameObject2.SetActive(false);
            tk2dSprite.SetSprite(SCP_323.spriteIds[0]);
            tk2dSprite.GetCurrentSpriteDef().material.shader = ShaderCache.Acquire("Brave/PlayerShader");
            tk2dSprite.SetSprite(SCP_323.spriteIds[1]);
            tk2dSprite.GetCurrentSpriteDef().material.shader = ShaderCache.Acquire("Brave/PlayerShader");
            tk2dSprite.SetSprite(SCP_323.spriteIds[2]);
            tk2dSprite.GetCurrentSpriteDef().material.shader = ShaderCache.Acquire("Brave/PlayerShader");

            FakePrefab.MarkAsFakePrefab(gameObject2);
            UnityEngine.Object.DontDestroyOnLoad(gameObject2);
            SCP_323.skullprefab = gameObject2;
        }
        public static void BuildPrefab()
        {
            bool flag = Stopda.orbitalPrefab != null;

            if (!flag)
            {
                GameObject gameObject = SpriteBuilder.SpriteFromResource("Knives/Resources/Stopda_Rock", null);
                gameObject.name = "Stopda";
                SpeculativeRigidbody speculativeRigidbody = gameObject.GetComponent <tk2dSprite>().SetUpSpeculativeRigidbody(IntVector2.Zero, new IntVector2(10, 10));
                speculativeRigidbody.CollideWithTileMap = false;
                speculativeRigidbody.CollideWithOthers  = true;

                speculativeRigidbody.PrimaryPixelCollider.CollisionLayer = CollisionLayer.EnemyBulletBlocker;
                Stopda.orbitalPrefab                       = gameObject.AddComponent <PlayerOrbital>();
                Stopda.orbitalPrefab.motionStyle           = PlayerOrbital.OrbitalMotionStyle.ORBIT_PLAYER_ALWAYS;
                Stopda.orbitalPrefab.orbitDegreesPerSecond = 40f;
                Stopda.orbitalPrefab.shouldRotate          = true;
                Stopda.orbitalPrefab.orbitRadius           = 2.5f;


                Stopda.orbitalPrefab.SetOrbitalTier(0);
                UnityEngine.Object.DontDestroyOnLoad(gameObject);
                FakePrefab.MarkAsFakePrefab(gameObject);
                gameObject.SetActive(false);
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="contrib"></param>
 /// <param name="site"></param>
 /// <param name="spriteBuilder"></param>
 public DefaultControllerImpl(LandBuilderContribution contrib, IControllerSite site,
                              SpriteBuilder spriteBuilder)
     : base(site)
 {
     this.contrib       = contrib;
     this.spriteBuilder = spriteBuilder;
 }
Example #4
0
        public static void Init()
        {
            string     itemName     = "Delivery Box";
            string     resourceName = "NevernamedsItems/Resources/MultiStageActives/deliverybox_closed";
            GameObject obj          = new GameObject(itemName);
            var        item         = obj.AddComponent <DeliveryBox>();

            ItemBuilder.AddSpriteToObject(itemName, resourceName, obj);
            string shortDesc = "Ready To Order";
            string longDesc  = "Allows for the high-speed delivery of goods purchased straight from the manufacturer!" + "\n\nCut out the middle man!";

            ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn");
            ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Timed, 0.2f);

            item.currentLabel = "-1";

            DeliveryBox.spriteIDs = new int[DeliveryBox.spritePaths.Length];

            DeliveryBox.spriteIDs[0] = item.sprite.spriteId;                                                                    //empty
            DeliveryBox.spriteIDs[1] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[1], item.sprite.Collection); //Ammo
            DeliveryBox.spriteIDs[2] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[2], item.sprite.Collection); //SpreadAmmo
            DeliveryBox.spriteIDs[3] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[3], item.sprite.Collection); //Armour
            DeliveryBox.spriteIDs[4] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[4], item.sprite.Collection); //Half Heart
            DeliveryBox.spriteIDs[5] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[5], item.sprite.Collection); //full heart
            DeliveryBox.spriteIDs[6] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[6], item.sprite.Collection); //Key
            DeliveryBox.spriteIDs[7] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[7], item.sprite.Collection); //Glass Guon
            DeliveryBox.spriteIDs[8] = SpriteBuilder.AddSpriteToCollection(DeliveryBox.spritePaths[8], item.sprite.Collection); //blank

            item.consumable = false;
            item.quality    = ItemQuality.B;
        }
Example #5
0
        public static void BuildPrefab()
        {
            bool flag  = DarkGreenGuonStone.orbitalPrefab != null;
            bool flag2 = !flag;
            bool flag3 = flag2;

            if (flag3)
            {
                GameObject gameObject = SpriteBuilder.SpriteFromResource("SpecialItemPack/Resources/GuonOrbitals/DarkGreenGuonStoneOrbital", null, true);
                gameObject.name = "Dark Green Guon";
                SpeculativeRigidbody speculativeRigidbody = gameObject.GetComponent <tk2dSprite>().SetUpSpeculativeRigidbody(IntVector2.Zero, new IntVector2(8, 8));
                DarkGreenGuonStone.orbitalPrefab        = gameObject.AddComponent <PlayerOrbital>();
                speculativeRigidbody.CollideWithTileMap = false;
                speculativeRigidbody.CollideWithOthers  = true;
                speculativeRigidbody.PrimaryPixelCollider.CollisionLayer = CollisionLayer.EnemyBulletBlocker;
                DarkGreenGuonStone.orbitalPrefab.shouldRotate            = false;
                DarkGreenGuonStone.orbitalPrefab.orbitRadius             = 2.5f;
                DarkGreenGuonStone.orbitalPrefab.orbitDegreesPerSecond   = 90f;
                DarkGreenGuonStone.orbitalPrefab.orbitDegreesPerSecond   = 120f;
                DarkGreenGuonStone.orbitalPrefab.SetOrbitalTier(0);
                UnityEngine.Object.DontDestroyOnLoad(gameObject);
                FakePrefab.MarkAsFakePrefab(gameObject);
                gameObject.SetActive(false);
            }
        }
        private static void BuildPrefab()
        {
            GameObject       gameObject = new GameObject("Minigun");
            tk2dSprite       tk2dSprite = gameObject.AddComponent <tk2dSprite>();
            MinigunBehaviour behaviour  = gameObject.AddComponent <MinigunBehaviour>();

            if (behaviour.spriteAnimator == null)
            {
                behaviour.spriteAnimator = behaviour.gameObject.AddComponent <tk2dSpriteAnimator>();
            }
            behaviour.spriteAnimator.Library = Toolbox.GetGunById(707).GetComponent <tk2dSpriteAnimator>().Library;
            behaviour.idleAnimation          = Toolbox.GetGunById(707).idleAnimation;
            behaviour.shootAnimation         = Toolbox.GetGunById(707).shootAnimation;
            behaviour.reloadAnimation        = Toolbox.GetGunById(707).reloadAnimation;
            behaviour.GunSwitchGroup         = Toolbox.GetGunById(707).gunSwitchGroup;
            behaviour.CooldownTime           = Toolbox.GetGunById(707).DefaultModule.cooldownTime * 1.25f;
            behaviour.AngleVariance          = Toolbox.GetGunById(707).DefaultModule.angleVariance;
            behaviour.ProjectileToShoot      = Toolbox.GetGunById(707).DefaultModule.projectiles[0];
            behaviour.ReloadTime             = Toolbox.GetGunById(707).reloadTime;
            tk2dSprite.SetSprite(Toolbox.GetGunById(707).sprite.Collection, Toolbox.GetGunById(707).sprite.spriteId);
            behaviour.spriteId   = Toolbox.GetGunById(707).sprite.spriteId;
            behaviour.collection = Toolbox.GetGunById(707).sprite.Collection;
            gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(gameObject);
            UnityEngine.GameObject.DontDestroyOnLoad(gameObject);
            MinigunPrefab = gameObject;
            GameObject obj = SpriteBuilder.SpriteFromResource("SpecialItemPack/Resources/stand");

            obj.SetActive(false);
            FakePrefab.MarkAsFakePrefab(obj);
            UnityEngine.GameObject.DontDestroyOnLoad(obj);
            StandPrefab = obj;
        }
Example #7
0
                public BoundingBox2 AppendTextBlock(TextBlock monBlock)
                {
                    MonitorOption opt;

                    SpriteBuilder mk = new SpriteBuilder(Surface, Cursor, Scale, FrameCount)
                    {
                        Color = Color, BGColor = BGColor
                    };
                    BoxStyle style = new BoxStyle();

                    if (monBlock.Options.TryGetValue("scale", out opt))
                    {
                        mk.Scale = opt.FloatValue;
                    }
                    if (monBlock.Options.TryGetValue("padding", out opt))
                    {
                        style.Padding = opt.FloatValue;
                    }
                    if (monBlock.Options.TryGetValue("color", out opt))
                    {
                        mk.Color = opt.ColorValue;
                    }
                    if (monBlock.Options.TryGetValue("bgcolor", out opt))
                    {
                        mk.BGColor = opt.ColorValue;
                    }

                    mk.TextBox(style, monBlock.Text);
                    Sprites.AddRange(mk.Sprites);

                    Cursor.Y += mk.Box.Height;
                    return(mk.Box);
                }
Example #8
0
        public static void BuildSynergyPrefab()
        {
            bool flag = KaleidoscopicGuonStone.upgradeOrbitalPrefab == null;

            if (flag)
            {
                GameObject gameObject = SpriteBuilder.SpriteFromResource("NevernamedsItems/Resources/GuonStones/kaleidoscopicguon_synergy", null);
                gameObject.name = "Kaleidoscopic Guon Orbital Synergy Form";
                SpeculativeRigidbody speculativeRigidbody = gameObject.GetComponent <tk2dSprite>().SetUpSpeculativeRigidbody(IntVector2.Zero, new IntVector2(20, 20));
                //gameObject.GetComponent<tk2dSprite>().GetCurrentSpriteDef().ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.MiddleCenter, gameObject.GetComponent<tk2dSprite>().GetCurrentSpriteDef().position3);
                KaleidoscopicGuonStone.upgradeOrbitalPrefab                       = gameObject.AddComponent <PlayerOrbital>();
                speculativeRigidbody.CollideWithTileMap                           = false;
                speculativeRigidbody.CollideWithOthers                            = true;
                speculativeRigidbody.UpdateCollidersOnRotation                    = true;
                speculativeRigidbody.PrimaryPixelCollider.CollisionLayer          = CollisionLayer.BulletBlocker;
                KaleidoscopicGuonStone.upgradeOrbitalPrefab.shouldRotate          = false;
                KaleidoscopicGuonStone.upgradeOrbitalPrefab.orbitRadius           = 3.5f;
                KaleidoscopicGuonStone.upgradeOrbitalPrefab.perfectOrbitalFactor  = 10f;
                KaleidoscopicGuonStone.upgradeOrbitalPrefab.orbitDegreesPerSecond = 30f;
                KaleidoscopicGuonStone.upgradeOrbitalPrefab.SetOrbitalTier(0);
                UnityEngine.Object.DontDestroyOnLoad(gameObject);
                FakePrefab.MarkAsFakePrefab(gameObject);
                gameObject.SetActive(false);
            }
        }
Example #9
0
        public static void BuildPrefab()
        {
            if (KaleidoscopicGuonStone.orbitalPrefab != null)
            {
                return;
            }
            GameObject prefab = SpriteBuilder.SpriteFromResource("NevernamedsItems/Resources/GuonStones/kaleidoscopicguon_icon");

            prefab.name = "Kaleidoscopic Guon Orbital";
            var body = prefab.GetComponent <tk2dSprite>().SetUpSpeculativeRigidbody(IntVector2.Zero, new IntVector2(14, 14));

            //prefab.GetComponent<tk2dSprite>().GetCurrentSpriteDef().ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.MiddleCenter, body.GetComponent<tk2dSprite>().GetCurrentSpriteDef().position3);

            body.CollideWithTileMap                  = false;
            body.CollideWithOthers                   = true;
            body.UpdateCollidersOnRotation           = true;
            body.PrimaryPixelCollider.CollisionLayer = CollisionLayer.BulletBlocker;

            orbitalPrefab                       = prefab.AddComponent <PlayerOrbital>();
            orbitalPrefab.motionStyle           = PlayerOrbital.OrbitalMotionStyle.ORBIT_PLAYER_ALWAYS;
            orbitalPrefab.perfectOrbitalFactor  = 10f;
            orbitalPrefab.shouldRotate          = false;
            orbitalPrefab.orbitRadius           = 3.5f;
            orbitalPrefab.orbitDegreesPerSecond = 50f;
            orbitalPrefab.SetOrbitalTier(0);

            GameObject.DontDestroyOnLoad(prefab);
            FakePrefab.MarkAsFakePrefab(prefab);
            prefab.SetActive(false);
        }
Example #10
0
 private int result = 0; //0: nothing, 1: loading, 2: failure, 3: succeed.
 private void StartLoadingBar()
 {
     result           = 1;
     rbBlackScreen    = ScreenElement.BuildRectangle("BlackScreen0", Parent).SetSize(32, 32);
     sbLoading        = ScreenElement.BuildSprite("Loading", Parent).SetSprite(gm.spriteDB.loading).PlaceOutside(Direction.Up);
     loadingCoroutine = StartCoroutine(AnimateLoadingBar());
 }
Example #11
0
        public static void BuildPrefab()
        {
            bool flag = BabyGoodLovebulon.blobPrefab != null || CompanionBuilder.companionDictionary.ContainsKey(BabyGoodLovebulon.guid);

            if (flag)
            {
                ETGModConsole.Log("shit. this mod has fallen comrades, we must seek Round King", false);
            }
            else
            {
                BabyGoodLovebulon.blobPrefab = CompanionBuilder.BuildPrefab("blobuloveman", BabyGoodLovebulon.guid, BabyGoodLovebulon.spritePaths[0], new IntVector2(1, 0), new IntVector2(9, 9));
                BabyGoodLovebulon.RandomGoopTrailBehaviour randomGoopTrailBehaviour = BabyGoodLovebulon.blobPrefab.AddComponent <BabyGoodLovebulon.RandomGoopTrailBehaviour>();
                AIAnimator component = BabyGoodLovebulon.blobPrefab.GetComponent <AIAnimator>();
                component.MoveAnimation = new DirectionalAnimation
                {
                    AnimNames = new string[]
                    {
                        "idle"
                    },
                    Type = DirectionalAnimation.DirectionType.None
                };
                component.IdleAnimation = component.MoveAnimation;
                bool flag2 = BabyGoodLovebulon.blobCollection == null;
                if (flag2)
                {
                    BabyGoodLovebulon.blobCollection = SpriteBuilder.ConstructCollection(BabyGoodLovebulon.blobPrefab, "Lovebulon_Baby_Collection");
                    UnityEngine.Object.DontDestroyOnLoad(BabyGoodLovebulon.blobCollection);
                    for (int i = 0; i < BabyGoodLovebulon.spritePaths.Length; i++)
                    {
                        SpriteBuilder.AddSpriteToCollection(BabyGoodLovebulon.spritePaths[i], BabyGoodLovebulon.blobCollection);
                    }
                    SpriteBuilder.AddAnimation(randomGoopTrailBehaviour.spriteAnimator, BabyGoodLovebulon.blobCollection, new List <int>
                    {
                        0,
                        1,
                        2,
                        3,
                        4
                    }, "idle", tk2dSpriteAnimationClip.WrapMode.Loop).fps = 8f;
                }
                BehaviorSpeculator component2 = BabyGoodLovebulon.blobPrefab.GetComponent <BehaviorSpeculator>();
                component2.MovementBehaviors.Add(new CompanionFollowPlayerBehavior
                {
                    IdleAnimations = new string[]
                    {
                        "idle"
                    }
                });
                component2.MovementBehaviors.Add(new SeekTargetBehavior
                {
                    LineOfSight     = false,
                    StopWhenInRange = true,
                    CustomRange     = 1f
                });
                randomGoopTrailBehaviour.aiActor.MovementSpeed = 7f;
                UnityEngine.Object.DontDestroyOnLoad(BabyGoodLovebulon.blobPrefab);
                FakePrefab.MarkAsFakePrefab(BabyGoodLovebulon.blobPrefab);
                BabyGoodLovebulon.blobPrefab.SetActive(false);
            }
        }
        public static void Init()
        {
            string     itemName     = "Imposter's Knife";
            string     resourceName = "ImposterItems/Resources/imposter_knife";
            GameObject obj          = new GameObject(itemName);
            var        item         = obj.AddComponent <ImpostersKnife>();

            ItemBuilder.AddSpriteToObject(itemName, resourceName, obj);
            string shortDesc = "Wasn't me";
            string longDesc  = "On use, deliver a quick short range, high damage stab towards a direction of your choosing.\n\nSharp, quick, reliable, and most importantly never runs out of ammo. It's no wonder why the knife is such an effective " +
                               "killing device, held back only for it's short range..maybe there's some kind of workaround to that...";

            ItemBuilder.SetupItem(item, shortDesc, longDesc, "spapi");
            ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 500);
            item.consumable = false;
            item.quality    = ItemQuality.SPECIAL;
            var cm = Instantiate((GameObject)BraveResources.Load("Global Prefabs/_ChallengeManager", ".prefab"));

            item.DarknessEffectShader = (cm.GetComponent <ChallengeManager>().PossibleChallenges.Where(c => c.challenge is DarknessChallengeModifier).First().challenge as DarknessChallengeModifier).DarknessEffectShader;
            VFXPool stabVFX = new VFXPool {
                type = VFXPoolType.All
            };
            VFXComplex complex = new VFXComplex();
            VFXObject  vfxObj  = new VFXObject
            {
                alignment       = VFXAlignment.Fixed,
                attached        = true,
                orphaned        = false,
                persistsOnDeath = false,
                destructible    = true,
                usesZHeight     = true,
                zHeight         = -0.25f
            };
            GameObject stabKnifeObj = SpriteBuilder.SpriteFromResource("ImposterItems/Resources/imposter_knife_stab", new GameObject("ImposterKnifeStab"));

            stabKnifeObj.SetActive(false);
            FakePrefab.MarkAsFakePrefab(stabKnifeObj);
            DontDestroyOnLoad(stabKnifeObj);
            tk2dSpriteAnimator animator = stabKnifeObj.AddComponent <tk2dSpriteAnimator>();

            SpriteBuilder.AddAnimation(animator, stabKnifeObj.GetComponent <tk2dBaseSprite>().Collection, new List <int> {
                stabKnifeObj.GetComponent <tk2dBaseSprite>().spriteId
            }, "stab", tk2dSpriteAnimationClip.WrapMode.Once).fps = 1;
            animator.playAutomatically = true;
            animator.DefaultClipId     = animator.GetClipIdByName("stab");
            SpriteAnimatorKiller killer = stabKnifeObj.AddComponent <SpriteAnimatorKiller>();

            killer.fadeTime             = -1f;
            killer.delayDestructionTime = -1f;
            killer.animator             = animator;
            ConstructOffsetsFromAnchor(stabKnifeObj.GetComponent <tk2dBaseSprite>().GetCurrentSpriteDef(), tk2dBaseSprite.Anchor.MiddleLeft);
            vfxObj.effect   = stabKnifeObj;
            complex.effects = new VFXObject[] { vfxObj };
            stabVFX.effects = new VFXComplex[] { complex };
            item.stabVfx    = stabVFX;
            Destroy(cm);
            ImpostersKnifeId = item.PickupObjectId;
            Game.Items.Rename("spapi:imposter's_knife", "spapi:imposters_knife");
        }
Example #13
0
        public static void Init()
        {
            string     itemName     = "Lich's Book";
            string     resourceName = "LichItems/Resources/lichsbook_item_001";
            GameObject obj          = new GameObject(itemName);
            var        item         = obj.AddComponent <LichsBookItem>();

            ItemBuilder.AddSpriteToObject(itemName, resourceName, obj);
            string shortDesc = "Bang Bang Bang";
            string longDesc  = "A book about the know-how of shooting skills and knowledge of magic.\nThe book itself has magical power, Just unfolding it has a mysterious effect.";

            ItemBuilder.SetupItem(item, shortDesc, longDesc, "spapi");
            ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 600);
            item.consumable = false;
            item.quality    = ItemQuality.C;
            Game.Items.Rename("spapi:lich's_book", "spapi:lichs_book");
            GameObject shadow = SpriteBuilder.SpriteFromResource("LichItems/Resources/lichsbook_shadow_001");

            shadow.SetActive(false);
            FakePrefab.MarkAsFakePrefab(shadow);
            DontDestroyOnLoad(shadow);
            tk2dBaseSprite sprite = shadow.GetComponent <tk2dBaseSprite>();

            ConstructOffsetsFromAnchor(sprite.GetCurrentSpriteDef(), tk2dBaseSprite.Anchor.LowerCenter);
            Shader shadowShader = GameManager.Instance.RewardManager.A_Chest.gameObject.transform.Find("Shadow").gameObject.GetComponent <tk2dSprite>().renderer.material.shader;

            sprite.GetCurrentSpriteDef().material.shader = shadowShader;
            sprite.GetCurrentSpriteDef().materialInst.shader = shadowShader;
            GameObject book = SpriteBuilder.SpriteFromResource("LichItems/Resources/lichsbook_depoy_001");

            book.SetActive(false);
            FakePrefab.MarkAsFakePrefab(book);
            DontDestroyOnLoad(book);
            tk2dSpriteAnimator animator = book.gameObject.AddComponent <tk2dSpriteAnimator>();
            List <int>         ids      = new List <int>
            {
                book.GetComponent <tk2dBaseSprite>().spriteId,
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_002", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_003", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_004", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_005", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_006", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_007", book.GetComponent <tk2dBaseSprite>().Collection),
                SpriteBuilder.AddSpriteToCollection("LichItems/Resources/lichsbook_depoy_008", book.GetComponent <tk2dBaseSprite>().Collection),
            };

            foreach (int id in ids)
            {
                ConstructOffsetsFromAnchor(book.GetComponent <tk2dBaseSprite>().Collection.spriteDefinitions[id], tk2dBaseSprite.Anchor.LowerCenter);
            }
            SpriteBuilder.AddAnimation(animator, book.GetComponent <tk2dBaseSprite>().Collection, ids, "idle", tk2dSpriteAnimationClip.WrapMode.Loop).fps = 10;
            animator.DefaultClipId     = animator.GetClipIdByName("idle");
            animator.playAutomatically = true;
            book.AddComponent <LichsBook>().shadowPrefab = shadow;
            item.LichsBookPrefab = book;
            BuildLibrary(item);
        }
Example #14
0
        public static void BuildPrefab()
        {
            GameObject gameObject = SpriteBuilder.SpriteFromResource("Knives/Resources/tur_collection/tur_mounted_up", null);

            gameObject.SetActive(false);
            GungeonAPI.FakePrefab.MarkAsFakePrefab(gameObject);
            UnityEngine.Object.DontDestroyOnLoad(gameObject);
            Sheila.Gun = gameObject;
        }
Example #15
0
    private static string resourcePath = "CustomItems/Resources/P2/sticky_bomb"; //Refers to an embedded png in the project. Make sure to embed your resources!

    public static void Init()
    {
        GameObject obj  = new GameObject();
        var        item = obj.AddComponent <StickyBomb>();

        ItemBuilder.AddSpriteToObject(itemID, resourcePath, obj);

        string shortDesc = "Get it off me!";
        string longDesc  = "5% chance on hit to attach a bomb to an enemy, detonating for 2000% of your base damage.\n\n" +
                           "See the orange end? Don't touch it.";

        ItemBuilder.SetupItem(item, shortDesc, longDesc, "kts");
        item.quality = PickupObject.ItemQuality.C;

        stickyBombPrefab = SpriteBuilder.SpriteFromResource(resourcePath).GetComponent <tk2dSprite>().gameObject;
        GameObject.DontDestroyOnLoad(stickyBombPrefab);
        FakePrefab.MarkAsFakePrefab(stickyBombPrefab);
        stickyBombPrefab.SetActive(false);

        var explosionTemplate = Gungeon.Game.Items["c4"].GetComponent <RemoteMineItem>().objectToSpawn.GetComponent <RemoteMineController>().explosionData;

        explosionData = new ExplosionData()
        {
            useDefaultExplosion = false,
            doDamage            = true,
            forceUseThisRadius  = false,
            damageRadius        = 2.5f,
            damageToPlayer      = 0,
            damage                       = 60f,
            breakSecretWalls             = false,
            secretWallsRadius            = 4.5f,
            forcePreventSecretWallDamage = false,
            doDestroyProjectiles         = true,
            doForce                      = true,
            pushRadius                   = 6f,
            force                  = 50f,
            debrisForce            = 50f,
            preventPlayerForce     = false,
            explosionDelay         = 0.1f,
            usesComprehensiveDelay = false,
            comprehensiveDelay     = 0f,
            effect                 = explosionTemplate.effect,
            doScreenShake          = true,
            ss = explosionTemplate.ss,
            doStickyFriction             = true,
            doExplosionRing              = true,
            isFreezeExplosion            = false,
            freezeRadius                 = 0f,
            freezeEffect                 = null,
            playDefaultSFX               = true,
            IsChandelierExplosion        = false,
            rotateEffectToNormal         = false,
            ignoreList                   = explosionTemplate.ignoreList,
            overrideRangeIndicatorEffect = null,
        };
    }
Example #16
0
        public static void SetupObjects()
        {
            GameObject eye = SpriteBuilder.SpriteFromResource("SpecialItemPack/Resources/WallEye");

            eye.SetActive(false);
            FakePrefab.MarkAsFakePrefab(eye);
            UnityEngine.Object.DontDestroyOnLoad(eye);
            eye.GetComponent <tk2dSprite>().GetCurrentSpriteDef().ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.MiddleCenter, eye.GetComponent <tk2dSprite>().GetCurrentSpriteDef().position3);
            EyePrefab = eye;
        }
Example #17
0
        public static void Init()
        {
            money2VFXObject = SpriteBuilder.SpriteFromResource("CakeMod/Resources/money22Debuff", new GameObject("money22Icon"));
            money2VFXObject.SetActive(false);
            tk2dBaseSprite vfxSprite = money2VFXObject.GetComponent <tk2dBaseSprite>();

            vfxSprite.GetCurrentSpriteDef().ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.LowerCenter, vfxSprite.GetCurrentSpriteDef().position3);
            FakePrefab.MarkAsFakePrefab(money2VFXObject);
            UnityEngine.Object.DontDestroyOnLoad(money2VFXObject);
        }
Example #18
0
        public static void BuildPrefab()
        {
            LimeVFXObject = SpriteBuilder.SpriteFromResource("CakeMod/Resources/Lime", new GameObject("FrailtyIcon"));
            LimeVFXObject.SetActive(false);
            tk2dBaseSprite vfxSprite = LimeVFXObject.GetComponent <tk2dBaseSprite>();

            vfxSprite.GetCurrentSpriteDef().ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.LowerCenter, vfxSprite.GetCurrentSpriteDef().position3);
            FakePrefab.MarkAsFakePrefab(LimeVFXObject);
            UnityEngine.Object.DontDestroyOnLoad(LimeVFXObject);
        }
Example #19
0
 public SpriteBuilder(SpriteBuilder sb, Vector2 pos)
 {
     Surface    = sb.Surface;
     FontId     = sb.FontId; FontScale = sb.FontScale;
     Color      = sb.Color; BGColor = sb.BGColor;
     Cursor     = pos;
     Box        = new BoundingBox2(Cursor, Cursor);
     Scale      = sb.Scale;
     FrameCount = sb.FrameCount;
 }
Example #20
0
        public static void BuildDronePrefab()
        {
            if (dronePrefab != null)
            {
                return;
            }

            dronePrefab      = SpriteBuilder.SpriteFromResource(spritePaths[0], null).gameObject;
            dronePrefab.name = "Drone";

            //setup rigidbody
            var item           = Gungeon.Game.Items["dog"].GetComponent <CompanionItem>();
            var baseRigidbody  = EnemyDatabase.GetOrLoadByGuid(item.CompanionGuid).specRigidbody;
            var spriteAnimator = dronePrefab.AddComponent <tk2dSpriteAnimator>();

            var body = dronePrefab.GetComponent <tk2dSprite>().SetUpSpeculativeRigidbody(new IntVector2(10, 5), new IntVector2(10, 5));

            body.CollideWithTileMap = true;
            body.CollideWithOthers  = true;

            if (droneCollection == null)
            {
                droneCollection = SpriteBuilder.ConstructCollection(dronePrefab, "Drone_Collection");
                GameObject.DontDestroyOnLoad(droneCollection);
                for (int i = 0; i < spritePaths.Length; i++)
                {
                    SpriteBuilder.AddSpriteToCollection(spritePaths[i], droneCollection);
                }
                SpriteBuilder.AddAnimation(spriteAnimator, droneCollection, new List <int>()
                {
                    0, 1
                }, "idle", tk2dSpriteAnimationClip.WrapMode.Loop);
                SpriteBuilder.AddAnimation(spriteAnimator, droneCollection, new List <int>()
                {
                    2, 3
                }, "forward", tk2dSpriteAnimationClip.WrapMode.Loop);
                SpriteBuilder.AddAnimation(spriteAnimator, droneCollection, new List <int>()
                {
                    4, 5
                }, "back", tk2dSpriteAnimationClip.WrapMode.Loop);
                SpriteBuilder.AddAnimation(spriteAnimator, droneCollection, new List <int>()
                {
                    6, 7
                }, "left", tk2dSpriteAnimationClip.WrapMode.Loop);
                SpriteBuilder.AddAnimation(spriteAnimator, droneCollection, new List <int>()
                {
                    8, 9
                }, "right", tk2dSpriteAnimationClip.WrapMode.Loop);
            }

            GameObject.DontDestroyOnLoad(dronePrefab);
            FakePrefab.MarkAsFakePrefab(dronePrefab);
            dronePrefab.SetActive(false);
        }
Example #21
0
        private void OpenViewDistance()
        {
            currentScreen = 2;
            //If the area chosen is the area the player is already in, the distance will not change. Otherwise, get the distance for the new area.

            int areaDist = (SelectedArea == originalArea) ? gm.WorldMgr.CurrentDistance : thisWorldData.areas[SelectedArea].distance;

            distanceScreen = ScreenElement.BuildSprite("DistanceScreen", screenDisplay.transform).SetSprite(gm.spriteDB.map_distanceScreen);
            ScreenElement.BuildTextBox("Distance", distanceScreen.transform, DFont.Regular)
            .SetText(areaDist.ToString()).SetSize(25, 5).SetPosition(6, 25).SetAlignment(TextAnchor.UpperRight);
        }
Example #22
0
        private static Sprite CreateSprite()
        {
            var builder = new SpriteBuilder
            {
                { "walk", 0.5F, Assets.GetImages("slime", "slime_walk") },
                { "jump", 1.0F, Assets.GetImages("slime") },
                { "idle", 1.0F, Assets.GetImages("slime") },
                { "hurt", 1.0F, Assets.GetImages("slime_hit") }
            };

            return(builder.CreateSprite());
        }
 private static void SetupCollection()
 {
     VFXScapegoat = new GameObject();
     UnityEngine.Object.DontDestroyOnLoad(VFXScapegoat);
     PumpChargeShotgun.GunVFXCollection = SpriteBuilder.ConstructCollection(VFXScapegoat, "PumpChargeVFX_Collection");
     UnityEngine.Object.DontDestroyOnLoad(PumpChargeShotgun.GunVFXCollection);
     Meter1ID = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/MiscVFX/PumpChargeMeter1", PumpChargeShotgun.GunVFXCollection);
     Meter2ID = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/MiscVFX/PumpChargeMeter2", PumpChargeShotgun.GunVFXCollection);
     Meter3ID = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/MiscVFX/PumpChargeMeter3", PumpChargeShotgun.GunVFXCollection);
     Meter4ID = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/MiscVFX/PumpChargeMeter4", PumpChargeShotgun.GunVFXCollection);
     Meter5ID = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/MiscVFX/PumpChargeMeter5", PumpChargeShotgun.GunVFXCollection);
 }
Example #24
0
 private void PostProcess(Projectile proj, float eff)
 {
     if (!proj.gameObject.GetComponent <PreventBloatDuping>())
     {
         proj.healthEffect = new BloatEffect()
         {
             DamagePerSecondToEnemies = 0, duration = 99999, OverheadVFX = SpriteBuilder.SpriteFromResource("Items/Resources/VFX/bloated_rounds_vfx"), PlaysVFXOnActor = true
         };
         proj.AppliesPoison     = true;
         proj.PoisonApplyChance = chance * eff;
     }
 }
Example #25
0
                // ----
                public BoundingBox2 AppendBlockIcon(SpriteBuilder maker, BoxStyle style, IMonitorBlock monitorBlock, MonitorInfo info)
                {
                    BoundingBox2  box = new BoundingBox2(Cursor, Cursor);
                    SpriteBuilder sb  = new SpriteBuilder(maker);

                    InfoItem item; if (info.TryGetValue("block", out item))

                    {
                        CommonInfo commonInfo = item as CommonInfo;
                        string     icon       = "";

                        if (commonInfo.IsBeingHacked)
                        {
                            if ((FrameCount % 1.0f) < 0.5f)
                            {
                                icon = SpriteId.Danger;
                            }
                            else
                            {
                                icon = SpriteId.Cross;
                            }
                        }
                        else if (!commonInfo.IsFunctional)
                        {
                            icon = SpriteId.Cross;
                        }
                        //else if (!info.BlockInfo.IsEnabled)
                        //    icon = SpriteId.Construction;
                        else if (!commonInfo.IsWorking)
                        {
                            icon = SpriteId.Danger;
                        }

                        if (icon != "")
                        {
                            sb.SpriteBox(style, icon);
                            //box = maker.SpriteBox(Sprites, style, icon);
                        }
                        else
                        {
                            SpriteDataBuilder sdb; if (IconRes.TryGetValue(commonInfo.Icon, out sdb))
                            {
                                sb.SpriteDataBox(style, sdb);
                            }
                            //box = maker.SpriteDataBox(Sprites, style, sdb);
                        }
                    }

                    Cursor.X += sb.Box.Width;
                    //Cursor.X += box.Width;
                    Sprites.AddRange(sb.Sprites);
                    return(sb.Box);
                }
Example #26
0
        private static Sprite CreatePlayerSprite()
        {
            var builder = new SpriteBuilder
            {
                { "walk", 0.1F, Assets.GetImages("alienpink_walk1_crop", "alienpink_walk2_crop") },
                { "jump", 0.1F, Assets.GetImages("alienpink_jump_crop") },
                { "idle", 5F, Assets.GetImages("alienpink_stand_crop", "alienpink_front_crop") },
                { "hurt", 1.0F, Assets.GetImages("alienpink_hit_crop") }
            };

            return(builder.CreateSprite());
        }
        tk2dSprite CreateSpriteElement(string name, Vector3 offset)
        {
            var sprite = SpriteBuilder.SpriteFromResource($"{spriteDir}/{name}").GetComponent <tk2dSprite>();

            sprite.transform.SetParent(m_extantGUI);
            sprite.PlaceAtLocalPositionByAnchor(offset / 16f, tk2dBaseSprite.Anchor.LowerLeft);
            sprite.scale           = Vector2.zero;
            sprite.SortingOrder    = 1;
            sprite.IsPerpendicular = false;
            m_panel.AttachRenderer(sprite);
            return(sprite);
        }
Example #28
0
        private IEnumerator PADisplayPattern()
        {
            gm.LockInput();

            keypad  = ScreenElement.BuildSprite("Keypad", Parent).SetSize(24, 24).Center().SetSprite(gm.spriteDB.jackpot_pad);
            keys[0] = ScreenElement.BuildSprite("Key Left", Parent).SetSize(8, 12).SetPosition(4, 10)
                      .SetSprite(gm.spriteDB.jackpot_keys[0]).SetTransparent(true).SetActive(false);
            keys[1] = ScreenElement.BuildSprite("Key Right", Parent).SetSize(8, 12).SetPosition(20, 10)
                      .SetSprite(gm.spriteDB.jackpot_keys[1]).SetTransparent(true).SetActive(false);
            keys[2] = ScreenElement.BuildSprite("Key Up", Parent).SetSize(12, 8).SetPosition(10, 4)
                      .SetSprite(gm.spriteDB.jackpot_keys[2]).SetTransparent(true).SetActive(false);
            keys[3] = ScreenElement.BuildSprite("Key Down", Parent).SetSize(12, 8).SetPosition(10, 20)
                      .SetSprite(gm.spriteDB.jackpot_keys[3]).SetTransparent(true).SetActive(false);

            SpriteBuilder hourglass = ScreenElement.BuildSprite("Hourglass", Parent).SetSprite(gm.spriteDB.hourglass);

            yield return(new WaitForSeconds(0.75f));

            hourglass.Dispose();

            for (int i = 0; i < pattern.Length; i++)
            {
                audioMgr.PlaySound(audioMgr.beepLow);
                keys[pattern[i]].SetActive(true);
                yield return(new WaitForSeconds(delay));

                keys[pattern[i]].SetActive(false);
            }

            //Black screen:
            RectangleBuilder rbBlackScreen = ScreenElement.BuildRectangle("BlackScreen0", Parent).SetSize(32, 32);
            SpriteBuilder    sbLoading     = ScreenElement.BuildSprite("Loading", Parent).SetSprite(gm.spriteDB.loading).PlaceOutside(Direction.Up);

            for (int i = 0; i < 64; i++)
            {
                sbLoading.Move(Direction.Down);
                yield return(new WaitForSeconds((delay * 2f) / 64));
            }
            rbBlackScreen.Dispose();
            sbLoading.Dispose();

            //Ready the player:
            keypad.Move(Direction.Down, 4);
            keys.Move(Direction.Down, 4);
            tbTime = ScreenElement.BuildTextBox("Time", screenDisplay.transform, DFont.Small)
                     .SetText("TIME").SetSize(18, 5).SetPosition(1, 1);
            tbTimeCount = ScreenElement.BuildTextBox("TimeCount", screenDisplay.transform, DFont.Small)
                          .SetText(timeRemaining.ToString()).SetSize(10, 5).SetPosition(22, 1);
            StartCoroutine(TimeCount());

            gm.UnlockInput();
        }
        public static void Init()
        {
            CurrentActiveCurses = new List <CurseData>();
            CursePrefabs        = new List <CurseData>();
            FloorAndGenerationToolbox.OnFloorEntered += LevelLoaded;
            FloorAndGenerationToolbox.OnNewGame      += OnNewRun;
            VFXScapegoat = new GameObject("CurseVFXScapegoat");
            VFXScapegoat.gameObject.SetActive(false);
            UnityEngine.Object.DontDestroyOnLoad(VFXScapegoat);
            CurseIconCollection = SpriteBuilder.ConstructCollection(VFXScapegoat, "CurseIcon_Collection");
            UnityEngine.Object.DontDestroyOnLoad(CurseIconCollection);

            //ETGModConsole.Log("Hook Passed");

            #region SetUpCurses
            CurseData curseOfInfestation = new CurseData();
            curseOfInfestation.curseName     = "Curse of Infestation";
            curseOfInfestation.curseSubtitle = "They crawl beneath the surface";
            curseOfInfestation.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/infestation_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfInfestation);

            CurseData curseOfSludge = new CurseData();
            curseOfSludge.curseName     = "Curse of Sludge";
            curseOfSludge.curseSubtitle = "You. Will. Love. My... Toxic love";
            curseOfSludge.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/sludge_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfSludge);

            CurseData curseOfTheHive = new CurseData();
            curseOfTheHive.curseName     = "Curse of The Hive";
            curseOfTheHive.curseSubtitle = "You hear a faint buzzing";
            curseOfTheHive.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/hive_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfTheHive);

            CurseData curseOfTheFlames = new CurseData();
            curseOfTheFlames.curseName     = "Curse of The Flames";
            curseOfTheFlames.curseSubtitle = "Cannot live with me.";
            curseOfTheFlames.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/flames_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfTheFlames);

            CurseData curseOfButterfingers = new CurseData();
            curseOfButterfingers.curseName     = "Curse of Butterfingers";
            curseOfButterfingers.curseSubtitle = "Be careful not to slip up";
            curseOfButterfingers.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/butterfingers_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfButterfingers);

            CurseData curseOfDarkness = new CurseData();
            curseOfDarkness.curseName     = "Curse of Darkness";
            curseOfDarkness.curseSubtitle = "Spirit of the Night";
            curseOfDarkness.curseIconId   = SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/CurseIcons/darkness_icon", CurseIconCollection);
            CursePrefabs.Add(curseOfDarkness);
            #endregion
        }
Example #30
0
 private static PictureBox GetPictureBox(int index, SpriteBuilder s)
 {
     return(new PictureBox
     {
         BorderStyle = BorderStyle.FixedSingle,
         Width = s.Width + 2,
         Height = s.Height + 2,
         AllowDrop = true,
         Margin = new Padding(PadPixels),
         SizeMode = PictureBoxSizeMode.CenterImage,
         Name = $"bpkm{index}",
     });
 }
    public void Voxelate()
    {
        if (m_pixels3DContainer == null) {
            m_spriteRenderer = GetComponent<SpriteRenderer> ();
            m_spriteBuilder = GetComponent<SpriteBuilder> ();
            m_spriteBuilder.Build ();
            var pixels = m_spriteBuilder.ToPixels ();
            m_spriteRenderer.enabled = false;

            var localScale = transform.localScale;
            var tempScale = new Vector3 (Scale.x * localScale.x, Scale.y * localScale.y, Scale.z * localScale.z);
            var rect = m_spriteBuilder.Sprite.rect;
            var halfWidth = (rect.width / 2) * tempScale.x;
            var halfHeight = (rect.height / 2) * tempScale.y;
            m_pixels3DContainer = new GameObject ("Pixels3DContainer");

            if (KeepContainerParent) {
                m_pixels3DContainer.transform.parent = transform;
            }

            foreach (var p in pixels) {
                if (p.Color.a >= MinAlphaToVoxel) {
                    var pixel3D = Instantiate (Pixel3DPrefab, new Vector3 (
                        transform.position.x + p.X * tempScale.x - halfWidth,
                        transform.position.y + p.Y * tempScale.y - halfHeight,
                        0)
                        , Quaternion.identity) as GameObject;

                    var luminance = 0.2126f * p.Color.r + 0.7152f * p.Color.g + 0.0722f * p.Color.b;
                    pixel3D.transform.localScale = new Vector3(tempScale.x, tempScale.y, tempScale.z + luminance * ZScaleByColorLuminance);
                    var cubeRenderer = pixel3D.GetComponent<MeshRenderer> ();
                    cubeRenderer.material.color = p.Color;
                    pixel3D.transform.parent = m_pixels3DContainer.transform;
                }
            }
        }
    }
Example #32
0
    void Start()
    {
        m_spriteBuilder = GetComponentInChildren<SpriteBuilder> ();
        m_spriteBuilder.Build ();

        m_spriteDestruction = GetComponentInChildren<SpriteDestruction> ();
        m_collider = GetComponent<BoxCollider2D> ();

        m_audioSource = GetComponent<AudioSource> ();
        m_lensFlare = GetComponent<LensFlare> ();
        m_trail = GetComponentInChildren<TrailRenderer> ();

        StartCoroutine (Deploy ());
    }
 void Awake()
 {
     m_animator = GetComponent<Animator> ();
     m_spriteBuilder = GetComponent<SpriteBuilder> ();
 }
Example #34
0
 void Awake()
 {
     m_spriteBuilder = GetComponent<SpriteBuilder>().Build ();
 }