Пример #1
0
    IEnumerator AutoDisable()
    {
        yield return(new WaitForSeconds(0.667f / timescale));

        renderer.enabled = false;
        EffectShower.Get().SetEnd(idx);
    }
Пример #2
0
    public void Miss()
    {
        enabled          = false;
        renderer.enabled = false;
        processed        = true;

        if (connector)
        {
            var renderer = connector.GetComponent <SpriteRenderer>();
            var color    = renderer.color;
            color.a       /= 2;
            renderer.color = color;
            if ((int)type >= 2)
            {
                renderer.enabled = false;
            }
            else
            {
                connector.getSecondJoint().GetComponent <note>().Miss();
                connector.SetFirstJoint(transform.parent);
            }
        }

        EffectShower.Get().Miss(transform);

        SoundEffectManager.Get().PlayHitSound();
        checker.Next();
    }
Пример #3
0
 private void TryUseEffect()
 {
     if (reloadingEntity.IsReloaded && sight.activeSelf)
     {
         sightLogic.DestroyAim();
         reloadingEntity.StartReload(this);
         EffectShower.AddOrUpdate(destroyIcon, EffectType.Reloadable, reloadingEntity.ReloadingTime);
     }
 }
Пример #4
0
    private void Awake()
    {
        reserve = new BubbleEffect[reserve_count];
        playing = new bool[reserve_count];
        for (int i = 0; i < reserve_count; ++i)
        {
            var obj = Instantiate(prefab_effect, transform);
            reserve[i] = obj.GetComponent <BubbleEffect>();
            reserve[i].SetIdx(i);
            playing[i] = false;
        }

        global = this;
    }
Пример #5
0
    public void Clear(Score.ScoreType type)
    {
        enabled          = false;
        renderer.enabled = false;
        processed        = true;


        if (connector)
        {
            if ((int)this.type >= 2)
            {
                connector.GetComponent <SpriteRenderer>().enabled = false;
            }
            else
            {
                connector.SetFirstJoint(transform.parent);
            }
        }

        if (type == Score.ScoreType.Good)
        {
//            Debug.Log("Good");
            DobbyControll.Get().Damage(5);
            EffectShower.Get().Good(transform);
            Score.Get().Up(150);
        }
        else if (type == Score.ScoreType.Great)
        {
//            Debug.Log("Great");
            DobbyControll.Get().Damage(10);
            EffectShower.Get().Great(transform);
            Score.Get().Up(300);
        }

        switch (this.type)
        {
        case Type.UP:
        case Type.OUT_UP:
            SoundEffectManager.Get().PlayUpSound();
            break;

        case Type.DOWN:
        case Type.OUT_DOWN:
            SoundEffectManager.Get().PlayDownSound();
            break;

        default: break;
        }
        checker.Next();
    }
Пример #6
0
    private void Start()
    {
        wavesPool = new Pool(InstansiateWave());

        TouchDetector.OnDoubleClick.Subscribe(() =>
        {
            if (waveReloadingEntity.IsReloaded)
            {
                waveReloadingEntity.StartReload(this);

                wavesPool.PoolObject();
                EffectShower.AddOrUpdate(waveSprite, EffectType.Reloadable, waveReloadingEntity.ReloadingTime);
            }
        }).AddTo(subscribers);

        EffectShower.AddOrUpdate(waveSprite, EffectType.Reloadable, waveReloadingEntity.ReloadingTime);
    }
Пример #7
0
    private void Start()
    {
        sight      = Instantiate(sightPrefab);
        sight.name = "Sight";

        sightLogic = sight.GetComponent <SightLogic>();
        sight.SetActive(false);

        for (int degree = -difference; degree < 180 + difference; degree++)
        {
            float angle = degree * Deg2Rad;
            new Vector2(Cos(angle), Sin(angle)).AddTo(directions);
        }

        EffectShower.AddOrUpdate(destroyIcon, EffectType.Reloadable, reloadingEntity.ReloadingTime);

        reloadingEntity.OnReloaded.Subscribe(FindAim).AddTo(subscribers);
    }
Пример #8
0
    public override void Change(PlayerCharacterLogic character)
    {
        base.Change(character);

        TouchDetector.OnDoubleClick.Subscribe
        (
            () =>
        {
            if (restoreEntity.IsReloaded)
            {
                restoreEntity.StartReload(this);
                character.RestoreHealth(restoredHealth);

                EffectShower.AddOrUpdate(restoredIcon, EffectType.Reloadable, restoreEntity.ReloadingTime);
                particle.Play();
            }
        }
        ).AddTo(subscribers);
    }
Пример #9
0
 private void Start()
 {
     EffectShower.AddOrUpdate(restoredIcon, EffectType.Reloadable, restoreEntity.ReloadingTime);
 }