public void ResetRing(LoopClock clock) { resetting = true; angle = 0.0f; foreach (Transform child in childTransforms) { child.gameObject.GetComponent <FreezeBlocks>().SetIsFrozen(false); child.parent = child.gameObject.GetComponent <FreezeBlocks>().parentTransform; child.transform.localPosition = child.gameObject.GetComponent <FreezeBlocks>().resetTransform.position; child.transform.localRotation = child.gameObject.GetComponent <FreezeBlocks>().resetTransform.rotation; } player.localPosition = player.GetComponent <Entity>().resetTransform.position; player.localRotation = player.GetComponent <Entity>().resetTransform.rotation; clock.gameObject.GetComponent <Image>().sprite = clock.gameObject.GetComponent <LoopClock>().sprites[(int)radius - 1]; clock.transform.GetChild(0).GetComponent <Image>().sprite = clock.gameObject.GetComponent <LoopClock>().sprites[(int)radius - 1]; clock.gameObject.GetComponent <RectTransform>().sizeDelta = new Vector2(radius * 1140.0f, radius * 1140.0f); clock.transform.GetChild(0).GetComponent <RectTransform>().sizeDelta = new Vector2(radius * 1140.0f, radius * 1140.0f); }
protected override void StartCore(dynamic parameters = null) { if (parameters == null || parameters.ClockedTrailShapes == null) { throw new Exception("Parameter ClockedTrailShapes is required."); } ((List <dynamic>)parameters.ClockedTrailShapes).ForEach(clockedTrailShape => { var tempClockedTrailShape = new ClockedTrailShape(); tempClockedTrailShape.Clock = new TimerClock((double)clockedTrailShape.Interval, args => SetTrailColors(tempClockedTrailShape)); //, 0); tempClockedTrailShape.TrailShape = clockedTrailShape.TrailShape; ClockedTrailShapes.Add(tempClockedTrailShape); }); LoopClock.Start(); ClockedTrailShapes.ForEach(cts => cts.Start()); base.StartCore(null); }
protected override void StopCore(bool force) { ClockedTrailShapes.ForEach(cts => cts.Stop()); LoopClock.Stop(); base.StopCore(force); }