Ejemplo n.º 1
0
        public void StartLevel(LevelData levelData)
        {
            _blocks    = new List <Block>();
            _levelData = levelData;
            _setLevelNameSignal.Fire(levelData.LevelName);
            _headQuarter = _hqPool.Spawn();
            _headQuarter.transform.position = levelData.HqPosition;
            _playerSpewnPoint = levelData.PlayerSpawnVector3;
            GetMapFromTexture(_levelData.LevelGeometry);
            _mapData = new MapData(_levelData.LevelGeometry);
            _collidedWithBlockSignal += onCollidedWithBlock;
            _enemySpawnController     = new EnemySpawnController();
            _enemySpawnController.Init(15, levelData.EnemySpawnPoints, _enemyPool, _mapData);

            _player = _playerPool.Spawn();
            _player.Player.Position   = _playerSpewnPoint;
            _player.Player.LifesCount = 3;

            _enemySpawnController.InitialSpawnAtStart();

            EnemyTankCount tankCount = new EnemyTankCount();

            tankCount.AllTanksCount    = _enemySpawnController.UnitsCount;
            tankCount.InGameTanksCount = _killedTankCount;
            _setPlayerLifesSignal.Fire(_player.Player.LifesCount);
            _setEnemyTankCountSignal.Fire(tankCount);
            SendTankCountInfo();
        }
Ejemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        GM_Script       = GameObject.Find("GameManager").GetComponent <GameManager>(); //환경을 바꾸기 위해서 GameManager.cs 안의 Change_RGBValue 함수를 쓰기 위해 가지고 온 컴포넌트입니다.
        HQ_Script       = GetComponent <HeadQuarter>();                                //자신의 HQ의 정보를 받아오기 위해 씁니다.
        Is_Toggled      = false;                                                       //현재 주문을 사용하고 있는지를 나타내는 변수입니다.
        Spell_ID        = 0;                                                           //Spell_ID의 값에 따라 시전되는 Spell이 달라집니다. 기본값인 0의 의미는 Spell이 시전되지 않는다라는 의미입니다.
        Attack_Spell_ID = 0;                                                           //Attack_Spell_ID의 값에 따라 시전되는 Attack Spell이 달라집니다. 기본값인 0의 의미는 Spell이 시전되지 않는다라는 의미입니다.
        Is_Attacking    = false;
        How_Many_Lasers = 0;

        for (int i = 0; i < 5; i++) //초기화
        {
            Spell_FinishedTime[i] = -30f;
        }
    }
Ejemplo n.º 3
0
        public async Task <ActionResult <Response <HeadQuarter> > > Post([FromBody] HeadQuarter HeadQuarter)
        {
            Response <HeadQuarter> response = new Response <HeadQuarter>();

            try
            {
                response.Code    = EnumResponseCode.OK.GetHashCode();
                response.Message = EnumResponseCode.OK.ToString();
                response.Content = await _service.Add(HeadQuarter);
            }
            catch (Exception ex)
            {
                response.Code    = EnumResponseCode.ServerError.GetHashCode();
                response.Message = "Error al guardar el equipo";
            }
            return(response);
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <Response <HeadQuarter> > > Put(int id, [FromBody] HeadQuarter HeadQuarter)
        {
            Response <HeadQuarter> response = new Response <HeadQuarter>();

            try
            {
                _service.Update(HeadQuarter);
                response.Code    = EnumResponseCode.OK.GetHashCode();
                response.Message = EnumResponseCode.OK.ToString();
            }
            catch (Exception ex)
            {
                response.Code    = EnumResponseCode.ServerError.GetHashCode();
                response.Message = "Error al actualizar el equipo";
            }
            return(response);
        }
Ejemplo n.º 5
0
        public void OnBuildingSelection(string building)
        {
            Building b = this.Buildings.FirstOrDefault(keyValPair => keyValPair.Key == this.ActConsBlockPos).Value;
            Dictionary <byte, int> actualRessources = null;

            if (b != null)
            {
                if (b.Built)
                {
                    return;
                }
                actualRessources = b.ActualRessources;
            }

            switch (building)
            {
            case "HQ":
                b = new HeadQuarter(this.mStateMgr, this.mIsland, this.mRTSManager.PlayerRTS);
                break;

            case "CD":
                b = new CrystalDrill(this.mStateMgr, this.mIsland, this.mRTSManager.PlayerRTS);
                break;

            case "RF":
                b = new RobotFactory(this.mStateMgr, this.mIsland, this.mRTSManager.PlayerRTS);
                break;

            case "G":
                b = new Generator(this.mStateMgr, this.mIsland, this.mRTSManager.PlayerRTS);
                break;
            }

            if (actualRessources == null)
            {
                actualRessources = b.NeededRessources.Keys.ToDictionary(key => key, key => 0);
            }
            b.ActualRessources = actualRessources;
            if (!this.Buildings.ContainsKey(this.ActConsBlockPos))
            {
                this.Buildings.Add(this.ActConsBlockPos, b);
            }
            b.DrawRemainingRessource();
        }
Ejemplo n.º 6
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Unit")
        {
            collidedUnit = collision.gameObject.GetComponent <Unit>();

            if (collidedUnit.Team != Parent.Team)
            {
                Parent.Add_Enemy(collision.transform);
            }
        }
        else if (collision.gameObject.tag == "HQ")
        {
            collidedHQ = collision.gameObject.GetComponent <HeadQuarter>();

            if (collidedHQ.Team != Parent.Team)
            {
                Parent.Add_Enemy(collision.transform);
            }
        }
    }
Ejemplo n.º 7
0
 public virtual async void Update(HeadQuarter HeadQuarter)
 {
     _iDBMaxiOrdersRepositories.HeadQuarters.Update(HeadQuarter);
     _iDBMaxiOrdersRepositories.Commit();
 }
Ejemplo n.º 8
0
 public virtual async Task <HeadQuarter> Add(HeadQuarter HeadQuarter)
 {
     _iDBMaxiOrdersRepositories.HeadQuarters.Add(HeadQuarter);
     _iDBMaxiOrdersRepositories.Commit();
     return(HeadQuarter);
 }
 // Use this for initialization
 void Start()
 {
     hqScript = HeadQuarter.GetComponent<HeadQuarter>();
 }
 void Start()
 {
     //HQ
     hqScript = HeadQuarter.GetComponent<HeadQuarter>();
     sideBarStartX = Screen.width;
     sideBarEndX = Screen.width - sideBarWidth;
     sideBarX = sideBarStartX;
     //HQ END
 }