Ejemplo n.º 1
0
 void Start()
 {
     alphaData = ApCtrl.CreateAlphaData(ApCtrl.SpineMeshAlpha(mr), this);
     alphaData.TargehAlphaNormed = 0;
     originScaleY          = transform.localScale.y;
     controller.jumpEvent += () => {
         SetAnimate("jump up start", false);
         //animation.state.SetAnimation(0, "jump up start", false);
         Timer.BeginATimer(0.333f, () => {
             if (animation.AnimationName == "jump up start")
             {
                 //animation.AnimationName = "jump up";
                 SetAnimate("jump up", true);
             }
         }, this);
         //animation.state.AddAnimation(0, "jump up", true, 0.333f);
     };
     controller.AddEnterEventBeforeEnter <PlayerController.RushState>(() => {
         animation.timeScale = 0.3f / controller.rushTime;
         SetAnimate("rush", false);
         StartCoroutine(RushLightCoroutine());
         StartCoroutine(RushTranslateCoroutine());
     });
     controller.AddEnterEventBeforeExit <PlayerController.RushState>(() => {
         animation.timeScale = 1;
     });
     controller.AddEnterEventBeforeEnter <PlayerController.HurtState>(() => {
         animation.timeScale = 0.667f / controller.hurtStateTime;
         SetAnimate("hurt", false);
     });
     controller.AddEnterEventBeforeExit <PlayerController.HurtState>(() => {
         animation.timeScale = 1;
     });
 }
Ejemplo n.º 2
0
 public void Awake()
 {
     foreach (var renderer in GetComponentsInChildren <SpriteRenderer>())
     {
         alphaDatas.Add(ApCtrl.CreateAlphaData(ApCtrl.SpriteAlpha(renderer), this));
     }
 }
Ejemplo n.º 3
0
    public IEnumerator SwapCor()
    {
        var   playerPos  = player.PositionWithoutHalo;
        float appearTime = player.swapProperty.disappearTime;

        ApCtrl.AppearAlpha(rlCtrl.lightAlpha, appearTime);
        ApCtrl.AppearAlpha(rlCtrl.spriteAlpha, appearTime);
        yield return(new WaitForSecondsRealtime(appearTime));

        var dir   = playerPos - enemyPos;
        var speed = player.swapProperty.speed;

        rlCtrl.EmissionEnable = true;
        rlCtrl.StartCoroutine(rlCtrl.MoveDirWithNormalOffset(dir
                                                             , speed
                                                             , player.rdLtSwapNormalDis));
        var swapTime = dir.magnitude / speed;

        ApCtrl.DisappearAlpha(rlCtrl.lightAlpha, swapTime);
        ApCtrl.DisappearAlpha(rlCtrl.spriteAlpha, swapTime);
        yield return(new WaitForSecondsRealtime(swapTime));

        yield return(new WaitForSecondsRealtime(2));

        rlCtrl.Destroy();
    }
Ejemplo n.º 4
0
    void Awake()
    {
        main = this;
        ChangeState <IdleState>(null);
        haloView      = GetComponentInChildren <HaloView>();
        blockMovement = BlockMovement.AddBlockMovement(gameObject, airBox, solidLayer);
        blockMovement.staticExtrusion = true;
        jumpSkill.Init(() => Input.GetButton("Jump"), this);
        rushSkill.Init(() => Input.GetButton("Rush"), this);
        swapSkill.Init(() => Input.GetButton("Swap"), this);
        swapCharges.Init(this);
        //swap energe update
        StartCoroutine(SwapDetect());
        cameraEdge           = new CameraEdge();
        cameraEdge.edge      = GameObject.Find("SceneEdge").GetComponent <BoxCollider2D>();
        cameraEdge.cameraPos = CameraPos.main;

        follow           = new CameraSmoothFollow();
        follow.mainPos   = true;
        follow.posGetter = () => cameraEdge.UpdatePos(blockMovement.Position);
        //follow.posGetter = () => blockMovement.Position;
        follow.distanceSpeedCurve = followDistanceSpeedCurve;
        follow.priority           = 2;
        follow.Register(this);
        playerPosDisQueue = new PositionDistanceQueue(() => PositionWithoutHalo
                                                      , posQueueDisMax
                                                      , posQueueCountMax);
        StartCoroutine(playerPosDisQueue.Update());

        scaleAd = ApCtrl.CreateAlphaData(ApCtrl.TransformScaleXY(transform), this);
        StartCoroutine(TransforDetect());

        sound = GetComponentInChildren <AudioSource>();
    }
Ejemplo n.º 5
0
 public void Disappear(float time)
 {
     foreach (var alphaData in alphaDatas)
     {
         ApCtrl.DisappearAlpha(alphaData, time);
     }
 }
Ejemplo n.º 6
0
    public IEnumerator SwapCor(PlayerController player, Vector2 target)
    {
        follow = false;
        var time      = player.swapProperty.disappearTime;
        var playerPos = player.PositionWithoutHalo;

        rlCtrl.StartCoroutine(rlCtrl.MoveToPos(player.PositionWithoutHalo, time, player.rdLtToPlayerTimeDisCurve));
        yield return(new WaitForSecondsRealtime(time));

        var dir   = target - playerPos;
        var speed = player.swapProperty.speed;

        rlCtrl.EmissionEnable = true;
        rlCtrl.StartCoroutine(rlCtrl.MoveDirWithNormalOffset(dir
                                                             , speed
                                                             , player.rdLtSwapNormalDis));
        var swapTime = dir.magnitude / speed;

        ApCtrl.DisappearAlpha(rlCtrl.lightAlpha, swapTime);
        ApCtrl.DisappearAlpha(rlCtrl.spriteAlpha, swapTime);
        yield return(new WaitForSecondsRealtime(swapTime));

        rlCtrl.EmissionEnable = false;
        yield return(new WaitUntil(() => rlCtrl.lightAlpha.alphaRef.get() == 0));

        yield return(new WaitForSecondsRealtime(2));

        rlCtrl.Destroy();
    }
Ejemplo n.º 7
0
 public void Awake()
 {
     lightMaskVisible = true;
     lightMaskAlpha   = ApCtrl.CreateAlphaData(ApCtrl.LightRendererAlpha(lightRenderer), this);
     SelectedUIActive = false;
     meshAlpha        = ApCtrl.CreateAlphaData(ApCtrl.SpineMeshAlpha(renderer), this);
 }
Ejemplo n.º 8
0
 public void Awake()
 {
     main  = this;
     image = transform.Find("Image").gameObject.GetComponent <Image>();
     black = transform.Find("Black").gameObject.GetComponent <Image>();
     foreach (var s in AnimSprites)
     {
         map.Add(s.name, s);
     }
     ad = ApCtrl.CreateAlphaData(ApCtrl.ImageAlpha(black), this);
 }
Ejemplo n.º 9
0
    private IEnumerator final()
    {
        btmText.FadeOut(1);
        ctText.FadeOut(1);
        image.FadeOut(1);
        ApCtrl.DisappearAlpha(sourcePriorityAd, 1);
        yield return(new WaitForSeconds(1));

        SceneManager.LoadScene("PrepareMap");
        yield return(null);
    }
Ejemplo n.º 10
0
    public static RedLightEnemyController Create(PlayerController player, Vector2 enemeyPos)
    {
        var rleCtrl = new RedLightEnemyController();

        rleCtrl.enemyPos = enemeyPos;
        var rlCtrl = RedLightController.Create(player, enemeyPos);

        ApCtrl.SetAlphaImmediately(rlCtrl.lightAlpha, 0);
        ApCtrl.SetAlphaImmediately(rlCtrl.spriteAlpha, 0);
        rleCtrl.rlCtrl = rlCtrl;
        rleCtrl.player = player;
        return(rleCtrl);
    }
Ejemplo n.º 11
0
    private IEnumerator swapMoveUpdate(Vector2 dir, float time, float disappearTime)
    {
        ApCtrl.DisappearAlpha(meshAlpha, disappearTime);
        yield return(new WaitForSecondsRealtime(disappearTime));

        SwapMove(dir, time, (pos) => Position = pos, () => Position, this);
        renderer.enabled = false;
        var oriValue = mov.staticExtrusion;

        mov.staticExtrusion = false;
        Timer.CreateAUnscaledTimer(time, () => {
            renderer.enabled    = true;
            mov.staticExtrusion = oriValue;
        }, this);
        yield return(new WaitForSecondsRealtime(time));

        ApCtrl.AppearAlpha(meshAlpha, disappearTime);
    }
Ejemplo n.º 12
0
    public IEnumerator EnergeGetedCorou(PlayerController player, Action <Vector2> afterAnim)
    {
        anim.state.TimeScale = 0;
        anim.state.SetAnimation(0, "animation", false);;
        GetComponent <BoxCollider2D>().enabled = false;
        var dir      = (Position.x - player.PositionWithoutHalo.x) > 0 ? Vector2.right : Vector2.left;
        var movTimer = Timer.CreateATimer(disappearTime, null, this);

        movTimer.timerUpdateAction += () => {
            float   dis    = timeDistanceCurve.Evaluate(movTimer.Value);
            Vector2 target = dir.normalized * dis + originPos;
            Position = target;
        };
        var rotTimer = Timer.CreateATimer(disappearTime, null, this);

        rotTimer.timerUpdateAction += () => {
            float rotSpeed = timeRotateSpeedCurve.Evaluate(rotTimer.Value);
            transform.Rotate(Vector3.forward * rotSpeed * Time.deltaTime);
        };
        if (meshAp == null)
        {
            var mesh = anim.GetComponent <MeshRenderer>();
            meshAp = ApCtrl.CreateAlphaData(ApCtrl.SpineMeshAlpha(mesh), this);
        }
        ApCtrl.DisappearAlpha(meshAp, disappearTime);
        if (lightAp == null)
        {
            lightAp = ApCtrl.CreateAlphaData(ApCtrl.LightRendererAlpha(lightRenderer), this);
        }
        ApCtrl.DisappearAlpha(lightAp, disappearTime);
        yield return(new WaitForSeconds(disappearTime));

        afterAnim(Position);
        yield return(new WaitForSeconds(appearTime));

        Position           = originPos;
        transform.rotation = Quaternion.identity;
        ApCtrl.AppearAlpha(meshAp, disappearTime);
        ApCtrl.AppearAlpha(lightAp, disappearTime);
        GetComponent <BoxCollider2D>().enabled = true;
        anim.state.TimeScale = 1;
        anim.state.SetAnimation(0, "animation", true);;
    }
Ejemplo n.º 13
0
    public static RedLightController Create(PlayerController player, Vector2 _pos)
    {
        var prefab = player.redLightPrefab;
        var go     = GameObject.Instantiate(prefab);

        go.transform.position = VectorUtils.V23(_pos, go.transform.position.z);
        var sr            = go.GetComponentInChildren <SpriteRenderer>();
        var redLightTrans = go.transform;
        var rdLtCtrl      = new RedLightController();

        rdLtCtrl.posRef      = new ClassRef <Vector2>((pos) => redLightTrans.position = VectorUtils.V23(pos, redLightTrans.position.z), () => VectorUtils.V32(redLightTrans.position));
        rdLtCtrl.spriteAlpha = ApCtrl.CreateAlphaData(ApCtrl.SpriteAlpha(sr), player);
        rdLtCtrl.spriteAlpha.convertSpeed = player.redLightAlphaConvertSpeed;
        rdLtCtrl.lightAlpha = ApCtrl.CreateAlphaData(ApCtrl.LightRendererAlpha(go.GetComponentInChildren <LightRenderer>()), player);
        rdLtCtrl.lightAlpha.convertSpeed = player.redLightAlphaConvertSpeed;
        rdLtCtrl.go             = go;
        rdLtCtrl.mb             = player;
        rdLtCtrl.particleSystem = go.GetComponentInChildren <ParticleSystem>();
        rdLtCtrl.emission       = rdLtCtrl.particleSystem.emission;
        rdLtCtrl.EmissionEnable = false;
        return(rdLtCtrl);
    }
Ejemplo n.º 14
0
    private IEnumerator mainProcess()
    {
        ColorScreen.Main.SetColor(Color.black, 0);
        yield return(null);

        ColorScreen.Main.SetColor(Color.clear, 2);
        yield return(new WaitForSeconds(2));

        bgm.Play();
        yield return(new WaitForSeconds(1));

        yield return(new WaitUntil(() => Input.anyKey));

        SoundManager.PlaySound(bgm, "TitleButton");
        StopCoroutine(pressKeyCor);
        StartCoroutine(pressAfterAnim());
        yield return(new WaitForSeconds(pressTime));

        ColorScreen.Main.SetColor(Color.black, 2);
        ApCtrl.DisappearAlpha(bgmAd, 2);
        yield return(new WaitForSeconds(2));

        SceneManager.LoadScene("TitleAnim");
    }
Ejemplo n.º 15
0
    public IEnumerator ToEndStoryCor()
    {
        yield return(new WaitUntil(() => controller.currentStateName == "Idle"));

        yield return(new WaitForSeconds(0.5f));

        var loopBgm = GameObject.Find("LoopBgm").GetComponent <AudioSource>();
        var ad      = ApCtrl.CreateAlphaData(ApCtrl.AudioVolumeAlpha(loopBgm), this);

        ApCtrl.DisappearAlpha(ad, 2);
        controller.enabled  = false;
        controller.Velocity = Vector2.zero;
        var bodyView = controller.GetComponentInChildren <BodyView>();

        bodyView.enabled = false;
        bodyView.SetAnimate("stand", true);
        controller.GetComponentInChildren <SkeletonAnimation>().skeleton.FlipX = false;
        ColorScreen.Main.SetColor(Color.black, 2);
        StartCoroutine(toEndStoryCameraMov());
        yield return(new WaitForSecondsRealtime(2));

        SceneManager.activeSceneChanged += destroySomething;
        SceneManager.LoadScene("EndAnim");
    }
Ejemplo n.º 16
0
 public TextTransInstance(Text text, TextTrans trans)
 {
     this.text  = text;
     this.trans = trans;
     ad         = ApCtrl.CreateAlphaData(ApCtrl.TextAlpha(text), trans);
 }
Ejemplo n.º 17
0
 public void FadeOut(float time)
 {
     ApCtrl.AppearAlpha(ad, time);
 }
Ejemplo n.º 18
0
 public void FadeIn(float time)
 {
     ApCtrl.DisappearAlpha(ad, time);
 }
Ejemplo n.º 19
0
 // Use this for initialization
 void Start()
 {
     bgmAd = ApCtrl.CreateAlphaData(ApCtrl.AudioVolumeAlpha(bgm), this);
     StartCoroutine(mainProcess());
     pressKeyCor = StartCoroutine(pressKeyAnim());
 }
Ejemplo n.º 20
0
 public void Start()
 {
     source           = GameObject.Find("Bgm").GetComponent <AudioSource>();
     sourcePriorityAd = ApCtrl.CreateAlphaData(ApCtrl.AudioVolumeAlpha(source), this);
     processCor       = StartCoroutine(process());
 }
Ejemplo n.º 21
0
 public void ReceivePlayerSwapExit(PlayerController fsm, float time)
 {
     ApCtrl.AppearAlpha(alphaData, time);
 }