예제 #1
0
    void Awake()
    {
        detector = gameObject.GetComponent<RangeDetector> ();
        detector.range = 2;

        character = detector.target.transform.GetComponent<BaseCharacterClass>();
    }
예제 #2
0
    void Awake()
    {
        detector       = gameObject.GetComponent <RangeDetector> ();
        detector.range = 2;

        character = detector.target.transform.GetComponent <BaseCharacterClass>();
    }
예제 #3
0
    /// <summary>
    /// Called when the building is being constructed
    /// Changes the layer from wireframe to building
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    private IEnumerator ConstructionTimer(float time)
    {
        yield return(new WaitForSeconds(3));

        thisBuilding.layer = LayerMask.NameToLayer("Buildings");

        foreach (Transform child in thisBuilding.transform)
        {
            if (child.name != "Range" && child.name != "BulletPool")
            {
                child.gameObject.layer = LayerMask.NameToLayer("Buildings");

                if (child.childCount > 0)
                {
                    foreach (Transform grandChild in child)
                    {
                        grandChild.gameObject.layer = LayerMask.NameToLayer("Buildings");
                    }
                }
            }
        }
        constructed = true;

        if (buildingType == BuildingType.turret)
        {
            rangeDetector = GetComponentInChildren <RangeDetector>();
            rangeDetector.Ready(range);
        }

        //light.enabled = true;
        EnemySpawner.enemySpawnerInstance.AddToBuildingList(thisBuilding);
        ResourceManager.resourceManagerInstance.AddBuilding(buildingType);
    }
예제 #4
0
 public PoolObjectQueue <RangeDetector> GetRangeDetectorQueue(RangeDetector prefab)
 {
     if (RangeDetectorObjectPoolQueue.ContainsKey(prefab.name))
     {
         return(RangeDetectorObjectPoolQueue[prefab.name]);
     }
     else
     {
         CreateNewObjectQueue <RangeDetector>(RangeDetectorObjectPoolQueue, prefab);
         return(RangeDetectorObjectPoolQueue[prefab.name]);
     }
 }
예제 #5
0
파일: Enemy.cs 프로젝트: JOR995/RTS-Game
    /// <summary>
    /// Initial setup of the enemy object
    /// </summary>
    /// <param name="target"></param>
    public virtual void SpawnUnit(GameObject target)
    {
        navAgent.enabled = true;
        rangeDetector    = transform.GetChild(2).GetComponent <RangeDetector>();
        rangeDetector.Ready(range);
        hasTarget = false;

        usedProjectiles      = new List <GameObject>();
        availableProjectiles = new List <GameObject>();

        foreach (Transform obj in projectilePool)
        {
            availableProjectiles.Add(obj.gameObject);
        }

        ChangeState(state);
    }
예제 #6
0
파일: Unit.cs 프로젝트: JOR995/RTS-Game
    public virtual void SpawnUnit()
    {
        navAgent         = GetComponent <NavMeshAgent>();
        navAgent.enabled = true;

        unitPool = GameObject.Find("PlayerUnitPool").transform;

        if (unitType != UnitType.engineer)
        {
            rangeDetector = transform.GetChild(2).GetComponent <RangeDetector>();
            rangeDetector.Ready(range);
            hasTarget = false;

            usedProjectiles      = new List <GameObject>();
            availableProjectiles = new List <GameObject>();

            foreach (Transform obj in projectilePool)
            {
                availableProjectiles.Add(obj.gameObject);
            }
        }
    }
예제 #7
0
 void Awake()
 {
     detector = gameObject.GetComponent <RangeDetector> ();
 }
예제 #8
0
 void Awake()
 {
     detector = gameObject.GetComponent<RangeDetector> ();
 }
예제 #9
0
        public static void Main(string [] args)
        {
            string rangeInput  = null;
            string rangeOutput = null;

            string filling  = null;
            bool   minimize = false;

            bool shouldShowHelp = false;

            var options = new OptionSet {
                { "i=", "Input address or range (e.g. 0x1000:0xffff or 0x1000 or :0xffff)", i => rangeInput = i },
                { "o=", "Output address or range (e.g. 0x0000:0xffff or 0x0000 or :0xffff)", o => rangeOutput = o },
                { "f|fill=", "Filling value (default 0xff)", f => filling = f },
                { "m|minimize", "Minimize output binary - don't fill output range to upper address", m => minimize = m != null },
                { "h|help", "Show this message and exit", h => shouldShowHelp = h != null },
            };


            List <string> extra;

            try {
                // parse the command line
                extra = options.Parse(args);
            } catch (OptionException e) {
                // output some error message
                Console.Write("hex2bin: ");
                Console.WriteLine(e.Message);
                Console.WriteLine("Try `hex2bin --help' for more information.");
                return;
            }

            if (shouldShowHelp || extra.Count < 1)
            {
                ShowHelp(options);
                return;
            }

            try {
                string fileIn = extra [0];

                string fileOut;
                if (extra.Count == 2)
                {
                    fileOut = extra [1];
                }
                else
                {
                    fileOut = GenerateOutputFileName(fileIn);
                }

                Region inputRegion  = new Region(rangeInput);
                Region outputRegion = new Region(rangeOutput);
                if (minimize)
                {
                    outputRegion.SetExactEnd(false);
                }

                byte fill;

                if (filling != null)
                {
                    if (filling.StartsWith("0x", StringComparison.InvariantCultureIgnoreCase))
                    {
                        fill = Convert.ToByte(filling.Substring(2), 16);
                    }
                    else
                    {
                        fill = Convert.ToByte(filling);
                    }
                }
                else
                {
                    fill = 0xff;
                }


                FileStream ifs = new FileStream(fileIn, FileMode.Open);
                FileStream ofs = new FileStream(fileOut, FileMode.Create);

                // init parser
                Parser parser = new Parser(ifs);

                // 1st iteration - calculate maximum output range
                RangeDetector rangeDetector = new RangeDetector();
                parser.SetDataListener(rangeDetector);
                parser.Parse();
                Region fullInputRegion = rangeDetector.GetFullRangeRegion();

                inputRegion.Intersection(fullInputRegion);

                // seek input stream back to origin
                ifs.Seek(0, SeekOrigin.Begin);

                // 2nd iteration - actual write of the output
                BinWriter writer = new BinWriter(inputRegion, outputRegion, fill, ofs);
                parser.SetDataListener(writer);
                parser.Parse();

                // print statistics
                Console.WriteLine(string.Format("Program start address 0x{0:x8}\r\n", parser.GetStartAddress()));
                Console.WriteLine("Detected memory regions: ");
                Console.WriteLine(rangeDetector.GetMemoryRegions());

                Console.Write("Used input region: ");
                Console.WriteLine(inputRegion);

                Console.Write("Written output region: ");
                Console.WriteLine(writer.GetWrittenRegion());
            } catch (Exception e) {
                Console.Error.WriteLine("Output not generated!!");
                Console.Error.WriteLine("  " + e.Message);
            }
        }
예제 #10
0
 private void OffRange(RangeDetector d)
 {
     rampart = d.GetRampart();
     movementBehaviour.enabled = true;
     movementBehaviour.SetCanMove(true);
 }
예제 #11
0
 private void OnRange(RangeDetector d)
 {
     rampart = d.GetRampart();
     movementBehaviour.SetCanMove(false);
 }
예제 #12
0
 void Start()
 {
     transPosition = transform.position;
     rangeDetector = GameObject.Find("RangeDetector").GetComponent <RangeDetector> ();
     micAnalyzer   = GameObject.Find("MicController").GetComponent <MicAnalyzer> ();
 }