Exemplo n.º 1
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     steeringWheel = BB.GetComponent <SteeringWheel>();
     FPLogic       = steeringWheel.AddToggle("FPIO", "accept_fpio", false);
     UsedKeys      = steeringWheel.MapperTypes.Where(x => x is MKey).Select(x => x as MKey).ToArray();
 }
Exemplo n.º 2
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     sliderCompress = BB.GetComponent <SliderCompress>();
     joint          = GetComponent <ConfigurableJoint>();
     FPLogic        = sliderCompress.AddToggle("FPIO", "accept_fpio", false);
 }
Exemplo n.º 3
0
 public void ActivateButton(BuildingButton button)
 {
     foreach (BuildingButton BB in CurrentTab.BuildingButtons)
     {
         BB.GetComponent <Image>().color = FrameDefaultColor;
     }
     button.GetComponent <Image>().color = FrameActiveColor;
 }
Exemplo n.º 4
0
        public override void SafeAwake()
        {
            // Initialise some components and default values
            AS     = BB.GetComponent <AudioSource>();
            CB     = BB.GetComponent <CanonBlock>();
            bullet = new Bullet(CB);


            IntervalSlider = BB.AddSlider(LanguageManager.fireInterval, "Interval", Interval, intervalMin, 0.5f);
            IntervalSlider.ValueChanged += (float value) => { Interval = value; ChangedProperties(); };

            RandomDelaySlider = BB.AddSlider(LanguageManager.randomDelay, "RandomDelay", RandomDelay, 0f, 0.5f);
            RandomDelaySlider.ValueChanged += (float value) => { RandomDelay = value; ChangedProperties(); };

            KnockBackSpeedSlider = BB.AddSlider(LanguageManager.recoil, "KnockBackSpeed", KnockBackSpeedZeroOne, knockBackSpeedZeroOneMin, knockBackSpeedZeroOneMax);
            KnockBackSpeedSlider.ValueChanged += (float value) => { KnockBackSpeedZeroOne = value; ChangedProperties(); };

            #region 子弹控件初始化

            BullerCustomBulletToggle          = BB.AddToggle(LanguageManager.customBullet, "Bullet", false);
            BullerCustomBulletToggle.Toggled += (bool value) => { BulletTrailToggle.DisplayInMapper = BulletTrailColorSlider.DisplayInMapper = BulletTrailLengthSlider.DisplayInMapper = BulletDragSlider.DisplayInMapper = BulletMassSlider.DisplayInMapper = BulletInheritSizeToggle.DisplayInMapper = bullet.Custom = value; ChangedProperties(); };

            BulletInheritSizeToggle          = BB.AddToggle(LanguageManager.inheritSize, "InheritSize", false);
            BulletInheritSizeToggle.Toggled += (bool value) => { bullet.InheritSize = value; ChangedProperties(); };

            BulletMassSlider = BB.AddSlider(LanguageManager.bulletMass, "BulletMass", 2f, 0.1f, 2f);
            BulletMassSlider.ValueChanged += (float value) => { bullet.Mass = value; ChangedProperties(); };

            BulletDragSlider = BB.AddSlider(LanguageManager.bulletDrag, "BulletDrag", 0.2f, 0.01f, 0.5f);
            BulletDragSlider.ValueChanged += (float value) => { bullet.Drag = value; ChangedProperties(); };

            BulletTrailToggle          = BB.AddToggle(LanguageManager.trail, "Trail", false);
            BulletTrailToggle.Toggled += (bool value) => { bullet.TrailEnable = BulletTrailColorSlider.DisplayInMapper = BulletTrailLengthSlider.DisplayInMapper = value; ChangedProperties(); };

            BulletTrailLengthSlider = BB.AddSlider(LanguageManager.trailLength, "trail length", 1f, 0.2f, 2f);
            BulletTrailLengthSlider.ValueChanged += (float value) => { bullet.TrailLength = value; ChangedProperties(); };

            BulletTrailColorSlider = BB.AddColourSlider(LanguageManager.trailColor, "trail color", Color.yellow, false);
            BulletTrailColorSlider.ValueChanged += (Color value) => { bullet.TrailColor = value; ChangedProperties(); };

            #endregion

#if DEBUG
            ConsoleController.ShowMessage("加农炮添加进阶属性");
#endif
        }
 public new void DealDamage()
 {
     if (AtEnemyBase)
     {
         BB.GetComponent <IDamagable>().TakeDamage(Damage, this);
     }
     else
     {
         //if (FK != null)
         // FK.TakeDamage(Damage);
         AOE = Physics2D.OverlapCircleAll(transform.position, AoeRange << LayerMask.NameToLayer("Default"));
         foreach (Collider2D Target in AOE)
         {
             if (!IsEnemy && Target.tag == "Enemy")
             {
                 Target.GetComponent <IDamagable>().TakeDamage(Damage, this);
             }
             else if (IsEnemy && Target.tag == "Friendly")
             {
                 Target.GetComponent <IDamagable>().TakeDamage(Damage, this);
             }
         }
     }
 }
Exemplo n.º 6
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     waterCannonController = BB.GetComponent <WaterCannonController>();
     FPLogic = waterCannonController.AddToggle("FPIO", "accept_fpio", false);
 }
Exemplo n.º 7
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     flyingController = BB.GetComponent <FlyingController>();
     FPLogic          = flyingController.AddToggle("FPIO", "accept_fpio", false);
 }
        protected override void OnSimulateStart()
        {
            BB           = GetComponent <BlockBehaviour>();
            AS           = BB.GetComponent <AudioSource>();
            CB           = BB.GetComponent <CanonBlock>();
            BulletObject = CB.boltObject.gameObject;
            //BR = BulletObject.GetComponent<Rigidbody>();

            //BulletSpeed = (CB.boltSpeed * Strength) / 15f;
            knockBackSpeed = KnockBackSpeed * (8000 + BulletMass * CB.boltSpeed * Strength / Time.fixedTime);

            CB.enabled = !cBullet;
            timer      = Interval;

            //独立自定子弹
            if (cBullet)
            {
                customBulletObject = (GameObject)Instantiate(BulletObject, CB.boltSpawnPos.position, CB.boltSpawnPos.rotation);
                customBulletObject.transform.localScale = !InheritSize ? new Vector3(0.5f, 0.5f, 0.5f) : Vector3.Scale(Vector3.one * Mathf.Min(transform.localScale.x, transform.localScale.z), new Vector3(0.5f, 0.5f, 0.5f));
                customBulletObject.SetActive(false);
                BR      = customBulletObject.GetComponent <Rigidbody>();
                BR.mass = BulletMass;
                BR.drag = BR.angularDrag = Drag;
            }
            else
            {
                CB.randomDelay    = RandomDelay;
                CB.knockbackSpeed = knockBackSpeed;
            }

            GameObject bullet = cBullet ? customBulletObject : BulletObject;

            if (Trail)
            {
                if (bullet.GetComponent <TrailRenderer>() == null)
                {
                    myTrailRenderer = bullet.AddComponent <TrailRenderer>();
                }
                else
                {
                    myTrailRenderer         = bullet.GetComponent <TrailRenderer>();
                    myTrailRenderer.enabled = Trail;
                }
                myTrailRenderer.autodestruct      = false;
                myTrailRenderer.receiveShadows    = false;
                myTrailRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;

                myTrailRenderer.startWidth = 0.5f * bullet.transform.localScale.magnitude;
                myTrailRenderer.endWidth   = 0.1f;
                myTrailRenderer.time       = TrailLength;

                myTrailRenderer.material = new Material(Shader.Find("Particles/Additive"));
                myTrailRenderer.material.SetColor("_TintColor", TrailColor);
            }
            else
            {
                myTrailRenderer = bullet.GetComponent <TrailRenderer>();
                if (myTrailRenderer)
                {
                    myTrailRenderer.enabled = Trail;
                }
            }

            //全局自定子弹

            //CB.randomDelay = RandomDelay;
            //CB.knockbackSpeed = knockBackSpeed;

            //if (cBullet)
            //{

            //    BR.mass = BulletMass;
            //    BR.drag = BR.angularDrag = Drag;

            //    BulletObject.transform.localScale = !InheritSize ? new Vector3(0.5f, 0.5f, 0.5f) : Vector3.Scale(Vector3.one * Mathf.Min(transform.localScale.x, transform.localScale.z), new Vector3(0.5f, 0.5f, 0.5f));
            //}
        }
Exemplo n.º 9
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     cogMotor = BB.GetComponent <CogMotorControllerHinge>();
     FPLogic  = cogMotor.AddToggle("FPIO", "accept_fpio", false);
 }