public MoveTutorial(TalkEventSystem system, TextAsset csv, float delay, SpriteRenderer renderer, GuideSpritesWithPosition guideInfo)
 {
     _System        = system;
     _Csv           = csv;
     _DelaySec      = TimeSpan.FromSeconds(delay);
     _GuideSprite   = guideInfo;
     _GuideRenderer = renderer;
 }
 public ShotTutorial(TalkEventSystem system, TextAsset csv, EventEnemyPositionSet[] data, float delay, SpriteRenderer guideRenderer, GuideSpritesWithPosition guideInfo)
 {
     _System        = system;
     _CSV           = csv;
     _EnemyData     = data;
     _DelaySec      = TimeSpan.FromSeconds(delay);
     _GuideRenderer = guideRenderer;
     _GuideInfo     = guideInfo;
 }
Exemplo n.º 3
0
 public Opening(TalkEventSystem system, TextAsset csv1, TextAsset csv2, GameObject player, Sprite airBackGround, GameObject cloudPrefab, Sprite baseBackGround, SpriteRenderer rendere)
 {
     _System              = system;
     _CSV1                = csv1;
     _CSV2                = csv2;
     _Player              = player;
     _AirBackGroundImage  = airBackGround;
     _BaseBackGroundImage = baseBackGround;
     _Rendere             = rendere;
     _CloudPrefab         = cloudPrefab;
 }
Exemplo n.º 4
0
        public BombTutorial(TalkEventSystem talkSystem,
                            TextAsset csv,
                            EventEnemyPositionSet[] enemyPopData,
                            float delaySec,
                            SpriteRenderer guideRenderer,
                            GuideSpritesWithPosition guideInfo)
        {
            _System       = talkSystem;
            _CSV          = csv;
            _EnemyPopData = enemyPopData;
            _Delay        = TimeSpan.FromSeconds(delaySec);

            _GuideRenderer = guideRenderer;
            _GuideInfo     = guideInfo;
        }
Exemplo n.º 5
0
        private void Start()
        {
            _TalkEventSystem = TalkEventSystem.Instance;

            _ProcesserDictionary = new Dictionary <BehaviourSwitchData, EnemyProcesser> ();
            var orderedSwitchData = _SwitchData.OrderByDescending(data =>
            {
                return(data.HPRatio);
            });

            var enemy = GetComponent <Enemy> ();

            _CurrentProcesser = new EnemyProcesser(enemy, _FirstProcessData);

            foreach (var s in orderedSwitchData.Take(orderedSwitchData.Count() - 1))
            {
                //ラムダキャプチャ対策
                var switchData = s;
                enemy.Life
                .Where(life => ((float)life / (float)enemy.MaxLife) < switchData.HPRatio)
                .First()
                .Subscribe(_ =>
                {
                    _CurrentProcesser = _ProcesserDictionary[switchData];
                    if (switchData.Escape.IsEscape)
                    {
                        enemy.StartCoroutine(_EscapeTimer(enemy, switchData));
                    }
                });
                _ProcesserDictionary.Add(switchData, new EnemyProcesser(enemy, switchData.Data));
            }

            var lastSwitchData = orderedSwitchData.Last();

            //死亡時の処理
            enemy.Life
            .Where(life => (float)life / (float)enemy.MaxLife < lastSwitchData.HPRatio)
            .First()
            .Subscribe(life =>
            {
                if (life > 0)
                {
                    UIManager.Score.AddScore(GetComponent <Enemy> ().Score);
                }
                _CurrentProcesser = _ProcesserDictionary[lastSwitchData];
                if (lastSwitchData.Escape.IsEscape)
                {
                    enemy.StartCoroutine(_EscapeTimer(enemy, lastSwitchData));
                }

                foreach (var c in transform.root.GetComponentsInChildren <AnimatorSpeedController> (true))
                {
                    c.ControllStop();
                }

                //_TalkEventSystem.TalkStart (_EventData.Message); アニメーションからにした
            });
            _ProcesserDictionary.Add(lastSwitchData, new EnemyProcesser(enemy, lastSwitchData.Data));

            this.UpdateAsObservable()
            .TakeUntil(enemy.Life.Where(life => life < 0))
            .Subscribe(_ => _CurrentProcesser.Update());
        }
Exemplo n.º 6
0
 public Ending(TalkEventSystem system, TextAsset before, TextAsset after)
 {
     _System       = system;
     _BeforeChoice = before;
     _AfterChoice  = after;
 }