init
This commit is contained in:
commit
16da8e4dde
333 changed files with 109229 additions and 0 deletions
144
Assets/Scripts/Enemies/BigEnemyController.cs
Normal file
144
Assets/Scripts/Enemies/BigEnemyController.cs
Normal file
|
@ -0,0 +1,144 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class BigEnemyController : MonoBehaviour, IPooledObject{
|
||||
|
||||
public float speed;
|
||||
public GameObject healthBar;
|
||||
public GameObject enemy;
|
||||
public float bulletDamage;
|
||||
public float bigBulletDamage;
|
||||
public GameObject spawnParticles;
|
||||
public Color level1Color;
|
||||
public Color level2Color;
|
||||
public Color level3Color;
|
||||
public SpriteRenderer spriteRenderer;
|
||||
|
||||
Animator anim;
|
||||
bool ready;
|
||||
bool spawned;
|
||||
BoxCollider2D boxCol;
|
||||
public int maxHp;
|
||||
float hp;
|
||||
|
||||
GameController gameController;
|
||||
Rigidbody2D rb2d;
|
||||
Transform target;
|
||||
Vector2 targetPos;
|
||||
|
||||
public void OnObjectSpawn(){
|
||||
gameController = FindObjectOfType<GameController>();
|
||||
if (gameController.level == 1 || gameController.level == 0){
|
||||
spriteRenderer.color = level1Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level1Color;
|
||||
}
|
||||
if (gameController.level == 2){
|
||||
spriteRenderer.color = level2Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level2Color;
|
||||
}
|
||||
if (gameController.level == 3){
|
||||
spriteRenderer.color = level3Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level3Color;
|
||||
}
|
||||
anim = GetComponent<Animator>();
|
||||
Invoke(nameof(StopAnimation), 1f);
|
||||
anim.SetBool("Spawned", false);
|
||||
Invoke(nameof(Ready), 2f);
|
||||
ready = false;
|
||||
spawned = false;
|
||||
enemy.transform.rotation = Quaternion.Euler(Vector3.zero);
|
||||
boxCol = GetComponent<BoxCollider2D>();
|
||||
boxCol.enabled = false;
|
||||
spawnParticles.SetActive(true);
|
||||
spawnParticles.GetComponent<ParticleSystem>().Play();
|
||||
hp = maxHp;
|
||||
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
||||
target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
|
||||
rb2d = GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
if (ready){
|
||||
targetPos = target.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
enemy.transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
|
||||
}else if (spawned){
|
||||
Vector2 targetPos = target.transform.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
enemy.transform.rotation = Quaternion.Euler(0f, 0f, rotZ - 90);
|
||||
}
|
||||
}
|
||||
|
||||
void FixedUpdate(){
|
||||
if (ready){
|
||||
rb2d.MovePosition(rb2d.position + (targetPos.normalized * speed * Time.fixedDeltaTime));
|
||||
}
|
||||
}
|
||||
|
||||
void OnTriggerEnter2D(Collider2D col){
|
||||
if(col.CompareTag("Bullet")){
|
||||
if(hp > 0 && hp > bulletDamage){
|
||||
hp -= bulletDamage;
|
||||
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
||||
}else if(hp > 0 && hp <= bulletDamage){
|
||||
hp = 0;
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("EnemyDeath", transform.position, Quaternion.identity);
|
||||
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
else if(hp <= 0){
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("EnemyDeath", transform.position, Quaternion.identity);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
if (col.CompareTag("BigBullet")){
|
||||
if (hp > 0 && hp > bulletDamage){
|
||||
hp -= bigBulletDamage;
|
||||
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
||||
}else if (hp > 0 && hp <= bulletDamage){
|
||||
hp = 0;
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("EnemyDeath", transform.position, Quaternion.identity);
|
||||
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
||||
gameObject.SetActive(false);
|
||||
}else if (hp == 0){
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("EnemyDeath", transform.position, Quaternion.identity);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
#region OnSpawn
|
||||
void StopAnimation(){
|
||||
anim.SetBool("Spawned", true);
|
||||
}
|
||||
|
||||
void Ready(){
|
||||
spawned = true;
|
||||
Invoke(nameof(StartRunning), 0.5f);
|
||||
Invoke(nameof(EnableCollider), 0.25f);
|
||||
}
|
||||
|
||||
void EnableCollider(){
|
||||
boxCol.enabled = true;
|
||||
}
|
||||
|
||||
void StartRunning(){
|
||||
ready = true;
|
||||
}
|
||||
#endregion
|
||||
}
|
11
Assets/Scripts/Enemies/BigEnemyController.cs.meta
Normal file
11
Assets/Scripts/Enemies/BigEnemyController.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 02c265ccaecb24e4bb6817b3fcbc4467
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
119
Assets/Scripts/Enemies/CircleEnemyController.cs
Normal file
119
Assets/Scripts/Enemies/CircleEnemyController.cs
Normal file
|
@ -0,0 +1,119 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class CircleEnemyController : MonoBehaviour, IPooledObject{
|
||||
|
||||
public float speed;
|
||||
public GameObject spikes2;
|
||||
[HideInInspector]
|
||||
public int hp, maxHp = 2;
|
||||
public GameObject spawnParticles;
|
||||
public Color level1Color;
|
||||
public Color level2Color;
|
||||
public Color level3Color;
|
||||
public SpriteRenderer[] spriteRenderers;
|
||||
|
||||
GameController gameController;
|
||||
Animator anim;
|
||||
CircleCollider2D cirCol;
|
||||
bool ready;
|
||||
Rigidbody2D rb2d;
|
||||
Transform target;
|
||||
Vector2 targetPos;
|
||||
|
||||
public void OnObjectSpawn(){
|
||||
gameController = FindObjectOfType<GameController>();
|
||||
if (gameController.level == 1 || gameController.level == 0){
|
||||
foreach(SpriteRenderer r in spriteRenderers){
|
||||
r.color = level1Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level1Color;
|
||||
}
|
||||
if (gameController.level == 2){
|
||||
foreach (SpriteRenderer r in spriteRenderers){
|
||||
r.color = level2Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level2Color;
|
||||
}
|
||||
if (gameController.level == 3){
|
||||
foreach (SpriteRenderer r in spriteRenderers){
|
||||
r.color = level3Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level3Color;
|
||||
}
|
||||
anim = GetComponent<Animator>();
|
||||
anim.SetBool("Spawned", false);
|
||||
cirCol = GetComponent<CircleCollider2D>();
|
||||
cirCol.enabled = false;
|
||||
hp = maxHp;
|
||||
spikes2.SetActive(true);
|
||||
target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
|
||||
rb2d = GetComponent<Rigidbody2D>();
|
||||
ready = false;
|
||||
Invoke(nameof(StopAnimation), 1f);
|
||||
Invoke(nameof(Ready), 2f);
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
targetPos = target.position - transform.position;
|
||||
}
|
||||
|
||||
void FixedUpdate(){
|
||||
if (ready){
|
||||
rb2d.MovePosition(rb2d.position + (targetPos.normalized * speed * Time.fixedDeltaTime));
|
||||
}
|
||||
}
|
||||
|
||||
void OnTriggerEnter2D(Collider2D col){
|
||||
if (col.CompareTag("Bullet") && hp == 2){
|
||||
spikes2.SetActive(false);
|
||||
hp = 1;
|
||||
}else if(col.CompareTag("Bullet") && hp == 1){
|
||||
gameObject.SetActive(false);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
hp = 0;
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
ObjectPooler.Instance.SpawnFromPool("CircleEnemyDeath", transform.position, Quaternion.identity);
|
||||
}
|
||||
if (col.CompareTag("BigBullet") && hp == 2){
|
||||
gameObject.SetActive(false);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
hp = 0;
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
ObjectPooler.Instance.SpawnFromPool("CircleEnemyDeath", transform.position, Quaternion.identity);
|
||||
}else if (col.CompareTag("BigBullet") && hp == 1){
|
||||
gameObject.SetActive(false);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
hp = 0;
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
ObjectPooler.Instance.SpawnFromPool("CircleEnemyDeath", transform.position, Quaternion.identity);
|
||||
}
|
||||
}
|
||||
|
||||
#region OnSpawn
|
||||
void StopAnimation(){
|
||||
anim.SetBool("Spawned", true);
|
||||
}
|
||||
|
||||
void Ready(){
|
||||
Invoke(nameof(StartRunning), 0.5f);
|
||||
Invoke(nameof(EnableCollider), 0.25f);
|
||||
}
|
||||
|
||||
void EnableCollider(){
|
||||
cirCol.enabled = true;
|
||||
}
|
||||
|
||||
void StartRunning(){
|
||||
ready = true;
|
||||
}
|
||||
#endregion
|
||||
}
|
11
Assets/Scripts/Enemies/CircleEnemyController.cs.meta
Normal file
11
Assets/Scripts/Enemies/CircleEnemyController.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e63ace73998409c449c98a0737a00844
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
104
Assets/Scripts/Enemies/EnemyController.cs
Normal file
104
Assets/Scripts/Enemies/EnemyController.cs
Normal file
|
@ -0,0 +1,104 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class EnemyController : MonoBehaviour, IPooledObject{
|
||||
|
||||
public float speed;
|
||||
public GameObject enemy;
|
||||
public GameObject spawnParticles;
|
||||
public Color level1Color;
|
||||
public Color level2Color;
|
||||
public Color level3Color;
|
||||
|
||||
GameController gameController;
|
||||
Animator anim;
|
||||
bool ready;
|
||||
bool spawned;
|
||||
BoxCollider2D boxCol;
|
||||
Rigidbody2D rb2d;
|
||||
Transform target;
|
||||
Vector2 targetPos;
|
||||
|
||||
public void OnObjectSpawn(){
|
||||
gameController = FindObjectOfType<GameController>();
|
||||
if(gameController.level == 1 || gameController.level == 0){
|
||||
GetComponentInChildren<SpriteRenderer>().color = level1Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level1Color;
|
||||
}
|
||||
if (gameController.level == 2){
|
||||
GetComponentInChildren<SpriteRenderer>().color = level2Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level2Color;
|
||||
}
|
||||
if (gameController.level == 3){
|
||||
GetComponentInChildren<SpriteRenderer>().color = level3Color;
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level3Color;
|
||||
}
|
||||
anim = GetComponent<Animator>();
|
||||
anim.SetBool("Spawned", false);
|
||||
target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
|
||||
rb2d = GetComponent<Rigidbody2D>();
|
||||
boxCol = GetComponentInChildren<BoxCollider2D>();
|
||||
boxCol.enabled = false;
|
||||
spawnParticles.SetActive(true);
|
||||
spawnParticles.GetComponent<ParticleSystem>().Play();
|
||||
ready = false;
|
||||
spawned = false;
|
||||
Invoke(nameof(StopAnimation), 1f);
|
||||
Invoke(nameof(Ready), 2f);
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
if (ready){
|
||||
targetPos = target.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
enemy.transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
|
||||
}else if (spawned){
|
||||
Vector2 targetPos = target.transform.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
enemy.transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
|
||||
}
|
||||
}
|
||||
|
||||
void FixedUpdate(){
|
||||
if (ready){
|
||||
rb2d.MovePosition(rb2d.position + (targetPos.normalized * speed * Time.fixedDeltaTime));
|
||||
}
|
||||
}
|
||||
|
||||
void OnTriggerEnter2D(Collider2D col){
|
||||
if (col.CompareTag("Bullet") || col.CompareTag("BigBullet")){
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("EnemyDeath", col.transform.position, Quaternion.identity);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
#region OnSpawn
|
||||
void StopAnimation(){
|
||||
anim.SetBool("Spawned", true);
|
||||
}
|
||||
|
||||
void Ready(){
|
||||
spawned = true;
|
||||
Invoke(nameof(StartRunning), 0.5f);
|
||||
Invoke(nameof(EnableCollider), 0.25f);
|
||||
}
|
||||
|
||||
void EnableCollider(){
|
||||
boxCol.enabled = true;
|
||||
}
|
||||
|
||||
void StartRunning(){
|
||||
ready = true;
|
||||
}
|
||||
#endregion
|
||||
}
|
11
Assets/Scripts/Enemies/EnemyController.cs.meta
Normal file
11
Assets/Scripts/Enemies/EnemyController.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 238ef62119f1ac144b9517dd0dfa510d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
121
Assets/Scripts/Enemies/RocketEnemy.cs
Normal file
121
Assets/Scripts/Enemies/RocketEnemy.cs
Normal file
|
@ -0,0 +1,121 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class RocketEnemy : MonoBehaviour, IPooledObject{
|
||||
|
||||
public float speed;
|
||||
public GameObject particles;
|
||||
public PolygonCollider2D polCol;
|
||||
public GameObject spawnParticles;
|
||||
public GameObject rocket;
|
||||
public Color level1Color;
|
||||
public Color level2Color;
|
||||
public Color level3Color;
|
||||
public SpriteRenderer[] spriteRenderers;
|
||||
|
||||
GameController gameController;
|
||||
Animator anim;
|
||||
bool spawned;
|
||||
bool ready;
|
||||
GameObject target;
|
||||
|
||||
public void OnObjectSpawn(){
|
||||
gameController = FindObjectOfType<GameController>();
|
||||
if (gameController.level == 1 || gameController.level == 0){
|
||||
foreach (SpriteRenderer r in spriteRenderers){
|
||||
r.color = level1Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level1Color;
|
||||
}
|
||||
if (gameController.level == 2){
|
||||
foreach (SpriteRenderer r in spriteRenderers){
|
||||
r.color = level2Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level2Color;
|
||||
}
|
||||
if (gameController.level == 3){
|
||||
foreach (SpriteRenderer r in spriteRenderers){
|
||||
r.color = level3Color;
|
||||
}
|
||||
ParticleSystem ps = spawnParticles.GetComponent<ParticleSystem>();
|
||||
var main = ps.main;
|
||||
main.startColor = level3Color;
|
||||
}
|
||||
anim = GetComponent<Animator>();
|
||||
Invoke(nameof(StopAnimation), 1f);
|
||||
anim.SetBool("Spawned", false);
|
||||
particles.SetActive(false);
|
||||
ready = false;
|
||||
spawned = false;
|
||||
target = GameObject.FindGameObjectWithTag("Player");
|
||||
Invoke(nameof(Ready), 2f);
|
||||
polCol.enabled = false;
|
||||
spawnParticles.SetActive(true);
|
||||
spawnParticles.GetComponent<ParticleSystem>().Play();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
if (ready){
|
||||
transform.Translate(Vector3.up * speed * Time.deltaTime);
|
||||
}else if(spawned){
|
||||
Vector2 targetPos = target.transform.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
transform.rotation = Quaternion.Euler(0f, 0f, rotZ - 90);
|
||||
}else if (!spawned){
|
||||
Vector2 targetPos = target.transform.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
rocket.transform.rotation = Quaternion.Euler(0f, 0f, rotZ - 90);
|
||||
}
|
||||
}
|
||||
|
||||
void OnCollisionEnter2D(Collision2D col){
|
||||
if(col.gameObject.CompareTag("Wall")){
|
||||
Vector2 targetPos = target.transform.position - transform.position;
|
||||
float rotZ = Mathf.Atan2(targetPos.y, targetPos.x) * Mathf.Rad2Deg;
|
||||
transform.rotation = Quaternion.Euler(0f, 0f, rotZ - 90);
|
||||
}
|
||||
if(col.gameObject.CompareTag("Player")){
|
||||
ObjectPooler.Instance.SpawnFromPool("RocketEnemyDeath", transform.position, Quaternion.identity);
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
gameObject.SetActive(false);
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
}
|
||||
}
|
||||
|
||||
void OnTriggerEnter2D(Collider2D col){
|
||||
if (col.CompareTag("Bullet") || col.CompareTag("BigBullet")){
|
||||
AudioManager.instance.Play("EnemyDeath");
|
||||
ObjectPooler.Instance.SpawnFromPool("RocketEnemyDeath", transform.position, Quaternion.identity);
|
||||
ScreenShake.Shake(1f, .15f);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
#region OnSpawn
|
||||
void StopAnimation(){
|
||||
anim.SetBool("Spawned", true);
|
||||
}
|
||||
|
||||
void Ready(){
|
||||
Invoke(nameof(StartRunning), 1f);
|
||||
spawned = true;
|
||||
Invoke(nameof(EnableCollider), 0.5f);
|
||||
rocket.transform.rotation = Quaternion.Euler(Vector3.zero);
|
||||
}
|
||||
|
||||
void EnableCollider(){
|
||||
polCol.enabled = true;
|
||||
}
|
||||
|
||||
void StartRunning(){
|
||||
ready = true;
|
||||
particles.SetActive(true);
|
||||
}
|
||||
#endregion
|
||||
}
|
11
Assets/Scripts/Enemies/RocketEnemy.cs.meta
Normal file
11
Assets/Scripts/Enemies/RocketEnemy.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 347d5ccf364673941894f24f09c1f7af
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue