Inheritance: MonoBehaviour
コード例 #1
0
ファイル: LevelSelector.cs プロジェクト: Arpple/runner
    public void Initialize(GameDatabase dataBase)
    {
        SetText("--");
        List = new List <GameObject>();

        dataBase.LevelList.ForEach(
            levelObject =>
        {
            GameObject selectorObject = (GameObject)GameObject.Instantiate(dataBase.Selector);
            string name;
            Selector selector   = selectorObject.GetComponent <Selector>();
            selector.OnSelected = () => SetLevel(levelObject);
            if (levelObject != null)
            {
                name = levelObject.name;
            }
            else
            {
                name = "None";
            }
            selectorObject.name = name;
            selectorObject.GetComponentInChildren <Text>().text = name;
            selectorObject.transform.SetParent(ListContainer, false);
            List.Add(selectorObject);
        });

        Cycler cycler = Main.GetComponentInChildren <Cycler>();

        cycler.SetCyclingList(List);
    }
コード例 #2
0
    public override void Setup(float startTime)
    {
        background.visible(true);
        same.visible(true);
        notSame.visible(true);
        circle.visible(true);
        triangle.visible(true);

        same.setCenterToViewportCoord(0.35f, 0.66f);
        notSame.setCenterToViewportCoord(0.7f, 0.66f);
        circle.setCenterToViewportCoord(0.3f, 0.33f);
        triangle.setCenterToViewportCoord(0.7f, 0.33f);

        // hide the triangle to start
        triangle.visible(false);

        circleCycler = new Cycler(shapeSpeed, 0, startTime);
        circleCycler.AddSprite(circle);

        notSameCycler = new DelayedCycler(0.2f, 4, 1.2f, startTime);
        notSameCycler.AddSprite(notSame);

        wiggler = new Wiggler(startTime, timeLength, new[] { circle, triangle });

        sensor = new TouchSensor(input, gameObjectFinder);
        shapes = new SpriteCollection(new[] { circle, triangle }, camera, sensor);
    }
コード例 #3
0
    public override void Setup(float startTime)
    {
        background  = FullScreenQuad.create(this, "bg");
        title       = Sprite.create(this, new[] { "tmo1", "tmo2", "tmo3", "tmo4", "tmo5", "tmo6" });
        subtitle    = Sprite.create(this, new[] { "p1", "p2", "p3", "p4", "p5", "p6" });
        news        = Sprite.create(this, new[] { "news1", "news2" });
        buyMusic    = Sprite.create(this, new[] { "itunes1", "itunes2" });
        startButton = Sprite.create(this, new[] { "tap1", "tap2", "tap3" });

        Camera cam = Camera.main;

        var layoutpos = cam.ViewportToWorldPoint(new Vector3(0.5f, 0.65f, 0.0f));

        layoutpos -= title.Center();
        // Programmer needs swizzling, badly.
        title.transform.position = new Vector3(layoutpos.x, layoutpos.y, title.transform.position.z);
        // Anchor the subtitle an absolute distance from wherever the title ended up
        subtitle.transform.position = title.transform.position + title.Center() + new Vector3(15f, -20f, -1f);

        // add blinking start text below title but don't display it yet
        startButton.setCenterToViewportCoord(0.5f, 0.4f);
        startButton.visible(false);

        // place buttons in the bottom corners
        news.setScreenPosition(4, 4);
        buyMusic.setScreenPosition((int)Screen.width - buyMusic.PixelWidth() - 4, 4);

        // animate title
        cycle_title = new Cycler(0.4f, 5);
        cycle_title.AddSprite(title);
        cycle_title.AddSprite(subtitle);
    }
コード例 #4
0
ファイル: TitleScene.cs プロジェクト: absurdhero/tmotmo-full
    public override void Setup(float startTime)
    {
        background = FullScreenQuad.create(this, "bg");
        title = Sprite.create(this, new[] {"tmo1", "tmo2", "tmo3", "tmo4", "tmo5", "tmo6"});
        subtitle = Sprite.create(this, new[] {"p1", "p2", "p3", "p4", "p5", "p6"});
        news = Sprite.create(this, new[] {"news1", "news2"});
        buyMusic = Sprite.create(this, new[] {"itunes1", "itunes2"});
        startButton = Sprite.create(this, new[] {"tap1", "tap2", "tap3"});

        Camera cam = Camera.main;

        var layoutpos = cam.ViewportToWorldPoint(new Vector3(0.5f, 0.65f, 0.0f));
        layoutpos -= title.Center();
        // Programmer needs swizzling, badly.
        title.transform.position = new Vector3(layoutpos.x, layoutpos.y, title.transform.position.z);
        // Anchor the subtitle an absolute distance from wherever the title ended up
        subtitle.transform.position = title.transform.position + title.Center() + new Vector3(15f, -20f, -1f);

        // add blinking start text below title but don't display it yet
        startButton.setCenterToViewportCoord(0.5f, 0.4f);
        startButton.visible(false);

        // place buttons in the bottom corners
        news.setScreenPosition(4, 4);
        buyMusic.setScreenPosition((int) Screen.width - buyMusic.PixelWidth() - 4, 4);

        // animate title
        cycle_title = new Cycler(0.4f, 5);
        cycle_title.AddSprite(title);
        cycle_title.AddSprite(subtitle);
    }
コード例 #5
0
ファイル: TitleScene.cs プロジェクト: nagyistoce/tmotmo
    public override void Setup(float startTime)
    {
        background = spriteRenderer.add(new FullScreenQuad(), this.GetType(), new[] {"bg"});
        title = spriteRenderer.add(new Sprite(), this.GetType(), new[] {"tmo1", "tmo2", "tmo3", "tmo4", "tmo5", "tmo6"});
        subtitle = spriteRenderer.add(new Sprite(), this.GetType(), new[] {"p1", "p2", "p3", "p4", "p5", "p6"});
        news = spriteRenderer.add(new Sprite(), this.GetType(), new[] {"news1", "news2"});
        buyMusic = spriteRenderer.add(new Sprite(), this.GetType(), new[] {"itunes1", "itunes2"});
        startButton = spriteRenderer.add(new Sprite(), this.GetType(), new[] {"tap1", "tap2", "tap3"});

        Camera camera = Camera.main;

        var layoutpos = camera.ViewportToWorldPoint(new Vector3(0.5f, 0.65f, 0));
        layoutpos -= new Vector3(title.Center(), 0);
        title.worldPosition = new Vector3(layoutpos.X, layoutpos.Y, title.worldPosition.Z);

        // Anchor the subtitle an absolute distance from wherever the title ended up
        subtitle.worldPosition = title.worldPosition + new Vector3(title.Center() , 0) + new Vector3(16f, 24f, -1f);

        // add blinking start text below title but don't display it yet
        startButton.setCenterToViewportCoord(0.5f, 0.4f);
        startButton.visible(false);

        // place buttons in the bottom corners
        news.screenPosition = new Vector3(4, camera.pixelHeight - news.height - 4, 0);
        buyMusic.screenPosition = new Vector3(camera.pixelWidth - buyMusic.PixelWidth() - 4, camera.pixelHeight - buyMusic.height - 4, 0);

        // animate title
        cycle_title = new Cycler(0.4f, 5);
        cycle_title.AddSprite(title);
        cycle_title.AddSprite(subtitle);
    }
コード例 #6
0
ファイル: Spinner.cs プロジェクト: igtampe/BasicRender
 /// <summary>Creates a spinner window element</summary>
 /// <param name="Parent"></param>
 /// <param name="BG"></param>
 /// <param name="FG"></param>
 /// <param name="LeftPos"></param>
 /// <param name="TopPos"></param>
 public Spinner(Window Parent, ConsoleColor BG, ConsoleColor FG, int LeftPos, int TopPos) : base(Parent)
 {
     string[] Frames = { "|", "/", "-", "\\" };
     cycler       = new Cycler(Frames);
     this.LeftPos = LeftPos;
     this.TopPos  = TopPos;
     this.BG      = BG;
     this.FG      = FG;
 }
コード例 #7
0
 public override void Configure()
 {
     Repeater.Set(10); // 10 blocks
     Cycler.Set(40);
     opt.OptionBlock.avoidBlock = true;
     opt.OptionShape.shape      = new Vector3i(1, 1, 1);
     opt.OptionBlock.SetBlocks("waterSlime");
     Printer.Log(60, "BlockRain Configure: done");
 }
コード例 #8
0
ファイル: TestCycler.cs プロジェクト: absurdhero/tmotmo-full
        public void SwitchFrameEachTime()
        {
            cycler = new Cycler(frameTime, 3, beginning);

            sprite.Expects.Exactly(2).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            cycler.Update(beginning + frameTime);
            cycler.Update(beginning + frameTime * 2);
        }
コード例 #9
0
    public void addHeartRate(float startTime)
    {
        heartRate = resourceFactory.Create(this, "HeartRate");
        heartRate.GetComponent <Sprite>().setWorldPosition(-115f, 17f, -1f);

        // Repeat 7 frame animation every 2 seconds
        // That's 30bpm which might mean he is dying!
        heartRateCycler = new Cycler(1f / 7f * 2f, 0, startTime);
        heartRateCycler.AddSprite(heartRate);
    }
コード例 #10
0
    public void addHeartRate(float startTime)
    {
        heartRate = resourceFactory.Create(this, "HeartRate");
        heartRate.GetComponent<Sprite>().setWorldPosition(-115f, 17f, -1f);

        // Repeat 7 frame animation every 2 seconds
        // That's 30bpm which might mean he is dying!
        heartRateCycler = new Cycler(1f/7f*2f, 0, startTime);
        heartRateCycler.AddSprite(heartRate);
    }
コード例 #11
0
        public void SwitchFrameEachTime()
        {
            cycler = new Cycler(frameTime, 3, beginning);

            sprite.Expects.Exactly(2).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            cycler.Update(beginning + frameTime);
            cycler.Update(beginning + frameTime * 2);
        }
コード例 #12
0
 private void animateStartButton()
 {
     if (cycle_start == null)
     {
         cycle_start = new Cycler(0.4f, 2);
         cycle_start.AddSprite(startButton);
         startButton.visible(true);
     }
     cycle_start.Update(Time.time);
 }
コード例 #13
0
ファイル: TestCycler.cs プロジェクト: absurdhero/tmotmo-full
        public void DontSwitchFramesWhenFrameIntervalHasntPassed()
        {
            cycler = new Cycler(frameTime, 3, beginning);
            var inbetweenFrame = frameTime / 2.0f;

            sprite.Expects.One.Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            cycler.Update(beginning + inbetweenFrame);
            cycler.Update(beginning + frameTime);
            cycler.Update(beginning + frameTime + inbetweenFrame);
        }
コード例 #14
0
        public void DontSwitchFramesWhenFrameIntervalHasntPassed()
        {
            cycler = new Cycler(frameTime, 3, beginning);
            var inbetweenFrame = frameTime / 2.0f;

            sprite.Expects.One.Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            cycler.Update(beginning + inbetweenFrame);
            cycler.Update(beginning + frameTime);
            cycler.Update(beginning + frameTime + inbetweenFrame);
        }
コード例 #15
0
    public void Destroy()
    {
        DestroyIfNotNull(room);
        DestroyIfNotNull(guyLeft);
        DestroyIfNotNull(guyRight);
        DestroyIfNotNull(eyes);
        DestroyIfNotNull(footBoard);
        DestroyIfNotNull(clipBoard);
        DestroyIfNotNull(heartRate);

        heartRateCycler = null;
    }
コード例 #16
0
ファイル: TestCycler.cs プロジェクト: absurdhero/tmotmo-full
        public void CyclerAnimatesIndefinitelyWhenTotalCyclesIsZero()
        {
            var totalCycles = 0;
            var attemptedCycles = 5;
            cycler = new Cycler(frameTime, totalCycles, beginning);

            sprite.Expects.Exactly(attemptedCycles).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            for (var cycle = 1; cycle < attemptedCycles; cycle++) {
                cycler.Update(beginning + frameTime * cycle);
            }
        }
コード例 #17
0
ファイル: TestCycler.cs プロジェクト: absurdhero/tmotmo-full
        public void CyclerStopsWhenTotalCyclesReached()
        {
            var totalCycles = 3;
            var attemptedCycles = 5;
            cycler = new Cycler(frameTime, totalCycles, beginning);

            sprite.Expects.Exactly(totalCycles).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);

            for (var cycle = 1; cycle < attemptedCycles; cycle++) {
                cycler.Update(beginning + frameTime * cycle);
            }
        }
コード例 #18
0
        public void CyclerAnimatesIndefinitelyWhenTotalCyclesIsZero()
        {
            var totalCycles     = 0;
            var attemptedCycles = 5;

            cycler = new Cycler(frameTime, totalCycles, beginning);

            sprite.Expects.Exactly(attemptedCycles).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);
            for (var cycle = 1; cycle < attemptedCycles; cycle++)
            {
                cycler.Update(beginning + frameTime * cycle);
            }
        }
コード例 #19
0
 public override void Configure()
 {
     Repeater.Set(10); // 10 blocks
     Cycler.Set(40);
     opt.OptionBlock.avoidBlock = true;
     if (Hashes.Rand(0.1f, "rainSlime"))
     {
         opt.OptionBlock.SetBlocks("waterSlime");
     }
     else
     {
         opt.OptionBlock.SetBlocks(ZBiomeInfo.GetBlock(seed, biome.ToString()));
     }
     Printer.Log(60, "BlockRain Configure: done");
 }
コード例 #20
0
        public override void Configure()
        {
            Cycler.Set(2.5f); // molotov duration => permanent
            Repeater.Set(-1f);

            // this.opt.OptionItem.item = "ZBProj_fire";
            this.opt.OptionItem.item = ZBiomeInfo.Weighted5(this.biome.envProj, Hashes.Rand(seed, "eproj"));
            this.name = String.Format("{0}-{1}", this.name, this.opt.OptionItem.item);
            // NB I have opt.OptionShape.direction
            opt.OptionShape.shape.x = Hashes.Rand(1, 3, seed, "len");
            opt.OptionShape.shape.y = Hashes.Rand(1, 3, seed, "heigth");
            opt.OptionShape.shape.z = Hashes.Rand(1, 3, seed, "width");

            Printer.Log(60, "Fire Configure: done");
        }
コード例 #21
0
        public void CyclerStopsWhenTotalCyclesReached()
        {
            var totalCycles     = 3;
            var attemptedCycles = 5;

            cycler = new Cycler(frameTime, totalCycles, beginning);

            sprite.Expects.Exactly(totalCycles).Method(_ => _.DrawNextFrame());

            cycler.AddSprite(sprite.MockObject);

            for (var cycle = 1; cycle < attemptedCycles; cycle++)
            {
                cycler.Update(beginning + frameTime * cycle);
            }
        }
コード例 #22
0
    void AnimateShapes(float time)
    {
        if (!triangleShowing() && circleCycler.Count() >= triangleWaitTime)
        {
            triangleCycler = new DelayedCycler(shapeSpeed, 6, 1f);
            triangle.visible(true);
            triangleCycler.AddSprite(triangle);
        }

        circleCycler.Update(time);

        if (triangleShowing())
        {
            triangleCycler.Update(time);
        }
    }
コード例 #23
0
        /// <param name="theContext">source of supporting services
        /// </param>
        /// <param name="isThreaded">true if this class should create threads in which to call cycle(), and
        /// in which to send responses from Applications.  This is the preferred mode.  Use false
        /// if threading is not allowed, eg you are running the code in an EJB container.  In this case,
        /// the send() and receive() methods will call cycle() themselves as needed.  However, cycle()
        /// makes potentially blocking calls, so these methods may not return until the next message
        /// is received from the remote server, regardless of timeout.  Probably the worst example of this
        /// would be if receive() was called to wait for an application ACK that was specified as "RE" (ie
        /// required on error).  No response will be returned if the message is processed without error,
        /// and in a non-threaded environment, receive() will block forever.  Use true if you can, otherwise
        /// study this class carefully.
        ///
        /// TODO: write a MLLPTransport with non-blocking IO
        /// TODO: reconnect transport layers on error and retry
        /// </param>
        public NuGenProcessorImpl(NuGenProcessorContext theContext, bool isThreaded)
        {
            myContext           = theContext;
            myThreaded          = isThreaded;
            myAcceptAcks        = new System.Collections.Hashtable();
            myReservations      = new System.Collections.Hashtable();
            myAvailableMessages = new System.Collections.Hashtable();

            if (isThreaded)
            {
                ackCycler = new Cycler(this, true);
                SupportClass.ThreadClass ackThd = new SupportClass.ThreadClass(new System.Threading.ThreadStart(ackCycler.Run));
                ackThd.Start();
                nonAckCycler = new Cycler(this, false);
                SupportClass.ThreadClass nonAckThd = new SupportClass.ThreadClass(new System.Threading.ThreadStart(nonAckCycler.Run));
                nonAckThd.Start();
            }
        }
コード例 #24
0
        public void FirstTest()
        {
            var list = new List <int> {
                1, 2, 3
            };
            var cycler = new Cycler <int>(list);

            var expected = new List <int> {
                1, 2, 3, 1, 2, 3, 1, 2
            };
            var actual = new List <int>();

            for (int i = 0; i < 8; i++)
            {
                actual.Add(cycler.GetNext());
            }

            Assert.AreEqual(expected, actual);
        }
コード例 #25
0
ファイル: ZBEffect.cs プロジェクト: Zipcore/7Dmods
        public override IEnumerator _Next(EntityPlayer player)
        {
            /* Over should keep some memory (position), and regenerate toward player
             */
            long        start_time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
            Emplacement placeBase  = new Emplacement(player, opt);

            placeBase.direction = Vectors.Float.Randomize(this.rand, 1f); // useless for peak
            Printer.Log(46, "MultiEffect._Next() placeBase", player, placeBase.position, placeBase.direction);
            foreach (int p in Cycler.Over())
            {
                if (Cycler.dt >= 0 && DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - start_time > (long)(Cycler.dt * 1000))
                {
                    yield break;
                }
                Printer.Log(41, "_Next iterating Over");
                Vector3 maybeFollowing = (this.isFollowing) ? player.GetPosition() : placeBase.position;
                int     q = -1;
                foreach (Emplacement place in Iter.On(Placer.Get(maybeFollowing)))
                {
                    q = q + 1;
                    if (q >= Repeater.n)
                    {
                        break;
                    }
                    if (place.valid)
                    {
                        Printer.Log(40, "MultiEffect._Next iterating Clones", place); // last before null (firestorm)
                        // float state = ((float) q) / Repeater.copies;
                        OptionEffect rdm = Randomize();
                        Printer.Log(40, "_Next Randomized", p, q, opt);
                        Printer.Log(40, "_Next Place", p, q, place);
                        this.Effect1(player, place, rdm);
                    }
                    else
                    {
                        Printer.Log(40, "Invalid place:", q, place, place.valid_msg);
                    }
                    yield return(Repeater.Yield);
                }
                yield return(Cycler.Yield);
            }
        }
コード例 #26
0
ファイル: RunnerSelector.cs プロジェクト: Arpple/runner
    public void Initialize(GameDatabase dataBase)
    {
        SetText("--");
        List = new List <GameObject>();

        dataBase.RunnerList.ForEach(
            runnerObject =>
        {
            GameObject selectorObject = (GameObject)GameObject.Instantiate(dataBase.Selector);
            selectorObject.name       = runnerObject.name;
            selectorObject.GetComponentInChildren <Text>().text = runnerObject.name;
            selectorObject.transform.SetParent(ListContainer, false);
            Selector selector   = selectorObject.GetComponent <Selector>();
            selector.OnSelected = () => SetRunner(runnerObject);
            List.Add(selectorObject);
        });

        Cycler cycler = Main.GetComponentInChildren <Cycler>();

        cycler.SetCyclingList(List);
    }
コード例 #27
0
 private void btnNext_Click(object sender, RoutedEventArgs e)
 {
     Cycler.NextSong();
 }
コード例 #28
0
 private void btnPrev_Click(object sender, RoutedEventArgs e)
 {
     Cycler.PrevSong();
 }
コード例 #29
0
    public void Destroy()
    {
        DestroyIfNotNull(room);
        DestroyIfNotNull(guyLeft);
        DestroyIfNotNull(guyRight);
        DestroyIfNotNull(eyes);
        DestroyIfNotNull(footBoard);
        DestroyIfNotNull(clipBoard);
        DestroyIfNotNull(heartRate);

        heartRateCycler = null;
    }
コード例 #30
0
 public void doubleHeartRate(float startTime)
 {
     heartRateCycler = new Cycler(1f/7f, 0, startTime);
     heartRateCycler.AddSprite(heartRate);
 }
コード例 #31
0
 public void doubleHeartRate(float startTime)
 {
     heartRateCycler = new Cycler(1f / 7f, 0, startTime);
     heartRateCycler.AddSprite(heartRate);
 }
コード例 #32
0
ファイル: TitleScene.cs プロジェクト: absurdhero/tmotmo-full
 private void animateStartButton()
 {
     if (cycle_start == null) {
         cycle_start = new Cycler(0.4f, 2);
         cycle_start.AddSprite(startButton);
         startButton.visible(true);
     }
     cycle_start.Update(Time.time);
 }
コード例 #33
0
ファイル: HospitalRoom.cs プロジェクト: nagyistoce/tmotmo
    public void addHeartRate(float startTime)
    {
        heartRate = spriteRenderer.add(new Sprite(), this.GetType(), "heart1", "heart2", "heart3", "heart4", "heart5", "heart6", "heart7");
        heartRate.setScreenPosition(54, 110);
        heartRate.setDepth(-1);

        // Repeat 7 frame animation every 2 seconds
        // That's 30bpm which might mean he is dying!
        heartRateCycler = new Cycler(1f/7f*2f, 0, startTime);
        heartRateCycler.AddSprite(heartRate);
    }
コード例 #34
0
ファイル: ZBEffect.cs プロジェクト: Zipcore/7Dmods
 public override void ConfigurePlacesRepeat()
 {
     base.ConfigurePlacesRepeat();
     Repeater.Set(1);
     Cycler.Set(1);
 }
コード例 #35
0
 void Start()
 {
     locomotor = GetComponent<Locomotor>();
     player = GetComponent<PlayerGravityBody>();
     attractors = new Cycler(FindObjectsOfType(typeof(GravityAttractor)));
 }