public TriggerManager(RoomStateRepository roomStateRepository, ItemCreator itemCreator, GimmickManager gimmickManager) { this.roomStateRepository = roomStateRepository; this.gimmickManager = gimmickManager; itemCreator.OnCreate += OnCreateItem; }
static void SetupTriggerGimmicks(IEnumerable <GameObject> rootGameObjects, ItemCreator itemCreator, ItemDestroyer itemDestroyer) { RoomStateRepository = new RoomStateRepository(); GimmickManager = new GimmickManager(RoomStateRepository, itemCreator, itemDestroyer); SignalGenerator = new SignalGenerator(); var triggerManager = new TriggerManager(RoomStateRepository, itemCreator, GimmickManager, SignalGenerator); var items = GetComponentsInGameObjectsChildren <IItem>(rootGameObjects).ToArray(); triggerManager.Add(items.SelectMany(x => x.gameObject.GetComponents <IItemTrigger>())); triggerManager.Add(GetComponentsInGameObjectsChildren <IPlayerTrigger>(rootGameObjects)); triggerManager.Add(GetComponentsInGameObjectsChildren <IGlobalTrigger>(rootGameObjects)); GimmickManager.AddGimmicksInScene(GetComponentsInGameObjectsChildren <IGimmick>(rootGameObjects)); foreach (var item in items) { GimmickManager.AddGimmicksInItem(item.gameObject.GetComponentsInChildren <IGimmick>(true), item.Id.Value); } new LogicManager(itemCreator, RoomStateRepository, GimmickManager, GetComponentsInGameObjectsChildren <IItemLogic>(rootGameObjects), GetComponentsInGameObjectsChildren <IPlayerLogic>(rootGameObjects), GetComponentsInGameObjectsChildren <IGlobalLogic>(rootGameObjects), SignalGenerator); new PlayerEffectManager(PlayerPresenter, itemCreator, GetComponentsInGameObjectsChildren <IPlayerEffectGimmick>(rootGameObjects)); new CreateItemGimmickManager(itemCreator, GetComponentsInGameObjectsChildren <ICreateItemGimmick>(rootGameObjects)); new DestroyItemGimmickManager(itemCreator, itemDestroyer, GetComponentsInGameObjectsChildren <IDestroyItemGimmick>(rootGameObjects)); var onReceiveOwnershipItemTriggerManager = new OnReceiveOwnershipItemTriggerManager(itemCreator); var onCreateItemTriggerManager = new OnCreateItemTriggerManager(itemCreator); var onJoinPlayerTriggerManager = new OnJoinPlayerTriggerManager(); onCreateItemTriggerManager.Invoke(items.SelectMany(x => x.gameObject.GetComponents <IOnCreateItemTrigger>())); onJoinPlayerTriggerManager.Invoke(GetComponentsInGameObjectsChildren <IOnJoinPlayerTrigger>(rootGameObjects)); onReceiveOwnershipItemTriggerManager.InvokeOnStart(items.SelectMany(x => x.gameObject.GetComponents <IOnReceiveOwnershipItemTrigger>())); }
void Awake() { if (Instance != null) { enabled = false; DestroyImmediate(this); return; } Instance = this; }
public void InitStage(Player player, Bezier2D path, GimmickManager manager) { _player = player; _gimmickManager = manager; _pathLength = path.Length; player.Init(path); _gimmickManager.Init(path, player); MouseCamera.Init(player); }
public TriggerManager( RoomStateRepository roomStateRepository, ItemCreator itemCreator, GimmickManager gimmickManager, SignalGenerator signalGenerator) { this.roomStateRepository = roomStateRepository; this.gimmickManager = gimmickManager; this.signalGenerator = signalGenerator; itemCreator.OnCreate += OnCreateItem; }
private void OnEnable() { _gimmickBase = (GimmickBase)target; _manager = _gimmickBase.GetComponentInParent <GimmickManager>(); if (_manager) { _gimmicks = _manager.GetComponentsInChildren <GimmickBase>(); _path = _gimmickBase.GetComponentInParent <Bezier2D>(); } _lineColor = serializedObject.FindProperty("GimmickColor"); _startPoint = serializedObject.FindProperty("StartPoint"); _endPoint = serializedObject.FindProperty("EndPoint"); }
public LogicManager(ItemCreator itemCreator, RoomStateRepository roomStateRepository, GimmickManager gimmickManager, IEnumerable <IItemLogic> itemLogics, IEnumerable <IPlayerLogic> playerLogics, IEnumerable <IGlobalLogic> globalLogics, SignalGenerator signalGenerator) { this.roomStateRepository = roomStateRepository; this.gimmickManager = gimmickManager; this.signalGenerator = signalGenerator; itemCreator.OnCreate += OnCreateItem; Register(itemLogics); Register(playerLogics); Register(globalLogics); }
private void Start() { gimmickManager = GetComponent <GimmickManager>(); audioManager = GetComponent <AudioManagerComponent>(); CurrentSceneState.Subscribe(state => { OnStateChanged(state); }); playerLife .SkipLatestValueOnSubscribe() .Subscribe(x => { ChangeScene(SceneState.Life); }); }
static void SetupTriggerGimmicks(IEnumerable <GameObject> rootGameObjects, ItemCreator itemCreator, ItemDestroyer itemDestroyer) { var roomStateRepository = new RoomStateRepository(); var gimmickManager = new GimmickManager(roomStateRepository, itemCreator, itemDestroyer); var triggerManager = new TriggerManager(roomStateRepository, itemCreator, gimmickManager); var items = GetComponentsInGameObjectsChildren <IItem>(rootGameObjects).ToArray(); triggerManager.Add(items.SelectMany(x => x.gameObject.GetComponents <IItemTrigger>())); gimmickManager.AddGimmicksInScene(GetComponentsInGameObjectsChildren <IGimmick>(rootGameObjects)); foreach (var item in items) { gimmickManager.AddGimmicksInItem(item.gameObject.GetComponentsInChildren <IGimmick>(true), item.Id.Value); } new PlayerGimmickManager(PlayerPresenter, itemCreator, GetComponentsInGameObjectsChildren <IPlayerGimmick>(rootGameObjects)); new CreateItemGimmickManager(itemCreator, GetComponentsInGameObjectsChildren <ICreateItemGimmick>(rootGameObjects)); new DestroyItemGimmickManager(itemCreator, itemDestroyer, GetComponentsInGameObjectsChildren <IDestroyItemGimmick>(rootGameObjects)); var onCreateItemTriggerManager = new OnCreateItemTriggerManager(itemCreator); onCreateItemTriggerManager.Invoke(items.SelectMany(x => x.gameObject.GetComponents <IOnCreateItemTrigger>())); }
public virtual void Init() { Manager = GetComponentInParent <GimmickManager>(); Path = Manager.Path; }
private void OnEnable() { _gimmickManager = (GimmickManager)target; }