Inheritance: MonoBehaviour
Beispiel #1
0
        void OnSceneGUI()
        {
            // get the chosen game object
            UnitSpawner t    = target as UnitSpawner;
            Grid        grid = t.GetComponentsInParent <Grid>(true)[0];

            if (t == null || grid == null || t.spawns == null)
            {
                return;
            }
            Handles.color = Color.red;
            int i         = 0;
            var fontStyle = new GUIStyle();

            fontStyle.fontSize = 13;

            foreach (var p in t.spawns)
            {
                Vector3 wp;
                wp = grid.CellToLocal(p.position) + t.transform.position;
                var size = 8f;
                Handles.RectangleHandleCap(i, wp + grid.cellSize / 2, Quaternion.identity, size, EventType.Repaint);
                Handles.Label(wp + Vector3.up * size * 2, "生怪器:" + p.EnemeyToProduce.name, fontStyle);
                i++;
            }
        }
 //Scripts
 void Awake()
 {
     _findSpawner = GameObject.Find("Spawner");
     _scoreController = GameObject.Find("ScoreController");
     _checkCoins = _scoreController.GetComponent<CoinsController>();
     _checkWaveRunning = _findSpawner.GetComponent<UnitSpawner>();
 }
Beispiel #3
0
 static void Postfix(UnitSpawner __instance)
 {
     CheeseSetupUnits.SetupEjection(__instance);
     CheeseSetupUnits.SetupEvasiveManuevers(__instance);
     CheeseSetupUnits.SetupVisualTargetFinders(__instance);
     CheeseSetupUnits.SetupGooglyEyes(__instance);
 }
Beispiel #4
0
        public override void Pick(GridLayout gridLayout, GameObject brushTarget, BoundsInt position, Vector3Int pivot)
        {
            if (brushTarget.layer == 31)
            {
                return;
            }
            //Tilemap layerTilemap = brushTarget.GetComponent<Tilemap>();
            UnitSpawner spawner = brushTarget.GetComponent <UnitSpawner>();
            Vector3Int  pos     = position.position;

            if (spawner == null)
            {
                Debug.LogError("TileMap对象必须包含一个 生怪器 组件");
                return;
            }
            if (m_window)
            {
                m_window.Close();
            }

            for (int i = 0; i < spawner.spawns.Count; i++)
            {
                if (pos == spawner.spawns[i].position)
                {
                    m_clipBoardBuff = spawner.spawns[i];
                    Debug.LogWarning("复制了刷怪器: @ " + position);
                    return;
                }
            }
        }
Beispiel #5
0
 private void Awake()
 {
     if (unitSpawner == null)
     {
         unitSpawner = this;
     }
 }
Beispiel #6
0
 public void Unit3()
 {
     if (BotFactoryT1 == true)
     {
         foreach (GameObject go in Factory)
         {
             UnitSpawner us = go.GetComponent <UnitSpawner>();
             us.unit     = bots[0];
             us.prodTime = 5.0f;
             //Factory.GetComponent<UnitSpawner>().unitRequestAmount = 1;
             us.UnitRequest(bots[2]);
         }
     }
     if (TankFactoryT1 == true)
     {
         foreach (GameObject go in Factory)
         {
             UnitSpawner us = go.GetComponent <UnitSpawner>();
             us.unit     = tanks[0];
             us.prodTime = 25f;
             //Factory.GetComponent<UnitSpawner>().unitRequestAmount = 1;
             us.UnitRequest(tanks[2]);
         }
     }
 }
    //Timer to spawn ship. Calls itself every 20 seconds
    IEnumerator SpawnShip()
    {
        yield return(new WaitForSeconds(20f));

        UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 1, hangarSpawn);
        StartCoroutine(SpawnShip());
    }
Beispiel #8
0
        public override void Erase(GridLayout grid, GameObject brushTarget, Vector3Int pos)
        {
            if (brushTarget.layer == 31)
            {
                return;
            }

            //Tilemap layerTilemap = brushTarget.GetComponent<Tilemap>();
            UnitSpawner spawner = brushTarget.GetComponent <UnitSpawner>();

            if (spawner == null)
            {
                Debug.LogError("TileMap对象必须包含一个 生怪器 组件");
                return;
            }
            if (m_window)
            {
                m_window.Close();
            }

            for (int i = 0; i < spawner.spawns.Count; i++)
            {
                if (pos == spawner.spawns[i].position)
                {
                    spawner.spawns.Remove(spawner.spawns[i]);
                    //Set Prefab Dirty
                    var prefabStage = PrefabStageUtility.GetPrefabStage(spawner.gameObject);
                    if (prefabStage != null)
                    {
                        EditorSceneManager.MarkSceneDirty(prefabStage.scene);
                    }
                    return;
                }
            }
        }
Beispiel #9
0
 private void OnValidate()
 {
     if (_unitSpawner == null)
     {
         _unitSpawner = FindObjectOfType <UnitSpawner>();
     }
 }
 // Update is called once per frame
 void Update()
 {
     if (UnitTracker.GetActiveEnemyCount() == 0)
     {
         if (bossSpawned == false)
         {
             UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyBattleship, 1, enemySpawns[3]);
             bossSpawned = true;
         }
         else
         {
             GameController.Instance.PlayerVictorious();
         }
     }
     if (UnitTracker.GetActiveEnemyCount() < 20 && enemiesKilled < 20)
     {
         int randomSpawn       = Random.Range(0, 2);
         int tempEnemiesKilled = 20 - UnitTracker.GetActiveEnemyCount();
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, tempEnemiesKilled, enemySpawns[randomSpawn]);
         enemiesKilled += tempEnemiesKilled;
     }
     if (UnitTracker.GetActiveAllyCount() < 10 && alliesKilled < 15)
     {
         int randomSpawn   = Random.Range(0, 2);
         int temAllyKilled = 10 - UnitTracker.GetActiveAllyCount();
         UnitSpawner.SpawnUnitsInArea(UnitReferences.AlliedFighter1, temAllyKilled, allySpawns[randomSpawn]);
         alliesKilled += temAllyKilled;
     }
 }
Beispiel #11
0
 void Start()
 {
     unitSpawner = transform.parent.GetComponent <UnitSpawner> ();
     myAgent     = GetComponent <NavMeshAgent> ();
     if (myAgent == null)
     {
         gameObject.AddComponent <NavMeshAgent> ();
         myAgent = GetComponent <NavMeshAgent> ();
     }
     myAgent.speed            = agentSpeed;
     myAgent.radius           = 0.01f;
     myAgent.acceleration     = agentAcceleration;
     myAgent.angularSpeed     = agentAngularSpeed;
     myAgent.stoppingDistance = agentStoppingDistance;
     myAnimator = GetComponent <Animator> ();
     if (!myAgent.isOnNavMesh)
     {
         print("Unit did not spawn on navmesh, destroying it");
         Destroy(gameObject);
     }
     else
     {
         StartCoroutine(UpdateMovement());
     }
 }
Beispiel #12
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Beispiel #13
0
 protected override void PlayerEnteredBoundary(GameObject boundary)
 {
     if (boundary == boundaries[0])
     {
         HUDController.Instance.DisplayMessage("We were worried you were leaving us to die", 2.0f);
     }
     else if (boundary == boundaries[1])
     {
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[0]);
         priority.addToEnemyPool(UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[1]));
     }
     else if (boundary == boundaries[2])
     {
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[2]);
         priority.addToEnemyPool(UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[3]));
     }
     else if (boundary == boundaries[3])
     {
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[5]);
         priority.addToEnemyPool(UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[4]));
     }
     else if (boundary == boundaries[4])
     {
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[6]);
         priority.addToEnemyPool(UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[7]));
     }
     else if (boundary == boundaries[5])
     {
         UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 15, enemySpawns[8]);
         priority.addToEnemyPool(UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 15, enemySpawns[9]));
     }
 }
Beispiel #14
0
    public void Spawn(EnemyData enemyData, Vector3 position)
    {
        GameObject enemyObject = new GameObject(enemyData.Name);

        enemyObject.transform.position = position;
        enemyObject.layer = LayerMask.NameToLayer("Enemy");

        UnitData unitData = new UnitData(Main.StaticData.Game.Races.GetValue(enemyData.RaceId).BaseStats);

        foreach (var item in enemyData.Items)
        {
            //Debug.Log("Equipping " + item.DisplayName);
            unitData.Inventory.Equip(item);
        }

        Unit unit = UnitSpawner.SpawnUnit(enemyObject, unitData);

        switch (enemyData.AiParams.AiType)
        {
        case AiType.Rush:
            RushAI rushAI = enemyObject.AddComponent <RushAI>();
            //Debug.Log("assigning attacks..." + enemyData.AiParams.AttackIds.ToString());
            rushAI.Attacks = unit.Skills;
            break;
        }

        Enemy enemy = new Enemy
        {
            gameObject = enemyObject,
            enemyData  = enemyData,
            indicator  = null
        };

        enemies.Add(enemy);
    }
Beispiel #15
0
    public void SetSpawnerColors(UnitSpawner Spawner, float Time = 0)
    {
        if (Time == 0)
        {
            for (int i = 0; i < Spawner.PrimaryMeshRenderers.Length; i++)
            {
                Spawner.PrimaryMeshRenderers[i].material.color = Spawner.Allegiance == UnitAllegiance.friendly ? CurrentSet.PrimaryFriendlyColor : CurrentSet.PrimaryEnemyColor;
            }
            for (int i = 0; i < Spawner.SecondaryMeshRenderers.Length; i++)
            {
                Spawner.SecondaryMeshRenderers[i].material.color = Spawner.Allegiance == UnitAllegiance.friendly ? CurrentSet.SecondaryFriendlyColor : CurrentSet.SecondaryEnemyColor;
            }
        }
        else
        {
            for (int i = 0; i < Spawner.PrimaryMeshRenderers.Length; i++)
            {
                DOTween.Kill(Spawner.PrimaryMeshRenderers[i].material.GetInstanceID());
                Spawner.PrimaryMeshRenderers[i].material.DOColor(Spawner.Allegiance == UnitAllegiance.friendly ? CurrentSet.PrimaryFriendlyColor : CurrentSet.PrimaryEnemyColor, Time);
            }
            for (int i = 0; i < Spawner.SecondaryMeshRenderers.Length; i++)
            {
                DOTween.Kill(Spawner.SecondaryMeshRenderers[i].material.GetInstanceID());

                Spawner.SecondaryMeshRenderers[i].material.DOColor(Spawner.Allegiance == UnitAllegiance.friendly ? CurrentSet.SecondaryFriendlyColor : CurrentSet.SecondaryEnemyColor, Time);
            }
        }
    }
    void Start()
    {
        _waveValue = 0;
        _waveText  = GameObject.Find("ShowWave");

        _spawnerController = GameObject.Find("Spawner");
        _unitSpawner       = _spawnerController.GetComponent <UnitSpawner>();
    }
Beispiel #17
0
 void Start()
 {
     if (Config != null)
     {
         UnitSpawner spawner = gameObject.AddComponent <UnitSpawner>();
         spawner.SpawnUnit(Config, new M_Math.R_Range(1, 5), 0, true);
     }
 }
Beispiel #18
0
 void Start()
 {
     _waveController = GameObject.Find("Spawner");
     _waveStarter    = _waveController.GetComponent <UnitSpawner>();
     _timer          = 30f;
     _timerText      = GameObject.Find("TimeText");
     _enemies        = GameObject.FindGameObjectsWithTag("Enemy");
 }
Beispiel #19
0
 public override void Update(GameTime gameTime)
 {
     moneyLabel.Text = "Money: " + level.player1Base.Money;
     removeObjectsFromScene();
     ReadDebugKeyboard();
     UnitSpawner.Update(gameTime);
     base.Update(gameTime);
 }
 void Start()
 {
     toggle = GetComponent <Toggle>();
     toggle.onValueChanged.AddListener(delegate {
         ToggleValueChanged(toggle);
     });
     spawner = GameObject.FindGameObjectWithTag("UnitSpawner").GetComponent <UnitSpawner>();
 }
    void Start()
    {
        _waveValue = 0;
        _waveText = GameObject.Find("ShowWave");

        _spawnerController = GameObject.Find("Spawner");
        _unitSpawner = _spawnerController.GetComponent<UnitSpawner>();
    }
Beispiel #22
0
    /* TODO LIST:
     * - sometimes is better to not do anything
     */


    public void Initialize(List <Line> lines, GoldController goldController, Outpost outpost)
    {
        _lines = lines;
        aiUnitScanner.Initialize(lines);
        _goldController = goldController;
        _outpost        = outpost;
        _unitSpawner    = GetComponent <UnitSpawner>();
    }
 protected override void UnitDeath()
 {
     if (UnitTracker.GetActiveEnemyCount() == 0 && !bossSpawned)
     {
         UnitSpawner.SpawnUnit(UnitReferences.EnemyBattleship, new Vector3(0, 100, 200));
         bossSpawned = true;
     }
 }
Beispiel #24
0
 // Use this for initialization
 void Start()
 {
     unitrb2d = this.GetComponent <Rigidbody2D>();
     manager  = transform.parent.gameObject;
     limit    = manager.GetComponent <UnitSpawner>();
     //velocity = UnityEngine.Random.insideUnitCircle * 0.2f;
     //location = this.transform.position;
 }
 void Start()
 {
     _waveController = GameObject.Find("Spawner");
     _waveStarter = _waveController.GetComponent<UnitSpawner>();
     _timer = 30f;
     _timerText = GameObject.Find("TimeText");
     _enemies = GameObject.FindGameObjectsWithTag("Enemy");
 }
    // Use this for initialization
    void Start()
    {
        if (Time.timeScale != 1)
        {
            Time.timeScale = 1;
        }

        UnitSpawner.SpawnUnitsInArea(UnitReferences.PlayerFighter1, 1, playerSpawn);
    }
    private void Awake()
    {
        instance      = this;
        entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
        //selectionBox.gameObject.SetActive( false );

        pathfindingGraph = new PathfindingGraph();
        UnitSpawner unitSpawner = new UnitSpawner(unitMesh, unitMaterial);
    }
Beispiel #28
0
    //Scripts

    void Awake()
    {
        _findSpawner        = GameObject.Find("Spawner");
        _checkWaveRunning   = _findSpawner.GetComponent <UnitSpawner>();
        _scoreController    = GameObject.Find("ScoreController");
        _checkCoins         = _scoreController.GetComponent <CoinsController>();
        _messagesController = GameObject.Find("MessageController");
        _checkMessage       = _messagesController.GetComponent <Messages>();
    }
Beispiel #29
0
    public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
    {
        var spawnerData = new UnitSpawner
        {
            Prefab = conversionSystem.GetPrimaryEntity(Prefab),
        };

        dstManager.AddComponentData(entity, spawnerData);
    }
Beispiel #30
0
 private void Start()
 {
     m_mode           = GameMode.Instance;
     m_timer          = Timer.Instance;
     m_spawner        = UnitSpawner.Instance;
     m_selectedUnits  = new List <Unit>();
     m_selectionStart = Vector2.zero;
     m_selectionStart = m_selectionEnd;
 }
Beispiel #31
0
    // Use this for initialization
    void Awake()
    {
        instance = this;

        UnitTracker.Clear();
        ProjectileTracker.Clear();

        UnitSpawner.SpawnUnit(GameSettings.CurrentPlayerShip, currentLevelController.CurrentPlayerSpawn.transform.position, RotationCalculator.RotationTowardLocation(currentLevelController.CurrentPlayerSpawn.transform.position, currentLevelController.PositionPlayerLooksAtSpawn));
    }
 // Use this for initialization
 void Start()
 {
     UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 5, enemySpawns[0]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 10, enemySpawns[1]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyFighter1, 5, enemySpawns[2]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyCruiserLight1, 1, enemySpawns[0]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.EnemyCruiserLight1, 1, enemySpawns[1]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.AlliedFighter1, 5, allySpawns[0]);
     UnitSpawner.SpawnUnitsInArea(UnitReferences.AlliedFighter1, 5, allySpawns[1]);
 }
Beispiel #33
0
    private void Awake()
    {
        selfUnit      = GetComponent <Unit>();
        selfRigidbody = selfUnit.selfRigidbody;
        selfCollider  = selfUnit.selfCollider;
        UnitSpawner spawner = GetComponentInParent <UnitSpawner>();

        map       = spawner.map;
        flowField = spawner.flowField;
    }
Beispiel #34
0
 public StateReady(UnitSpawner owner)
 {
     this.owner = owner;
 }
Beispiel #35
0
 public StateOpen(UnitSpawner owner)
 {
     this.owner = owner;
 }
Beispiel #36
0
        //private int tweenId;


        public StatePush(UnitSpawner owner)
        {
            this.owner = owner;
        }
Beispiel #37
0
 public StateClose(UnitSpawner owner)
 {
     this.owner = owner;
 }
Beispiel #38
0
 public StateIdle(UnitSpawner unitSpawner)
 {
     this.unitSpawner = unitSpawner;
 }
Beispiel #39
0
 public StateWait(UnitSpawner owner)
 {
     this.owner = owner;
 }