コード例 #1
0
 private void Awake()
 {
     motor = new SpriteMotor2D(
         GetComponent <Rigidbody2D> (),
         GetComponent <SpriteRenderer> (),
         transform
         );
 }
コード例 #2
0
    private void Awake()
    {
        attackCircle.enabled = false;

        cameraTransform = Camera.main.transform;

        motor = new SpriteMotor2D(
            GetComponent <Rigidbody2D> (),
            GetComponent <SpriteRenderer> (),
            transform
            );
        hitpoints       = maxHitpoints;
        ui              = GameManager.instance.playerUI;
        ui.maxHitpoints = maxHitpoints;
    }
コード例 #3
0
    public void Initialize(Vector3 [] positions, Transform target)
    {
        if (initialized)
        {
            UnInitialize();
        }
        initialized = true;

        this.enabled = true;
        this.target  = target;

        length = positions.Length;

        enemies    = new Enemy[length];
        containers = new Enemy[length];

        motors = new SpriteMotor2D[length];
        states = new EnemyState[length];

        paths = new Vector2[length][];
        pathTargetPositions = new int[length];
        callBackIndices     = new CallBackIndex[length];
        pathUpdateTimes     = new float[length];
        hasRequestedPath    = new bool[length];

        types          = new EnemyType[length];
        hitpoints      = new int[length];
        stunnedTimers  = new float[length];
        stunnedEffects = new ParticleSystem[length];
        hitEffects     = new ParticleSystem[length];

        pointsLeft = new int[length];

        for (int i = 0; i < length; i++)
        {
            enemies [i]       = Instantiate <Enemy> (defaultType.prefab, positions [i], Quaternion.identity);
            enemies [i].index = i;
            motors [i]        = new SpriteMotor2D(
                enemies [i].gameObject.GetComponent <Rigidbody2D> (),
                enemies [i].gameObject.GetComponent <SpriteRenderer> (),
                enemies [i].transform
                );
            enemies [i].gameObject.SetActive(false);

            containers [i]       = Instantiate <Enemy> (containerPrefab, positions [i], Quaternion.identity);
            containers [i].index = i;

            callBackIndices [i] = new CallBackIndex(i);

            types [i]     = defaultType;
            hitpoints [i] = types [i].maxHitpoints;

            stunnedEffects [i] = Instantiate <ParticleSystem> (stunnedEffectPrefab);
            stunnedEffects [i].gameObject.SetActive(false);
            stunnedEffects [i].transform.position = motors [i].position;
            stunnedEffects [i].transform.parent   = motors [i].transform;


            hitEffects [i] = Instantiate <ParticleSystem> (hitEffectPrefab);
            hitEffects [i].transform.position = motors [i].position;

            pointsLeft [i] = types [i].pointsValue;
        }

        Enemy.enemyController = this;
    }