private GameObject InstantiateLoot(ContentPrefabReference prefab, Vector3 position) { GameObject obj = prefab.Instantiate(); obj.transform.position = position + (Vector3)UnityEngine.Random.insideUnitCircle * DropRange; obj.transform.Rotate(0f, 0f, UnityEngine.Random.Range(0f, 360f)); return(obj); }
private void Enemy_OnKilled(IEnemy obj) { foreach (Vector2 pos in SpawnPositions) { Vector3 wpos = transform.position + (Vector3)pos; GameObject newEnemyGO = ToSpawn.Instantiate(); IEnemy enemy = newEnemyGO.GetComponent <IEnemy>(); enemy.Init(wpos, obj.Path, obj.WaveHandler); enemy.PathIndex = _enemy.PathIndex; enemy.WaveHandler.AddEnemy(enemy); } }
protected override void Apply() { GameObject go = Reference.Instantiate(); go.name = gameObject.name; go.tag = gameObject.tag; go.layer = gameObject.layer; go.transform.position = transform.position; go.transform.rotation = transform.rotation; go.transform.localScale = transform.localScale; go.transform.parent = transform.parent; DestroyImmediate(gameObject); }
private void Explode(Events.EventArgs args) { HitInfo hitInfo = args.GetObject <HitInfo>(); float damage = hitInfo.DamageInfo.Damage * _damageMult.GetValue(); float range = _range.GetValue(); Explosion explosion = ExplosionPrefab.Instantiate().GetComponent <Explosion>(); explosion.transform.position = hitInfo.Point; explosion.Explode(damage, range); if (DepleteProjectile) { hitInfo.Projectile.Deplete(); } }