Exemplo n.º 1
0
 public void Awake()
 {
     lightMaskVisible = true;
     lightMaskAlpha   = ApCtrl.CreateAlphaData(ApCtrl.LightRendererAlpha(lightRenderer), this);
     SelectedUIActive = false;
     meshAlpha        = ApCtrl.CreateAlphaData(ApCtrl.SpineMeshAlpha(renderer), this);
 }
Exemplo n.º 2
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);;
    }
Exemplo n.º 3
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);
    }