/// <summary> /// Called when the player is instantiated (before Start). Handles player initialization. /// </summary> public override void Awake() { base.Awake(); TagFilter = "Enemy|Laser"; // Retrieve references field = LevelController.Singleton.Field; collider2d = GetComponent <Collider2D>(); rigidbody2d = GetComponent <Rigidbody2D>(); hitEffect = GetComponentInChildren <ParticleSystem>(); // Initializes the renderers target = new Vector2(transform.position.x, transform.position.y); GameObject targetObject = (GameObject)Instantiate(targetPrefab, Vector3.zero, Quaternion.identity); targetRenderer = targetObject.GetComponent <SpriteRenderer>(); dashRenderer = targetObject.GetComponent <LineRenderer>(); dashRenderer.sortingOrder = -1; dashRenderer.material = new Material(Shader.Find("Particles/Additive")); dashRenderer.SetColors(dashStartInactive, dashEndInactive); // Retrieves counter references foreach (GameObject counter in GameObject.FindGameObjectsWithTag("Counter")) { if (counter.GetComponent <LivesCounter>() != null) { livesCounter = counter.GetComponent <LivesCounter>(); } if (counter.GetComponent <DashCounter>() != null) { dashCounter = counter.GetComponent <DashCounter>(); } } }
public static DanmakuField CreateDanmakuField() { GameObject temp = new GameObject("Field"); DanmakuField field = temp.AddComponent <DanmakuField> (); GameObject background = GameObject.CreatePrimitive(PrimitiveType.Quad); background.name = "Background"; background.transform.parent = field.transform; background.transform.localPosition = new Vector3(0f, 0f, 10f); Object.DestroyImmediate(background.GetComponent <MeshCollider> ()); background.transform.localScale = new Vector3(48.125f, 48.125f, 1f); GameObject cam = new GameObject("Camera"); cam.transform.parent = temp.transform; cam.transform.localScale = new Vector3(0f, 0f, -10f); Camera camera = cam.AddComponent <Camera> (); SerializedObject camS = new SerializedObject(field); camS.FindProperty("fieldCamera").objectReferenceValue = camera; camS.ApplyModifiedProperties(); camera.orthographic = true; camera.orthographicSize = 20; camera.farClipPlane = 25; return(field); }
public void OnEnable() { field = target as DanmakuField; useClipBoundary = serializedObject.FindProperty("useClipBoundary"); clipBoundary = serializedObject.FindProperty ("clipBoundary"); size = serializedObject.FindProperty("fieldSize"); camera2D = serializedObject.FindProperty ("camera2D"); camera3D = serializedObject.FindProperty ("otherCameras"); }
public void OnEnable() { field = target as DanmakuField; useClipBoundary = serializedObject.FindProperty("useClipBoundary"); clipBoundary = serializedObject.FindProperty("clipBoundary"); size = serializedObject.FindProperty("fieldSize"); camera2D = serializedObject.FindProperty("camera2D"); camera3D = serializedObject.FindProperty("otherCameras"); }
private void Awake() { boundary = GetComponent<BoxCollider2D>(); if (field == null) { print("No field provided, searching in ancestor GameObjects..."); field = GetComponentInParent<DanmakuField>(); } if (field == null) Debug.LogError("Field Boundary without a DanmakuField"); else UpdatePosition(); }
private void Start() { TimeUtil.FrameRateIndependent = false; field = DanmakuField.FindClosest(this); group = DanmakuGroup.List(); FireData data = prefab; group.Bind(data); if (field) field.Bind(data); Spiral(data.Infinite(Modifier.Rotate(rotation))).Execute(); //Spiral(data.Infinite(Modifier.Rotate(-3f)).WithColor(Color.blue)).Execute(); //InvokeRepeating("DAALL", 10, 10); }
/// <summary> /// Called when the enemy is instantiated (before Start). Initializes the enemy. /// </summary> public override sealed void Awake() { base.Awake(); Player = LevelController.Singleton.Player; Field = LevelController.Singleton.Field; Wave = LevelController.Singleton.Event.GetComponent <Wave>(); Difficulty = Wave.Difficulty; TagFilter = "Friendly"; healthBar = (GameObject)Instantiate(healthBarPrefab, transform.position, Quaternion.identity); healthBar.transform.parent = transform; healthBar.transform.localScale = new Vector3(healthBarSize, 1, 1); Health = MaxHealth; }
private void Start() { TimeUtil.FrameRateIndependent = false; field = DanmakuField.FindClosest(this); group = DanmakuGroup.List(); FireData data = prefab; group.Bind(data); if (field) { field.Bind(data); } Spiral(data.Infinite(Modifier.Rotate(rotation))).Execute(); //Spiral(data.Infinite(Modifier.Rotate(-3f)).WithColor(Color.blue)).Execute(); //InvokeRepeating("DAALL", 10, 10); }
public void Start() { field = ((LevelController)LevelController.Instance).Field; enemyQueue = new List <EnemyData>(); warningQueue = new List <WarningData>(); enemies = new List <Enemy>(); foreach (EnemyChain chain in EnemyChains) { int numSpawns = chain.Data.Count; for (int i = 0; i < numSpawns; i++) { EnemyData spawn; spawn.Prefab = chain.Prefab; spawn.Data.Location = chain.Data[i].Location; spawn.Data.Time = chain.Data[i].Time; enemyQueue.Add(spawn); } } enemyQueue.Sort((a, b) => (int)(a.Data.Time * 100 - b.Data.Time * 100)); foreach (WarningChain chain in WarningChains) { int numSpawns = chain.Data.Count; for (int i = 0; i < numSpawns; i++) { WarningData spawn; spawn.Prefab = chain.Prefab; spawn.Duration = chain.Duration; spawn.FadeInDuration = chain.FadeInDuration; spawn.FadeOutDuration = chain.FadeOutDuration; spawn.Data.Location = chain.Data[i].Location; spawn.Data.Time = chain.Data[i].Time; warningQueue.Add(spawn); } } warningQueue.Sort((a, b) => (int)(a.Data.Time * 100 - b.Data.Time * 100)); time = 0; difficulty = GameController.Singleton.Difficulty; }