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; }
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; }
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; }
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); }
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); } }
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); }
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()); }
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"); }
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); }
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; }
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, }; }
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; }
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); }
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); }
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; }
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); }
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); }
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); }
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; } }
// ---- 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); }
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); }
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 }
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; } } } }
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> (); }
void Awake() { m_spriteBuilder = GetComponent<SpriteBuilder>().Build (); }