예제 #1
0
	private void Awake() {
		Instance = this;
		renderer = GetComponent<Renderer>();
		targetMat = new Material(renderer.material);
		targetMat.color = Color.clear;
		renderer.sharedMaterial = targetMat;
	}
예제 #2
0
 void Awake()
 {
     if (GameObject.FindGameObjectWithTag("Player") != null)
     {
         target       = GameObject.FindGameObjectWithTag("Player").transform;
         targetEntity = target.GetComponent <LivingEntity>();
         damage       = targetEntity.startingHealth / hitsToKillPlayer;
     }
     if (!isPatrollingType)
     {
         patrolLineWidth = 0;
     }
     rb2d            = GetComponent <Rigidbody2D>();
     spriteRenderer  = GetComponentInChildren <SpriteRenderer>();
     flasher         = GetComponent <Flasher>();
     isFacingRight   = true;
     initialPosition = transform.position;
     rb2d.velocity   = Vector2.right * patrolSpeed;
     if (attackType == AttackType.Melee)
     {
         sword = swordObject.GetComponent <Sword>();
         sword.setDamage(damage);
     }
     nextAttackTime     = Time.time;
     timeBetweenAttacks = 1 / fireRatePerSecond;
 }
예제 #3
0
 void Awake()
 {
     spriteRenderer        = GetComponent <SpriteRenderer>();
     flasher               = GetComponent <Flasher>();
     triggered             = false;
     spriteRenderer.sprite = notPressedSprite;
 }
예제 #4
0
 // Start is called before the first frame update
 void Start()
 {
     o2Seconds = GameConfig.instance.o2Seconds;
     character = GetComponent <Character>();
     flasher   = GetComponent <Flasher>();
     name      = $"Character {Random.Range(0, 20)}";
 }
예제 #5
0
    /// <summary>
    /// Trigger on flasher chekcs for null
    /// </summary>

    public static void Trigger(this Flasher flasher)
    {
        if (flasher != null)
        {
            flasher.Flash();
        }
    }
예제 #6
0
    void Start()
    {
        flasher = GetComponent <Flasher>();
        shaker  = GetComponent <Shake>();
        cM      = GetComponent <characterMove>();

        if (effects.DeathEffect)
        {
            effects.DeathEffect.CreatePool();
        }
        if (effects.HitEffect)
        {
            effects.HitEffect.CreatePool();
        }
        if (effects.HealEffect)
        {
            effects.HealEffect.CreatePool();
        }

        RespawnPosition = transform.position;

        OriginalLayer  = gameObject.layer;
        CurrentHealth  = MaxHealth;
        timeOfLastHurt = Time.time;
    }
예제 #7
0
    private void Awake()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        animator       = GetComponent <Animator>();

        flasherDamage            = new Flasher(spriteRenderer, 1.0f, 0.05f, 2);
        flasherDamage.FlashColor = Color.red;
    }
예제 #8
0
 // Use this for initialization
 void Start()
 {
     //txt = GetComponent<Text>();
     defCol       = txt.color;
     flashTimer   = 999;
     deathCounter = GameObject.Find("Manager").GetComponent <GameManager> ();
     me           = this;
 }
예제 #9
0
 // Use this for initialization
 void Start()
 {
     if (_health == null)
     {
         _health = GetComponent <Health>();
     }
     _flasher = GetComponent <Flasher>();
 }
예제 #10
0
    protected void Start()
    {
        SetRandomShootCounter();
        _player  = GameObject.FindGameObjectsWithTag("Player").Where(_ => _.name == "Player").FirstOrDefault();
        _sm      = GetComponent <EnemyFSM> ();
        _pathing = GetComponent <EnemyPathing> ();
        _flasher = GetComponent <Flasher> ();

        Max_Health = Health;
    }
예제 #11
0
    private void Awake()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        animator       = GetComponent <Animator>();

        flasherCharge                = new Flasher(spriteRenderer, 0.8f, 0.1f, -1);
        flasherCharge.FlashColor     = Color.blue;
        flasherFullCharge            = new Flasher(spriteRenderer, 0.8f, 0.3f, -1);
        flasherFullCharge.FlashColor = Color.red;
    }
예제 #12
0
    // Use this for initialization
    void Start()
    {
        Flasher flasher = GetComponent <Flasher>();

        if (flasher != null)
        {
            damage.FilterDamage((source, damageable) => {
                StartCoroutine(flash());
                return(source);
            }, false);
        }
    }
 // Use this for initialization
 protected override void Start()
 {
     base.Start();
     m_rigidBody2D   = GetComponent <Rigidbody2D>();
     groundCollider  = GetComponent <CircleCollider2D>();
     m_isGrounded    = false;
     m_isFacingRight = true;
     m_animator      = GetComponentInChildren <Animator>();
     sword           = swordObject.GetComponent <Sword>();
     sword.setDamage(damage);
     flasher        = GetComponent <Flasher>();
     spriteRenderer = GetComponentInChildren <SpriteRenderer>();
 }
예제 #14
0
 private void FlashbtnClick(object sender, EventArgs e)
 {
     if (_busy)
     {
         return;
     }
     if (ofd.ShowDialog() != DialogResult.OK)
     {
         return;
     }
     size.Enabled = false;
     _file        = ofd.FileName;
     _dev         = ((ComboBoxItem)_drivelist.SelectedItem).Value;
     Flasher.RunWorkerAsync();
 }
예제 #15
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                System.Console.WriteLine("Require program to run");
                Environment.Exit(1);
            }

            var file = args[0];

            var programFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, file);

            string source = File.ReadAllText(programFile);

            var binary = Assembler.Assemble(source);

            var memory    = new Memory(0x10000);
            var console   = new SystemConsole(memory, CONSOLE_ADDRESS, WIDTH, HEIGHT);
            var processor = new Processor(memory, 0x800);
            var flasher   = new Flasher(memory);

            flasher.Flash(binary);

            var instructions = 0;

            processor.Tick += (o, e) =>
            {
                instructions++;
            };
            processor.Halt += (o, e) => console.Close();

            var start = DateTime.Now;

            processor.Run();
            var end = DateTime.Now;

            var duration = end - start;

            var instructionsPerSecond = instructions / (duration.TotalMilliseconds / 1000.0);

            System.Console.WriteLine($"Ran {instructions} instructions in {duration}");
            System.Console.WriteLine($"{instructionsPerSecond} instructions per second");

            if (Debugger.IsAttached)
            {
                System.Console.ReadLine();
            }
        }
예제 #16
0
 public Project()
 {
     name                    = "";
     exec                    = "";
     Include                 = new NameElement();
     Ref_mot                 = new NameElement();
     Folder                  = new NameElement();
     MotCommand              = new NameElement();
     Param4MotCommand        = new NameElement();
     ExtraDefine             = new NameElement();
     Mot_Image               = new MotImage();
     MYPackage               = new Package();
     _MigrationAndDevicesBin = new MigrationAndDevicesBin();
     MYSerialFlashHexImage   = new SerialFlashHexImage();
     MFlasher                = new Flasher();
 }
예제 #17
0
 public void FlashIfNeeded(bool flash)
 {
     Dispatcher.BeginInvoke((Action)(() =>
     {
         if (!IsActive)
         {
             if (flash)
             {
                 Flasher.Flash(this);
             }
             else
             {
                 Flasher.Stop(this);
             }
         }
     }));
 }
예제 #18
0
    void Start()
    {
        UI = GameObject.Find("UI").GetComponent <PlayerHUD> ();

        health          = max_health;
        shootController = GetComponent <ShootController> ();

        _flasher = GetComponent <Flasher> ();

        var sc = GameObject.Find("StageController");

        if (sc != null)
        {
            _stageController = sc.GetComponent <StageController> ();
        }

        _cameraShake = Camera.main.gameObject.GetComponent <CameraShake> ();

        SetBoundaries();
    }
예제 #19
0
        public override void OnCreate()
        {
            base.OnCreate();
            entity.name = "bob";
            entity.AddComponent <SpriteRenderer>().SetTexture(Assets.textures["avatar"]).SetLayer(ViewLayers.OBJECTS);
            entity.AddComponent <BasicBody>().SetHitbox(new FloatRect(-0.3f, -0.3f, 0.6f, 0.6f)).SetMaxSpeed(20f);
            entity.AddComponent <FootstepsSound>().SetStep(1.5f).SetVars("step", 1, 8).SetVolume(0.25f);
            entity.AddComponent <AudioEmitter>().Spatialize();
            entity.AddComponent <SpriteOrderFromY>();
            entity.AddComponent <AudioListener>();
            world.avatar = this.entity;

            light = entity.AddComponent <Light>().SetColor(new Color(255, 255, 255)).AddLayer(ViewLayers.TERRAIN).SetRadius(250f);
            light.SetCookie("flashcone3");
            flasher = entity.AddComponent <Flasher>();

            entity.sprite.textureRect = new IntRect(0, 0, 32, 32);
            entity.sprite.CenterOrigin();

            entity.AddComponent <Gun>();
        }
        public void AllU16FibonacciNumbers()
        {
            var memory    = new Memory(0x100);
            var processor = new Processor(memory, 0x10);
            var flasher   = new Flasher(memory);

            const ushort SEQUENCEADDRESS = 0x00a0;

            var source = new string[]
            {
                "START:",
                // initialize register values
                "LDVR 0 $R0",
                "LDVR 1 $R1",
                "LDVR 0x10 $R2",
                $"LDVR {SEQUENCEADDRESS} $R3",
                "LDVR 2 $R4",

                // Save R0 and R1 value to memory
                "STRR $R0 $R3",
                "CALL 0 INCREMENT",
                "POP $T1",     // return value count (0)

                "STRR $R1 $R3",
                "CALL 0 INCREMENT",
                "POP $T1",     // return value count (0)

                "LOOP:",
                // Check for overflow
                "AND $T0 $R2",
                "JNZ END",

                // calculate next Fibonacci number (R0 + R1 -> ACC)
                "ADD $R0 $R1",

                // Save Flag register for check later
                "MOVE $FLAG $T0",

                // Write Fibonacci number to memory
                "STRR $ACC $R3",

                // Shift all values, R1 -> R0, ACC -> R1
                "MOVE $R1 $R0",
                "MOVE $ACC $R1",

                // Increment address to save fibonnaci values at
                "CALL 0 INCREMENT",
                "POP $T1",     // return value count (0)

                "JUMP LOOP",

                "END:",
                "HALT",

                "INCREMENT:",
                "ADD $R3 $R4",
                "MOVE $ACC $R3",
                "RET 0"
            };

            var binary = Assembler.Assemble(string.Join(Environment.NewLine, source));

            flasher.Flash(binary);

            processor.Run();

            var expected = new ushort[]
            {
                0, 1, 1, 2, 3,
                5, 8, 13, 21, 34,
                55, 89, 144, 233, 377,
                610, 987, 1597, 2584, 4181,
                6765, 10946, 17711, 28657, 46368,
                // next value is 75025 which is > ushort max (65535)
                9489 // (75025 & 0xffff) => 9489
            };

            for (var i = 0; i < expected.Length; i++)
            {
                ushort address = (ushort)(SEQUENCEADDRESS + (2 * i));
                var    value   = expected[i];
                Assert.That(memory.GetU16(address), Is.EqualTo(value));
            }
        }
예제 #21
0
 public void Start()
 {
     flasher       = Game.GetFlasher();
     SpawnLocation = Game.GetSpawn();
 }
예제 #22
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="x"></param>
    /// <param name="loc">The correct hit location.</param>
    void Hit(Collider2D x, Vector2 loc)
    {
        GameObject t = x.gameObject;

        // Should do nothing with the friendly.
        if (this.gameObject.tag == "AllyCannonball")
        {
            if (t.tag == "Ally" || t.tag == "AllyCannonball" | t.tag == "Player")
            {
                return;
            }
        }
        else if (this.gameObject.tag == "EnemyCannonball")
        {
            if (t.tag == "Enemy" || t.tag == "EnemyCannonball")
            {
                return;
            }
        }

        /*else if(this.gameObject.tag != "UsedCannonball")
         * {
         *  Debug.Log("WARNING: Cannonball tag is not set properly : " + this.gameObject.name);
         *  return;
         * }*/

        if (hitted)
        {
            return;         // This gameobjcet will be destroyed when timeout in FixedUpdate.
        }
        // Notice that all *can-be-hit* cannonball & missiles *should* mount a SpecObject.
        SpecObject s = t.GetComponent <SpecObject>();

        if (s == null)
        {
            return;
        }

        s.RecieveDamage(damageType, damage);

        this.GetComponent <AudioSource>().Play();

        // Not to destroy this object immediatly for playing sounds.
        //Destroy(this.gameObject);
        Collider2D cd = this.gameObject.GetComponent <Collider2D>();

        if (cd != null)
        {
            Destroy(cd);
        }
        SpriteRenderer rd = this.gameObject.GetComponent <SpriteRenderer>();

        if (rd != null)
        {
            Destroy(rd);
        }
        this.gameObject.tag = "UsedCannonball";
        hitted = true;

        // FX objects...
        if (explodeFX != null)
        {
            // Maintain direction...
            Vector3 dir;
            float   a;
            this.gameObject.transform.rotation.ToAngleAxis(out a, out dir);
            if (dir.z < 0)
            {
                dir = -dir; a = -a;
            }
            Vector2 vdir;
            vdir.y = Mathf.Min(Mathf.Cos(a * Mathf.Deg2Rad) * speed, 0f);
            vdir.x = -Mathf.Sin(a * Mathf.Deg2Rad) * speed;
            if (vdir.magnitude > Global.flySpeed * 0.5f)
            {
                vdir = vdir.normalized * Global.flySpeed * 0.5f;
            }

            // Create and assign fx objects...
            for (int i = 0; i < explodeFX.Length; i++)
            {
                GameObject fx = Instantiate(explodeFX[i]);
                fx.transform.position = loc;
                Flasher fl = fx.GetComponent <Flasher>();
                if (fl != null)
                {
                    fl.baseSpeed = vdir;
                }
            }
        }

        // particle objects...
        if (explodeParticles != null)
        {
            for (int i = 0; i < explodeParticles.Length; i++)
            {
                GameObject pc = Instantiate(explodeParticles[i]);
                pc.transform.position = loc;
                // Turn the color to red as enemies' ship damaged.

                SpriteRenderer prd = pc.GetComponent <SpriteRenderer>();
                Shield         sd  = x.gameObject.GetComponent <Shield>();
                if (prd != null && sd == null)
                {
                    SpriteRenderer spr = s.gameObject.GetComponent <SpriteRenderer>();
                    if (spr != null)
                    {
                        float hrate = 0.5f + 0.5f * s.hp / s.hpMax;
                        prd.color = new Color(
                            spr.color.r,
                            spr.color.g * hrate,
                            spr.color.b * hrate,
                            spr.color.a);
                    }
                }
            }
        }
    }
예제 #23
0
    public static IEnumerator Start(DarknessOverlay darkness, AnimationController playerAnimator, SpriteRenderer playerSpriteRenderer, Flasher damageFlasher)
    {
        damageFlasher.enabled = false;
        Time.timeScale        = 0.0f;

        float spinTime       = 2.0f;
        float spinRate       = 16.0f;
        float endSpinRate    = 2.0f;
        float spinRateChange = (endSpinRate - spinRate) / spinTime;
        float angle          = 0.0f;

        float startRadius      = 12.0f;
        float endRadius        = 0.0f;
        float darkesRadius     = startRadius;
        float radiusChangeRage = (endRadius - startRadius) / spinTime;

        playerSpriteRenderer.sortingLayerName = "Overlay";

        int animation = darkness.StartAnimation();

        darkness.SetColor(Color.black, animation);

        playerAnimator.SetFloat("Distance", 0.0f);

        while (spinTime > 0.0f)
        {
            playerAnimator.SetInteger("Direction", Mathf.FloorToInt(angle));
            angle    += spinRate * Time.unscaledDeltaTime;
            spinRate += spinRateChange * Time.unscaledDeltaTime;
            spinTime -= Time.unscaledDeltaTime;

            darkness.UpdateValues(playerAnimator.transform.position, darkesRadius, animation);

            darkesRadius += radiusChangeRage * Time.unscaledDeltaTime;

            yield return(null);
        }

        playerAnimator.SetInteger("Direction", 0);

        yield return(new WaitForSecondsRealtime(1.0f));

        GameObject.FindGameObjectWithTag("GameController").GetComponent <WorldController>().SwitchTo(MapDirections.Dead);
        playerAnimator.SetBool("Dead", true);

        yield return(new WaitForSecondsRealtime(1.0f));

        while (darkesRadius < startRadius)
        {
            darkesRadius -= 2.0f * radiusChangeRage * Time.unscaledDeltaTime;
            darkness.UpdateValues(playerAnimator.transform.position, darkesRadius, animation);
            yield return(null);
        }

        playerAnimator.SetBool("Dead", false);
        darkness.EndAnimation(animation);
        playerSpriteRenderer.sortingLayerName = "Default";
        Time.timeScale = 1.0f;
        yield return(null);

        yield return(StoryFunctionBindings.GetBindings().interact("on_player_death"));
    }
예제 #24
0
 public override void Reset()
 {
     flasher = null;
 }
예제 #25
0
 public static void TestMethod1()
 {
     byte[] x = { 0, 0, 0 };
     Flasher.Flash(x);
 }