public void Stop() { StopAllCoroutines(); if (!keepcolor) { if (channelmode) { try { pulseTrigger = pulseParent.getActiveTrigger(channel_id).GetComponent <PulseTrigger>(); } catch { pulseTrigger = null; } activePulseTrigger = pulseTrigger != null && !pulseTrigger.getFinished(); if (!activePulseTrigger) { channel.Set(new_color); } else { pulseTrigger.setOldColor(new_color); } //channel.Set(new_color); } else { foreach (GameObject obj in objects) { if (obj.GetComponent <SpriteRenderer>() != null) { SpriteRenderer renderer = obj.GetComponent <SpriteRenderer>(); renderer.color = new_color; } else if (obj.GetComponent <Tilemap>() != null) { Tilemap renderer = obj.GetComponent <Tilemap>(); renderer.color = new_color; } else if (obj.GetComponent <Light2D>() != null) { Light2D renderer = obj.GetComponent <Light2D>(); renderer.color = new_color; } else if (obj.GetComponent <Graphic>() != null) { Graphic renderer = obj.GetComponent <Graphic>(); renderer.color = new_color; } } } } inuse = false; if (oneuse) { Destroy(gameObject); } }
private IEnumerator ChangeColor(int index) { float time = 0; Color curr = curr_color[index]; GameObject obj = new GameObject(); if (!channelmode) { obj = objects[index]; } if (duration > 0) { while (curr != new_color) { //curr_color = Color.Lerp(curr_color, new_color, Mathf.PingPong(Time.time, 1/duration)); curr = Color.Lerp(curr, new_color, time); if (channelmode) { try { pulseTrigger = pulseParent.getActiveTrigger(channel_id).GetComponent <PulseTrigger>(); } catch { pulseTrigger = null; } activePulseTrigger = pulseTrigger != null && !pulseTrigger.getFinished(); if (!activePulseTrigger) { channel.Set(curr); } else { pulseTrigger.setOldColor(curr); } } else { if (obj.GetComponent <SpriteRenderer>() != null) { SpriteRenderer renderer = obj.GetComponent <SpriteRenderer>(); renderer.color = curr; } else if (obj.GetComponent <Tilemap>() != null) { Tilemap renderer = obj.GetComponent <Tilemap>(); renderer.color = curr; } else if (obj.GetComponent <Light2D>() != null) { Light2D renderer = obj.GetComponent <Light2D>(); renderer.color = curr; } else if (obj.GetComponent <Graphic>() != null) { Graphic renderer = obj.GetComponent <Graphic>(); renderer.color = curr; } } time += Time.deltaTime / (duration * 100); yield return(null); } } if (channelmode) { try { pulseTrigger = pulseParent.getActiveTrigger(channel_id).GetComponent <PulseTrigger>(); } catch { pulseTrigger = null; } activePulseTrigger = pulseTrigger != null && !pulseTrigger.getFinished(); if (!activePulseTrigger) { channel.Set(new_color); } else { pulseTrigger.setOldColor(new_color); } } else { if (obj.GetComponent <SpriteRenderer>() != null) { SpriteRenderer renderer = obj.GetComponent <SpriteRenderer>(); renderer.color = new_color; } else if (obj.GetComponent <Tilemap>() != null) { Tilemap renderer = obj.GetComponent <Tilemap>(); renderer.color = new_color; } else if (obj.GetComponent <Light2D>() != null) { Light2D renderer = obj.GetComponent <Light2D>(); renderer.color = new_color; } else if (obj.GetComponent <Graphic>() != null) { Graphic renderer = obj.GetComponent <Graphic>(); renderer.color = new_color; } } //Debug.Log("COLOR: " + (channel.channelcolor == new_color)); if (oneuse) { Destroy(gameObject); } inuse = false; }
public void GetUsedIDs() { // Part 0 var moveTrigger = new MoveTrigger(); moveTrigger.GroupIDs = groupIDs; moveTrigger.TargetGroupID = 163; moveTrigger.TargetPosGroupID = 321; var used = moveTrigger.UsedGroupIDs; Assert.IsTrue(used.AssignedIDs.Contains(4)); Assert.IsTrue(used.AssignedIDs.Contains(1)); Assert.IsTrue(used.AssignedIDs.Contains(412)); Assert.IsTrue(used.AssignedIDs.Contains(3)); Assert.AreEqual(163, used.PrimaryID); Assert.AreEqual(321, used.SecondaryID); var block = new GeneralObject(); block.GroupIDs = groupIDs; used = block.UsedGroupIDs; Assert.IsTrue(used.AssignedIDs.Contains(4)); Assert.IsTrue(used.AssignedIDs.Contains(1)); Assert.IsTrue(used.AssignedIDs.Contains(412)); Assert.IsTrue(used.AssignedIDs.Contains(3)); Assert.AreEqual(0, used.PrimaryID); Assert.AreEqual(0, used.SecondaryID); // Part 1 var pulse = new PulseTrigger(); var pickupItem = new PickupItem(ObjectLists.PickupItemList[0]); var pickup = new PickupTrigger(); var collision = new CollisionTrigger(); pulse.PulseTargetType = PulseTargetType.Group; pulse.TargetGroupID = 3; var groups = pulse.UsedGroupIDs; pulse.PulseTargetType = PulseTargetType.ColorChannel; pulse.TargetColorID = 4; pulse.CopiedColorID = 5; var colors = pulse.UsedColorIDs; pickupItem.TargetItemID = 41; pickup.TargetItemID = 42; var items0 = pickupItem.UsedItemIDs; var items1 = pickup.UsedItemIDs; collision.PrimaryBlockID = 50; collision.SecondaryBlockID = 51; var blocks = collision.UsedBlockIDs; Assert.AreEqual(3, groups.PrimaryID); Assert.AreEqual(0, groups.SecondaryID); Assert.AreEqual(4, colors.PrimaryID); Assert.AreEqual(5, colors.SecondaryID); Assert.AreEqual(41, items0.PrimaryID); Assert.AreEqual(0, items0.SecondaryID); Assert.AreEqual(42, items1.PrimaryID); Assert.AreEqual(0, items1.SecondaryID); Assert.AreEqual(50, blocks.PrimaryID); Assert.AreEqual(51, blocks.SecondaryID); }