private static void BuildPrefab() { GameObject gameObject = new GameObject("Mahoguny"); tk2dSprite tk2dSprite = gameObject.AddComponent <tk2dSprite>(); MahogunyBehaviour behaviour = gameObject.AddComponent <MahogunyBehaviour>(); if (behaviour.spriteAnimator == null) { behaviour.spriteAnimator = behaviour.gameObject.AddComponent <tk2dSpriteAnimator>(); } behaviour.spriteAnimator.Library = Toolbox.GetGunById(339).GetComponent <tk2dSpriteAnimator>().Library; behaviour.idleAnimation = Toolbox.GetGunById(339).idleAnimation; behaviour.shootAnimation = Toolbox.GetGunById(339).shootAnimation; behaviour.reloadAnimation = Toolbox.GetGunById(339).reloadAnimation; behaviour.GunSwitchGroup = Toolbox.GetGunById(339).gunSwitchGroup; behaviour.CooldownTime = Toolbox.GetGunById(339).DefaultModule.cooldownTime * 2; behaviour.ReloadTime = Toolbox.GetGunById(339).reloadTime; behaviour.NumberOfShotsInClip = Toolbox.GetGunById(339).DefaultModule.numberOfShotsInClip; behaviour.leafObj = Toolbox.GetGunById(339).shellCasing; foreach (ProjectileModule mod in Toolbox.GetGunById(339).Volley.projectiles) { if (mod.GetCurrentProjectile() != null) { behaviour.ProjectilesToShoot.Add(mod.GetCurrentProjectile()); behaviour.AngleVariances.Add(mod.angleVariance); } } tk2dSprite.SetSprite(Toolbox.GetGunById(339).sprite.Collection, Toolbox.GetGunById(339).sprite.spriteId); gameObject.SetActive(false); FakePrefab.MarkAsFakePrefab(gameObject); UnityEngine.GameObject.DontDestroyOnLoad(gameObject); MahogunyPrefab = gameObject; }
protected override void DoEffect(PlayerController user) { base.DoEffect(user); GameObject obj = UnityEngine.Object.Instantiate(MahogunyPrefab, user.sprite.WorldCenter, Quaternion.identity); MahogunyBehaviour behaviour = obj.GetComponent <MahogunyBehaviour>(); behaviour.Owner = user; behaviour.lifespan = user.PlayerHasActiveSynergy("#TWO_TREES_ARE_BETTER_THAN_ONE") ? 17.5f : 10f; behaviour.DelayedInitialization(); base.StartCoroutine(ItemBuilder.HandleDuration(this, user.PlayerHasActiveSynergy("#TWO_TREES_ARE_BETTER_THAN_ONE") ? 17.5f : 10f, user, null)); }