Ejemplo n.º 1
0
    /// <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>();
            }
        }
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
		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");
		}
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
    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);
    }
Ejemplo n.º 7
0
    /// <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;
    }
Ejemplo n.º 8
0
    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);
    }
Ejemplo n.º 9
0
    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;
    }