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); }
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); }
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); }