Beispiel #1
0
    IEnumerator _MoveToPos()
    {
        float _Dir1 = transform.position.x - StageManagerSC._LumiaInst.transform.position.x;
        int   _Dir2 = _Dir1 > 0 ? 1 : _Dir1 < 0 ? -1 : 0;

        _LSC._AutoWalk = _Dir2;
        while (0 < (transform.position.x - StageManagerSC._LumiaInst.transform.position.x) * _Dir2)
        {
            yield return(null);
        }
        _LSC._AutoWalk = 0;
        LumiaHitboxSC _LHBSC = _LSC._Hitbox.GetComponent <LumiaHitboxSC>();

        _LHBSC._HP_Current = _LHBSC._HP_Max;
        _LSC._Canvas.GetComponent <PauseSC>()._UpdateCurrentHp();
        _LSC._SavedScene = SceneManager.GetActiveScene().name;
        SysSaveSC._CharSave();
        StartCoroutine(StageManagerSC._LumiaInst.GetComponent <Lumia_SC>()._WhiteFlash());
        StageManagerSC._LumiaInst.GetComponent <SpriteRenderer>().flipX = false;
        StageManagerSC._LumiaInst.GetComponent <Animator>().SetBool("_Sitting", true);
        StageManagerSC._LSC._TemporaryFlag.Clear();

        yield return(new WaitForSeconds(1f));

        _CanStand = true;
    }
Beispiel #2
0
 // Start is called before the first frame update
 void Start()
 {
     _LSC   = StageManagerSC._LSC;
     _LHBSC = _LSC._Hitbox.GetComponent <LumiaHitboxSC>();
     _UISC  = transform.parent.GetComponent <PauseSC>();
     _NoDamageToggle(false);
     _NoHitToggle(false);
 }
Beispiel #3
0
 IEnumerator StartC()
 {
     while (StageManagerSC._LumiaInst == null)
     {
         yield return(null);
     }
     _LSC  = StageManagerSC._LumiaInst.GetComponent <Lumia_SC>();
     _HBSC = StageManagerSC._LumiaInst.GetComponent <Lumia_SC>()._Hitbox.GetComponent <LumiaHitboxSC>();
     _UpdateMaxHp();
     _UpdateSwordMax();
 }
Beispiel #4
0
    IEnumerator _VesselGet()
    {
        Time.timeScale = 0f;
        GameObject _FadeObj = StageManagerSC._CanvasInst.GetComponent <PauseSC>()._FadeObj;
        UIFaderSC  _UIFader = _FadeObj.GetComponent <UIFaderSC>();

        _UIFader._FadeSpeed   = 1;
        _UIFader._TargetAlpha = 0.5f;
        _FadeObj.SetActive(true);
        while (_FadeObj.GetComponent <CanvasGroup>().alpha < 0.5f)
        {
            yield return(null);
        }
        GameObject _GetVesselAniInst = Instantiate(_GetVesselAni);

        _GetVesselAniInst.transform.SetParent(_FadeObj.transform.parent);
        _GetVesselAniInst.transform.position   = _FadeObj.transform.position;
        _GetVesselAniInst.transform.localScale = new Vector3(1, 1, 1);
        Animator _GetAni = _GetVesselAniInst.GetComponent <Animator>();

        if (StageManagerSC._LSC._HaveVessel == false)
        {
            StageManagerSC._LSC._HaveVessel = true;
            _GetAni.SetTrigger("_Half");
            yield return(new WaitForSecondsRealtime(3f));
        }
        else
        {
            StageManagerSC._LSC._HaveVessel = false;
            _GetAni.SetTrigger("_Whole");
            LumiaHitboxSC _HBSC = StageManagerSC._LSC._Hitbox.GetComponent <LumiaHitboxSC>();
            _HBSC._HP_Max += 1;
            yield return(new WaitForSecondsRealtime(3f));

            StageManagerSC._CanvasInst.GetComponent <PauseSC>()._UpdateMaxHp();
            _HBSC._HP_Current = _HBSC._HP_Max;
            StageManagerSC._CanvasInst.GetComponent <PauseSC>()._UpdateCurrentHp();
        }
        if (GetComponent <MapSaverSC>() != null)
        {
            GetComponent <MapSaverSC>()._SaveStatus();
        }

        _UIFader._TargetAlpha = 1f;
        _UIFader._FadeOut();
        Transform _Child = transform.GetChild(0);

        _Child.GetComponent <SpriteRenderer>().enabled = false;
        _Child.GetComponent <ParticleSystem>().Stop();
        _Child.GetChild(0).gameObject.SetActive(false);
        Time.timeScale = 1f;
    }
Beispiel #5
0
    // Start is called before the first frame update
    void Start()
    {
        _MapOffsetNow = _MapOffset;
        _WorkingCam   = gameObject;
        if (_GenerateAtStart == true && _LumiaInst == null)
        {
            Debug.Log("루미아 생성");
            //필수 Instantiate 생성
            _LumiaInst = Instantiate(_LumiaPrefab);
            _LSC       = _LumiaInst.GetComponent <Lumia_SC>();
            GameObject _TargetMark = Instantiate(_TargetMarkPrefab);
            _CanvasInst = Instantiate(_CanvasPrefab);

            //주인공 캐싱
            _LSC._TargetMark = _TargetMark;
            _LSC._Canvas     = _CanvasInst;
            LumiaHitboxSC _LHBSC = _LSC._Hitbox.GetComponent <LumiaHitboxSC>();
            _LHBSC._Canvas  = _CanvasInst;
            _LHBSC._FadeObj = _CanvasInst.GetComponent <PauseSC>()._FadeObj;


            //저장된 능력치 로드
            if (SysSaveSC._Load_Required == true)
            {
                SysSaveSC._Load_Required = false;
                _LHBSC._HP_Max           = SysSaveSC._Loaded_HP_Max;
                _LHBSC._HP_Current       = SysSaveSC._Loaded_HP_Max;
                _LSC._SavedScene         = SysSaveSC._Loaded_SavedScene;
                _LSC._FileNumber         = SysSaveSC._Loaded_FileNumber;
                _LSC._PlayTime           = SysSaveSC._Loaded_PlayTime;
                _LSC._SwordMax           = SysSaveSC._Loaded_SwordMax;
                _LSC._SwordStock         = SysSaveSC._Loaded_SwordMax;
                _LSC._Money         = SysSaveSC._Loaded_Money;
                _LSC._HaveVessel    = SysSaveSC._Loaded_HaveVessel;
                _LSC._SlashAtkLv    = SysSaveSC._Loaded_SlashAtkLv;
                _LSC._ShotAtkLv     = SysSaveSC._Loaded_ShotAtkLv;
                _LSC._AtkSpeedLv    = SysSaveSC._Loaded_AtkSpeedLv;
                _LSC._WarpLv        = SysSaveSC._Loaded_WarpLv;
                _LSC._SwordSizeLv   = SysSaveSC._Loaded_SwordSizeLv;
                _LSC._PermanentFlag = SysSaveSC._Loaded_PermanentFlag;
            }

            //의자 존재여부 확인
            if (_Chair != null && _Chair.activeSelf == true)
            {
                _ChairStart();
            }
            else if (_StartPos != Vector2.zero)
            {
                _LumiaInst.transform.position = _StartPos;
            }

            //시스템 설정 불러오기
            SysSaveSC._SysLoad();
        }

        //스테이지 초기화
        if (_LumiaInst != null)
        {
            if (_LSC == null)
            {
                _LSC = _LumiaInst.GetComponent <Lumia_SC>();
            }
            _LSC._MyCamera   = gameObject;
            _CamSC           = _LumiaInst.GetComponent <LumiaCamSC>();
            _CamSC._MyCamera = gameObject;
            _LSC._WhenSceneLoad();
            _CamSC._CameraControl();
            transform.position = _LumiaInst.GetComponent <LumiaCamSC>()._CamPos1;
        }
    }