public static GameObject BuildPrefab() { var bomb = SpriteBuilder.SpriteFromResource("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_001.png", new GameObject("Lvl2Molotov")); bomb.SetActive(false); FakePrefab.MarkAsFakePrefab(bomb); var animator = bomb.AddComponent <tk2dSpriteAnimator>(); var collection = (PickupObjectDatabase.GetById(108) as SpawnObjectPlayerItem).objectToSpawn.GetComponent <tk2dSpriteAnimator>().Library.clips[0].frames[0].spriteCollection; //DEPLOYMENT var deployAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_004.png", collection), }, "lvl2mol_throw", tk2dSpriteAnimationClip.WrapMode.Once); deployAnimation.fps = 12; foreach (var frame in deployAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } var explodeAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_burst_001.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_burst_002.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_burst_003.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_burst_004.png", collection), }, "lvl2mol_burst", tk2dSpriteAnimationClip.WrapMode.Once); explodeAnimation.fps = 16; foreach (var frame in explodeAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } var armedAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_001.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_002.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_003.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/lvl2molotov_spin_004.png", collection), }, "lvl2mol_default", tk2dSpriteAnimationClip.WrapMode.LoopSection); armedAnimation.fps = 10.0f; armedAnimation.loopStart = 0; foreach (var frame in armedAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } CustomThrowableObject throwable = new CustomThrowableObject { doEffectOnHitGround = true, OnThrownAnimation = "lvl2mol_throw", OnHitGroundAnimation = "lvl2mol_burst", DefaultAnim = "lvl2mol_default", destroyOnHitGround = false, thrownSoundEffect = "Play_OBJ_item_throw_01", effectSoundEffect = "Play_OBJ_glassbottle_shatter_01", }; bomb.AddComponent <CustomThrowableObject>(throwable); bomb.AddComponent <LvL2MolotovEffect>(); return(bomb); }
public static GameObject BuildPrefab() { var bomb = SpriteBuilder.SpriteFromResource("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_001.png", new GameObject("DiceBomb")); bomb.SetActive(false); FakePrefab.MarkAsFakePrefab(bomb); var animator = bomb.AddComponent <tk2dSpriteAnimator>(); var collection = (PickupObjectDatabase.GetById(108) as SpawnObjectPlayerItem).objectToSpawn.GetComponent <tk2dSpriteAnimator>().Library.clips[0].frames[0].spriteCollection; //DEPLOYMENT var deployAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_001.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_002.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_003.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_004.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_005.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_006.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_007.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_008.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_009.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_throw_010.png", collection), }, "dicebomb_thrown", tk2dSpriteAnimationClip.WrapMode.Once); deployAnimation.fps = 20; //Dice bomb takes 1 second to explode, so I set this to double the amount of frames in the animation to make sure this animation takes half the time to play. foreach (var frame in deployAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } var explodeAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_explode_001.png", collection), }, "dicebomb_explode", tk2dSpriteAnimationClip.WrapMode.Once); explodeAnimation.fps = 16; foreach (var frame in explodeAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } var armedAnimation = SpriteBuilder.AddAnimation(animator, collection, new List <int> { SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_001.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_002.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_003.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_004.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_005.png", collection), SpriteBuilder.AddSpriteToCollection("NevernamedsItems/Resources/ThrowableActives/dicegrenade_primed_006.png", collection), }, "dicebomb_primed", tk2dSpriteAnimationClip.WrapMode.LoopSection); armedAnimation.fps = 12f; armedAnimation.loopStart = 4; foreach (var frame in armedAnimation.frames) { frame.eventLerpEmissiveTime = 0.5f; frame.eventLerpEmissivePower = 30f; } CustomThrowableObject throwable = new CustomThrowableObject { OnThrownAnimation = "dicebomb_thrown", DefaultAnim = "dicebomb_primed", OnEffectAnim = "dicebomb_explode", thrownSoundEffect = "Play_OBJ_item_throw_01", destroyOnHitGround = false, doEffectOnHitGround = false, doEffectAfterTime = true, timeTillEffect = 1f }; bomb.AddComponent <CustomThrowableObject>(throwable); bomb.AddComponent <DiceGrenadeEffect>(); return(bomb); }