示例#1
0
    public void PlayInstrument()
    {
        var controller = GetComponentInParent <BeatController>();

        if (!controller.onBeat() || lastHit == controller.hit_count || dead)
        {
            return;
        }
        lastHit          = controller.hit_count;
        audioSource.mute = false;
        spriteSwapper    = GetComponent <SpriteSwapper>();
        GetComponent <SpriteSwapper>().isPlaying = true;

        GameObject obj = Resources.Load <GameObject>("InstrumentEffect");

        //obj = Instantiate(obj, transform.position, Quaternion.identity);
        obj = Instantiate(obj, transform);
        obj.transform.localPosition = Vector3.zero;
        InstrumentEffect instrumentEffect = obj.AddComponent <InstrumentEffect>();

        instrumentEffect.SetSize(3f);  // TODO: Change size based on something
        instrumentEffect.owner          = this;
        instrumentEffect.counteredEnemy = counteredEnemy;
        instrumentEffect.SetColor(instrumentColor);
        Debug.Log(instrumentEffect.GetComponent <SpriteRenderer>().color);
    }
示例#2
0
 // Start is called before the first frame update
 public override void OnInstrumentHit(InstrumentEffect instrumentEffect)
 {
     if (type == instrumentEffect.counteredEnemy)
     {
         Vector2 direction = instrumentEffect.transform.position - transform.position;
         rbody.AddForce(-direction * 5f, ForceMode2D.Impulse);
     }
 }
示例#3
0
 public override void OnInstrumentHit(InstrumentEffect instrumentEffect)
 {
     if (type == instrumentEffect.counteredEnemy)
     {
         float strength = 1; //instrumentEffect.GetStrength();
         transform.localScale -= new Vector3(0.25f, 0.25f, 0.25f) * strength;
         if (transform.localScale.x <= 0.3f)
         {
             Destroy(gameObject);
         }
     }
 }
示例#4
0
 public override void OnInstrumentHit(InstrumentEffect instrumentEffect)
 {
     if (type == instrumentEffect.counteredEnemy)
     {
         Vector2 direction = instrumentEffect.transform.position - transform.position;
         rbody.AddForce(-direction * 20f, ForceMode2D.Impulse);
         stunTimer = maxStun;
     }
     if (instrumentEffect.owner)
     {
         target = instrumentEffect.owner.gameObject;
     }
 }
示例#5
0
文件: Enemy.cs 项目: debnera/GN2019
 public abstract void OnInstrumentHit(InstrumentEffect instrumentEffect);