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; }
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; }
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; }
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()); }
public Ending(TalkEventSystem system, TextAsset before, TextAsset after) { _System = system; _BeforeChoice = before; _AfterChoice = after; }