示例#1
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);
    }
示例#2
0
    public static RedLightPlayerController Create(PlayerController player, Vector2 _pos)
    {
        SinMove sm = new SinMove(player.rdLtSinMovDt);

        sm.data.originDeg = VectorUtils.Do(Vector2.zero, f => UnityEngine.Random.value * 360);
        var rdLtCtrl = new RedLightPlayerController();

        rdLtCtrl.playerPosQueue     = player.playerPosDisQueue;
        rdLtCtrl.sinMove            = sm;
        rdLtCtrl.distanceSpeedCurve = player.rdLtDisSpdCv;
        rdLtCtrl.rlCtrl             = RedLightController.Create(player, _pos);
        player.StartCoroutine(rdLtCtrl.FollowCor());
        return(rdLtCtrl);
    }
示例#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);
    }