void Start()
        {
            view         = GetComponent <TerrainView>();
            gameProgress = GameProgress.Get();
            world        = gameProgress.CurrentWorld.Value;
            player       = world.Player.Value;

            // JoinWorld
            world.CurrentDimension
            .Where(dimension => dimension != null)
            .Subscribe(JoinDimension)
            .AddTo(gameObject);

            // Draw
            Observable
            .EveryUpdate()
            .Where(_ => player.IsOperable.Value)
            .Where(_ => !view.isDrawing.Value)
            .ThrottleFirst(TimeSpan.FromSeconds(0.1f))
            .Subscribe(_ => Draw())
            .AddTo(gameObject);

            // PutBlock
            player.OnPut
            .Subscribe(_ => PutBlock())
            .AddTo(gameObject);

            // RemoveBlock
            player.OnRemove
            .Subscribe(_ => RemoveBlock())
            .AddTo(gameObject);
        }
 void Awake()
 {
     view         = GetComponent <PlayerView>();
     gameProgress = GameProgress.Get();
     player       = gameProgress.CurrentWorld.Value.Player.Value;
     playSetting  = gameProgress.CurrentWorld.Value.PlaySetting.Value;
 }
        private void Awake()
        {
            gameProgress = GameProgress.Get();

            if (gameProgress.CurrentWorld.Value == null)
            {
                world = gameProgress.MakeWorld(new Seed());
                gameProgress.JoinWorld(world.Id.Value);
            }
            world  = gameProgress.CurrentWorld.Value;
            player = world.Player.Value;
        }
        void Start()
        {
            view         = GetComponent <TargetMarkerView>();
            gameProgress = GameProgress.Get();
            player       = gameProgress.CurrentWorld.Value.Player.Value;

            // DisplayWherePlayerWillOperate
            Observable
            .EveryUpdate()
            .Where(_ => player.IsOperable.Value)
            .ThrottleFirst(TimeSpan.FromSeconds(0.1f))
            .Subscribe(_ => DisplayWherePlayerWillOperate())
            .AddTo(gameObject);
        }
        void Start()
        {
            gameProgress = GameProgress.Get();
            playSetting  = gameProgress.CurrentWorld.Value.PlaySetting.Value;

            // SetEnabled()
            Observable
            .Merge(
                playSetting.Camera.AsUnitObservable(),
                gameProgress.WorldIsActivated.AsUnitObservable()
                )
            .BatchFrame(0, FrameCountType.Update)
            .Subscribe(_ => SetEnabled())
            .AddTo(gameObject);
        }
        void Start()
        {
            gameProgress = GameProgress.Get();
            world        = gameProgress.CurrentWorld.Value;

            var menuScene = SceneManager.GetSceneByName("Menu");

            SceneManager.SetActiveScene(menuScene);

            view.currentSeedField.text = world.CurrentDimension.Value.Seed.Base.ToString();

            view.closeMenuButton
            .OnClickAsObservable()
            .Subscribe(_ => OnClickCloseMenuButton())
            .AddTo(gameObject);

            view.backToTitleButton
            .OnClickAsObservable()
            .Subscribe(_ => OnClickBackToTitleButton())
            .AddTo(gameObject);
        }
示例#7
0
 void Awake()
 {
     view         = GetComponent <CreateWorldScreenView>();
     gameProgress = GameProgress.Get();
 }