Exemple #1
0
    // Start is called before the first frame update
    void Start()
    {
        bool cleared = StageAchievement.IsCleared(requiredAchievement, 0);

        GetComponent <StageSelectable>().clickable = cleared;
        lockObject.SetActive(!cleared);
    }
Exemple #2
0
    // Start is called before the first frame update
    void Start()
    {
        var sname = SceneSelector.GetCurrentSceneName();

        if (sname != null)
        {
            var laststage = StageAchievement.GetLastStageSceneName(sname);
            {
                if (laststage != null)
                {
                    foreach (Transform worldstage in transform)
                    {
                        var stageSelectable = worldstage.GetComponentInChildren <StageSelectable>();
                        var stage           = stageSelectable?.stage;
                        if (stage != null)
                        {
                            if (laststage == stage.sceneName)
                            {
                                current = stageSelectable;
                                current?.GetComponent <Selectable>()?.Select();
                                return;
                            }
                        }
                    }
                }
                if (transform.childCount > 0)
                {
                    var stageSelectable = transform.GetChild(0).GetComponentInChildren <StageSelectable>();
                    current = stageSelectable;
                    current?.GetComponent <Selectable>()?.Select();
                }
            }
        }
    }
    public void OnSelect(BaseEventData eventData)
    {
        var sname = SceneSelector.GetCurrentSceneName();

        if (stage != null && !(sname.Contains("World") && stage.SceneName.Contains("World")))
        {
            StageAchievement.SetLastStage(sname, stage);
        }
        SelectDirector.Get(transform).SetSelected(stage);
        SelectDirector.Get(transform).SetSelected(gameObject);
    }
 public void StartGameStory()
 {
     StageAchievement.isCreativeMode = false;
     if (!StageAchievement.IsCleared(firstStage, 0))
     {
         StageSelector.Get().LoadStage(firstStage);
         StageSelector.Get().lastWorldMap = new SceneStage("World1");
     }
     else
     {
         StageSelector.Get().LoadStage(selectScene, SceneSelector.SceneChangeType.CHANGE_MOVE);
     }
     TitleEffect(false);
 }
Exemple #5
0
 public void OnSelect(BaseEventData eventData)
 {
     var stageCurrent = GetComponentInParent <SelectCurrent>()?.current;
     var sta          = GetComponent <StageSelectable>();
     //if (stageCurrent == sta)
     {
         var stageSelectable = GetComponent <StageSelectable>();
         this.Delay(.5f, () =>
         {
             if (stageSelectable != null && stageSelectable.stage != null)
             {
                 StageAchievement.SetLastStage(stageSelectable.stage.sceneName, destinationStage);
             }
             stageSelectable?.OnClick();
         });
     }
 }
    // Start is called before the first frame update
    void Start()
    {
        var stageSelectable = GetComponentInChildren <StageSelectable>();

        if (stageSelectable != null)
        {
            Handshake();

            if (stageSelectable.stage != null)
            {
                clearLevel = StageAchievement.GetCleared(stageSelectable.stage, defaultClearLevels);
            }
            else if (stageSelectable.GetComponentInParent <StagePointController>()?.defaultClearLevels > 0)
            {
                SetLineCleared(stageSelectable, 3);
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (target)
        {
            var pos = Vector2.Lerp(target.transform.position, transform.position, speedRatio);
            target.transform.position = new Vector3(pos.x, pos.y, transform.position.z);

            if (Vector2.Distance(target.transform.position, transform.position) < range)
            {
                audioSource.volume = Mathf.Clamp(audioSource.volume - Time.deltaTime / (durationA + durationB), 0, 1);

                if (!emitted)
                {
                    emitted = true;

                    var pointManager = GameDirector.Get(transform)?.pointManager;
                    int level        = 1;
                    if (pointManager?.IsGotAllImportantPoints() ?? false)
                    {
                        level++;
                        if (pointManager?.IsGotAllPoints() ?? false)
                        {
                            level++;
                        }
                    }
                    if (SceneSelector.Get() != null)
                    {
                        StageAchievement.SetCleared(SceneSelector.Get().CurrentScene, level);
                    }

                    StageDirector.Get()?.StageClearEffect(true, level);

                    // エフェクトを出す
                    GetComponentInChildren <ParticleSystem>().Play();
                    //target.GetComponentsInChildren<ParticleSystem>().ToList().ForEach(e => e.Play());

                    this.Delay(durationA, () =>
                    {
                        CameraController.Get().Targetter.SetTarget(goalTarget);

                        var achieved = pointManager?.IsGotAllImportantPoints() ?? false;
                        if (achieved)
                        {
                            this.Delay(durationB, () =>
                            {
                                StageDirector.Get()?.StageAchieveEffect(true);
                                if (goalSprite)
                                {
                                    goalSprite.GetComponent <Animator>().SetBool("Enabled", true);
                                }
                            });
                        }
                        this.Delay(durationC + (achieved ? durationB : 0), () =>
                        {
                            StageDirector.Get()?.StageClearEffect(false, level);
                            StageDirector.Get()?.StageAchieveEffect(false);
                            GameDirector.Get(transform).EndGame();
                        });
                    });
                }
            }
        }
    }