private void Start()
        {
            OnSetPassiveRadarTarget         += OnSetPassiveRadarTargetEvent;
            OnNotifyActiveRadarForNewTarget += OnNotifyActiveRadarToAssignTargetEvent;
            OnClearPassiveRadarTarget       += OnClearPassiveRadarTargetEvent;


            var rs = parentBlock.GetComponent <RocketScript>();

            if (rs == null)
            {
                return;
            }
            int     id  = parentBlock.ParentMachine.PlayerID;
            KeyCode key = rs.GroupFireKey.GetKey(0);

            if (!tempRadarSet.ContainsKey(id))
            {
                tempRadarSet.Add(id, new Dictionary <KeyCode, HashSet <RadarScript> >());
            }
            if (!tempRadarSet[id].ContainsKey(key))
            {
                tempRadarSet[id].Add(key, new HashSet <RadarScript>());
            }
        }
Esempio n. 2
0
        // ブロック設置時に、そのブロックに所定のスクリプトを貼り付ける関数
        // Blockは、設置したブロックを表す
        public void AddScript(Block block)
        {
            // 生成したブロックのBlockBehaviourコンポーネントを取得する
            BlockBehaviour internalObject = block.BuildingBlock.InternalObject;

            // そのブロックがスクリプトを貼り付けるべきブロックであるなら、貼り付ける
            if (BlockDict.ContainsKey(internalObject.BlockID))
            {
                Type type = BlockDict[internalObject.BlockID];
                try
                {
                    // まだ所定のスクリプトが貼り付けられていない場合にのみ、貼り付ける
                    if (internalObject.GetComponent(type) == null)
                    {
                        internalObject.gameObject.AddComponent(type);
                        Mod.Log("Added Script");
                    }
                }
                catch
                {
                    Mod.Error("AddScript Error!");
                }
                return;
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public FlyingSpiral(BlockBehaviour bb) : base(bb)
 {
     fc = bb.GetComponent <FlyingController>();
     automaticToggle = automaticFieldInfo.GetValue(fc) as MToggle;
     toggleMode      = toggleFieldInfo.GetValue(fc) as MToggle;
     reverseToggle   = reverseFieldInfo.GetValue(fc) as MToggle;
     rigidbody       = rigidbodyFieldInfo.GetValue(fc) as Rigidbody;
 }
Esempio n. 4
0
 public override void Plug(BlockBehaviour blockBehaviour)
 {
     base.Plug(blockBehaviour);
     _isDisplaced       = false;
     _directionOfTravel = BlockFace.Unknown;
     _block             = blockBehaviour;
     _animator          = blockBehaviour.GetComponent <Animator>();
 }
Esempio n. 5
0
 public override void Plug(BlockBehaviour blockBehaviour)
 {
     base.Plug(blockBehaviour);
     _renderer         = blockBehaviour.GetComponent <Renderer>();
     _cameraController = Camera.main.GetComponent <CameraController>();
     _block            = blockBehaviour;
     _cameraController.AddFadeoutTarget(this);
 }
Esempio n. 6
0
        /// <summary>
        /// Creates a Block handler.
        /// </summary>
        /// <param name="bb">BlockBehaviour object.</param>
        public BlockHandler(BlockBehaviour bb)
        {
            this.bb = bb;
            this.bs = bb.GetComponent <BlockScript>();

            BlockHandlerController.OnUpdate      += Update;
            BlockHandlerController.OnLateUpdate  += LateUpdate;
            BlockHandlerController.OnFixedUpdate += FixedUpdate;
        }
Esempio n. 7
0
        /// <summary>
        ///     Creates a Block handler.
        /// </summary>
        public Block(BlockBehaviour bb)
        {
            Bb = bb;
            Bs = bb.GetComponent <BlockScript>();

            OnUpdate      += Update;
            OnLateUpdate  += LateUpdate;
            OnFixedUpdate += FixedUpdate;
        }
Esempio n. 8
0
        /// <summary>
        /// Creates a Block handler.
        /// </summary>
        /// <param name="bb">BlockBehaviour object.</param>
        public Piston(BlockBehaviour bb) : base(bb)
        {
            sc = bb.GetComponent <SliderCompress>();

            toggleMode = toggleFieldInfo.GetValue(sc) as MToggle;
            extendKey  = extendFieldInfo.GetValue(sc) as MKey;

            defaultStartLimit = sc.startLimit;
            defaultNewLimit   = sc.newLimit;
        }
Esempio n. 9
0
    public override void Plug(BlockBehaviour blockBehaviour)
    {
        base.Plug(blockBehaviour);
        _renderer = blockBehaviour.GetComponent <Renderer>();
        _renderer.shadowCastingMode = ShadowCastingMode.Off;
        CameraController cameraController = Camera.main.GetComponent <CameraController>();

        _block = blockBehaviour;
        cameraController.AddFadeoutTarget(this);
    }
Esempio n. 10
0
        /// <summary>
        ///     Creates a Block handler.
        /// </summary>
        /// <param name="bb">BlockBehaviour object.</param>
        public Piston(BlockBehaviour bb) : base(bb)
        {
            _sc = bb.GetComponent <SliderCompress>();

            _toggleMode = ToggleFieldInfo.GetValue(_sc) as MToggle;
            _extendKey  = ExtendFieldInfo.GetValue(_sc) as MKey;

            _defaultStartLimit = _sc.startLimit;
            _defaultNewLimit   = _sc.newLimit;
        }
Esempio n. 11
0
 public void PlaceAdditionScripts(BlockBehaviour block)
 {
     // Reset state for all patches for FPIO controlled blocks
     foreach (var kp in AdditionScripts)
     {
         if (kp.Key.IsInstanceOfType(block))
         {
             (block.GetComponent(kp.Value) as AdditionScript)?.Reset();
         }
     }
 }
        /// <summary>零件添加进阶属性控件 </summary>
        private void AddSliders(BlockBehaviour block)
        {
            if (dic_EnhancementBlock.ContainsKey(block.BlockID))
            {
                var EB = dic_EnhancementBlock[block.BlockID];

                if (block.GetComponent(EB) == null)
                {
                    block.gameObject.AddComponent(EB);
                }
            }
        }
    public override void Initialize()
    {
        if (initialized)
        {
            return;
        }

        BlockBehaviour block = PrefabMaster.GetBlock(myIndex);

        if (block != null)
        {
            blockInfo = block.GetComponent <MyBlockInfo>();
        }

        initialized = true;
    }
Esempio n. 14
0
        /// <summary>添加进阶属性</summary>
        private void AddSliders(BlockBehaviour block)
        {
#if DEBUG
            //ConsoleController.ShowMessage(string.Format("Block ID: {0}", block.BlockID.ToString()));
#endif

            if (dic_EnhancementBlock.ContainsKey(block.BlockID))
            {
                var EB = dic_EnhancementBlock[block.BlockID];

                if (block.GetComponent(EB) == null)
                {
                    block.gameObject.AddComponent(EB);
                }
            }
        }
Esempio n. 15
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="block"></param>
        /// <param name="blockType"></param>
        public static void SetComponent <T>(BlockBehaviour block, BlockType blockType) where T : Component
        {
            T component = block.GetComponent <T>();

            if (block.GetBlockID() == (int)blockType)
            {
                if (component == null)
                {
                    block.gameObject.AddComponent <T>();
                }
            }
            else
            {
                if (component != null)
                {
                    Destroy(component);
                }
            }
        }
Esempio n. 16
0
 /// <summary>
 ///     Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Steering(BlockBehaviour bb) : base(bb)
 {
     _sw           = bb.GetComponent <SteeringWheel>();
     _speedSlider  = SpeedSliderField.GetValue(_sw) as MSlider;
     _limitsSlider = LimitsSliderField.GetValue(_sw) as MLimits;
 }
Esempio n. 17
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Steering(BlockBehaviour bb) : base(bb)
 {
     sw           = bb.GetComponent <SteeringWheel>();
     speedSlider  = speedSliderField.GetValue(sw) as MSlider;
     limitsSlider = limitsSliderField.GetValue(sw) as MLimits;
 }
Esempio n. 18
0
 /// <summary>
 ///     Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Vacuum(BlockBehaviour bb) : base(bb)
 {
     _vb = bb.GetComponent <VacuumBlock>();
 }
Esempio n. 19
0
 /// <summary>
 ///     Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Crossbow(BlockBehaviour bb) : base(bb)
 {
     _cbb = bb.GetComponent <CrossBowBlock>();
 }
Esempio n. 20
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Spring(BlockBehaviour bb) : base(bb)
 {
     sc = bb.GetComponent <SpringCode>();
 }
Esempio n. 21
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Cog(BlockBehaviour bb) : base(bb)
 {
     cmc = bb.GetComponent <CogMotorControllerHinge>();
 }
Esempio n. 22
0
        /// <summary>
        /// Creates a Block handler.
        /// </summary>
        /// <param name="bb">BlockBehaviour object.</param>
        public WaterCannon(BlockBehaviour bb) : base(bb)
        {
            wcc = bb.GetComponent <WaterCannonController>();

            holdToShootToggle = holdFieldInfo.GetValue(wcc) as MToggle;
        }
Esempio n. 23
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Grenade(BlockBehaviour bb) : base(bb)
 {
     cb = bb.GetComponent <ControllableBomb>();
 }
Esempio n. 24
0
        /// <summary>
        ///     Creates a Block handler.
        /// </summary>
        /// <param name="bb">BlockBehaviour object.</param>
        public Grabber(BlockBehaviour bb) : base(bb)
        {
            var gb = bb.GetComponent <GrabberBlock>();

            _join = JoinFieldInfo.GetValue(gb) as JoinOnTriggerBlock;
        }
Esempio n. 25
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Cannon(BlockBehaviour bb) : base(bb)
 {
     cb = bb.GetComponent <CanonBlock>();
 }
Esempio n. 26
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Decoupler(BlockBehaviour bb) : base(bb)
 {
     eb = bb.GetComponent <ExplosiveBolt>();
 }
Esempio n. 27
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Flamethrower(BlockBehaviour bb) : base(bb)
 {
     fc         = bb.GetComponent <FlamethrowerController>();
     holdToFire = holdFieldInfo.GetValue(fc) as MToggle;
 }
Esempio n. 28
0
 /// <summary>
 /// Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public Rocket(BlockBehaviour bb) : base(bb)
 {
     tr = bb.GetComponent <TimedRocket>();
 }
Esempio n. 29
0
 /// <summary>
 ///     Creates a Block handler.
 /// </summary>
 /// <param name="bb">BlockBehaviour object.</param>
 public FlyingSpiral(BlockBehaviour bb) : base(bb)
 {
     _fc         = bb.GetComponent <FlyingController>();
     _toggleMode = ToggleFieldInfo.GetValue(_fc) as MToggle;
     _rigidbody  = RigidbodyFieldInfo.GetValue(_fc) as Rigidbody;
 }