Esempio n. 1
0
    public void Init(SquadData squadData)
    {
        _squadData = squadData;

        _childrenList = GetComponentsInChildren <Transform>(true);

        squadData.SquadFiller  = _childrenList[1].gameObject;
        squadData.ZoneAttack   = _childrenList[2].gameObject;
        squadData.Highlighting = _childrenList[7].gameObject;
        _effectSmoke           = _childrenList[8].gameObject.GetComponent <ParticleSystem>();

        _squadControlPanelUI = squadData.SquadUI;
        _clickHandler        = squadData.ClickHandler;

        _squadMovement     = gameObject.AddComponent <SquadMovementPlayer>();
        _squadSelected     = gameObject.AddComponent <SquadSelectedPlayer>();
        _squadControlPanel = gameObject.AddComponent <SquadControlPanel>();
        _squadWeapon       = gameObject.AddComponent <SquadWeapon>();
        _damageDisplay     = GetComponent <DamageDisplay>();

        squadData.SquadFiller.GetComponent <SquadFiller>().Init(Color.blue);
        _squadMovement.Init(squadData);
        _squadSelected.Init(squadData);
        _squadControlPanel.Init(squadData);
        _squadWeapon.Init(squadData);
    }
    void Awake()
    {
        mRichAI            = GetComponent <RichAI>();
        mSquadData         = new SquadData();
        mUnitTransformList = new List <Transform>();
        mEnemySquadDic     = new Dictionary <int, SquadController>();

        InitAwake();

        mIdleState.mdGetInState  += SquadIdleGetInFunc;
        mIdleState.mdGetOutState += SquadIdleGetOutFunc;
        mIdleState.mdExcuteState += SquadIdleExcuteFunc;

        mWalkState.mdGetInState  += SquadWalkGetInFunc;
        mWalkState.mdExcuteState += SquadWalkExcuteFunc;
        mWalkState.mdGetOutState += SquadWalkGetOutFunc;

        mAttackState.mdGetInState  += SquadAttackGetInFunc;
        mAttackState.mdExcuteState += SquadAttackExcuteFunc;
        mAttackState.mdGetOutState += SquadAttackGetOutFunc;

        mPrepareState.mdGetInState  += SquadPrepareGetInFunc;
        mPrepareState.mdExcuteState += SquadPrepareExcuteFunc;
        mPrepareState.mdGetOutState += SquadPrepareGetOutFunc;

        mDieState.mdGetInState  += SquadDieGetInFunc;
        mDieState.mdExcuteState += SquadDieExcuteFunc;
        mDieState.mdGetOutState += SquadDieGetOutFunc;

        mStateMachine.StartWorking();
        EventManager.GetInstance().AddEventListener(EventId.SomeSquadDie, SomeSquadDie);
        EventManager.GetInstance().AddEventListener(EventId.ReSetPosition, ReSetPosition);
    }
Esempio n. 3
0
        private void FillSquads(object fillCardObj, object waitingCardObj, object buttonIndex)
        {
            SquadData filledSquad  = (SquadData)fillCardObj;
            SquadData waitingSquad = (SquadData)waitingCardObj;

            _view.FillSquad(filledSquad, waitingSquad, (int)buttonIndex);
        }
Esempio n. 4
0
 public void Init(SquadData squadData)
 {
     _squadData       = squadData;
     _animatorHammer  = squadData.SquadUI.GetComponent <HammerMovement>();
     _animatorTrigger = squadData.SquadUI.GetComponent <TriggerMovement>();
     ChangeAttackZone(_squadData.ActiveAttackZone);
 }
Esempio n. 5
0
 public void Init(SquadData squadData, GameObject zoneAtack, GameObject highlighting)
 {
     _zoneAtack     = zoneAtack;
     _squadData     = squadData;
     _zoneAttakList = zoneAtack.GetComponentsInChildren <SpriteRenderer>();
     _highlighting  = highlighting;
 }
Esempio n. 6
0
        public async Task <(SquadData?, string?)> GetSquadAsync(ClaimsPrincipal claim)
        {
            var scope   = _services.CreateScope();
            var manager = scope.ServiceProvider.GetRequiredService <UserManager <Trooper> >();

            var user = await manager.GetUserAsync(claim);

            if (user.Slot < Slot.Mynock && (int)user.Slot % 10 != 0)
            {
                var db    = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();
                var users = new HashSet <Trooper>();
                await db.Users.AsNoTracking().ForEachAsync(x =>
                {
                    if (x.Slot == user.Slot)
                    {
                        users.Add(x);
                    }
                });

                var data = new SquadData();
                foreach (var t in users)
                {
                    data.AssignTrooper(t);
                }

                return(data, user.Slot.ToString());
            }

            return(null, null);
        }
Esempio n. 7
0
 protected override void Start()
 {
     AssertHelper.Assert(SquadData != null, "Squad controller has no squad", this);
     AssertHelper.Assert(UpkeepFunction != null, "Squad has no resource manager", this);
     squadAverageMovement = SquadData.AverageMovement();
     name = string.Format("Squad ({0})", SquadData.Name);
     base.Start();
 }
Esempio n. 8
0
    public void Init(SquadData squadData)
    {
        _zoneAtack = squadData.ZoneAttack;
        _sizeSquad = squadData.Size;
        _factor    = squadData.Factor;

        _zoneAtackList = _zoneAtack.GetComponentsInChildren <Transform>();
    }
    public virtual void Start()
    {
        currentStructureCount = 1;

        audioManager    = AudioManager.instance;
        defenderSpawner = DefenderSpawner.instance;
        squadData       = GameManager.instance.squadData;
    }
Esempio n. 10
0
 public void ResetUI()
 {
     //--TODO
     unitId = 0;
     data   = null;
     bigHpImage.fillAmount = hpImage.fillAmount = 0;
     Seleceted(false);
     bigRoot.gameObject.SetActive(false);
     headImage.sprite = bgHeadImage;
 }
Esempio n. 11
0
        /* public void SetActive( bool active )
         * {
         *   this.active = active;
         *   gameObject.SetActive( active );
         * }*/

        public void SetValues(SquadData data)
        {
            squadName   = data.protoData.Name;
            this.metaId = data.protoData.ID;
            icon        = data.protoData.Icon;
            cost        = data.protoData.DeploymentCost;
            this.data   = data;

            RefreshItemInfo();
        }
Esempio n. 12
0
        private void ReceiveSquads(object cardsObj, object waitingCardObj)
        {
            List <SquadData> currentCards = (List <SquadData>)cardsObj;
            SquadData        waitingCard  = (SquadData)waitingCardObj;

            mark = DataManager.GetInstance().GetForceMark();

            _view.SetInitialSquads(currentCards, waitingCard);
            _view.InitSpecialCard();
        }
Esempio n. 13
0
 public void Write(SquadData value, bool includeID = true)
 {
     if (includeID)
     {
         Write(value.ID);
     }
     //Write(value.Base.ID); may do for checking
     Write(value.UnitName);
     Write(value.Amount);
 }
Esempio n. 14
0
    IEnumerator LoadUnitAssets(CBattleInfor tBattleInfor)
    {
        yield return(AssetLoadManager.LoadFromResource <Object>("SquadPrefab/Cylinder", (Object tObject) =>
        {
            mSquadAsset = tObject;
        }));

        yield return(AssetLoadManager.LoadFromResource <Object>("AimPrefab/AimObj", (Object tObject) =>
        {
            mAimAsset = tObject;
        }));

        for (int i = 0; i < tBattleInfor.objList.Count; i++)
        {
            SquadData tSquadData = new SquadData();
            tSquadData.SetSquadInfor(tBattleInfor.objList[i]);
            Tab_UnitTemplate  tUnitTpData    = TableManager.GetUnitTemplateByID(tSquadData.GetUnitTemplateID())[0];
            Tab_SkillTemplate tSkillTemplate = TableManager.GetSkillTemplateByID(tSquadData.SkillTemplateID)[0];
            yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitPath, (Object tObject) => {
                tSquadData.UnitAsset = tObject;
            }));

            yield return(AssetLoadManager.LoadFromResource <Object>(tSkillTemplate.UnitPath, (Object tObjcet) =>
            {
                tSquadData.SkillAsset = tObjcet;
            }));

            yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitSkillPath, (Object tObjcet) =>
            {
                tSquadData.UnitSkillAsset = tObjcet;
            }));

            yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitArrowPath, (Object tObjcet) =>
            {
                tSquadData.UnitArrowAsset = tObjcet;
            }));

            mSquadDataList.Add(tSquadData);
        }

        PrepareForBattle(mSquadGameObjDict, mSquadDataList);
        switch (mBattleState)
        {
        case BattleState.prepare:
            AddEmbateBornList();
            StartCoroutine(BattleStart());
            break;

        case BattleState.Start:

            break;
        }
        SetSquadEnemy();
    }
    void Start()
    {
        audioManager           = AudioManager.instance;
        squadData              = GameManager.instance.squadData;
        upgradeManager         = UpgradeManager.instance;
        upgradeNameText        = GameObject.Find("Upgrade Name Text").GetComponent <Text>();
        upgradeDescriptionText = GameObject.Find("Upgrade Description Text").GetComponent <Text>();

        if (upgradeUnlocked)
        {
            SetIconColor(Color.green);
        }
    }
Esempio n. 16
0
        public void SetValues(SquadData data, long unitId)
        {
            this.unitId = unitId;
            this.data   = data;
            //gameObject.name = unitId.ToString();

            AdjustHealth(unitMaxHp, unitMaxHp);

            Resource.GameResourceLoadManager.GetInstance().LoadAtlasSprite(data.protoData.Icon_box, delegate(string name, AtlasSprite atlasSprite, System.Object param)
            {
                itemImage.SetSprite(atlasSprite);
            }, true);

            unitNameText.text = data.protoData.Name;
        }
Esempio n. 17
0
    private GameObject CreateDirectionNavigator(SquadData squadData)
    {
        GameObject squadDirectionNavigator = new GameObject("SquadDirectionNavigator");

        squadDirectionNavigator.transform.SetParent(squadData.Squad.transform, false);

        squadDirectionNavigator.AddComponent <SpriteRenderer>();
        squadDirectionNavigator.GetComponent <SpriteRenderer>().sprite       = squadData.Squad.GetComponent <SpriteRenderer>().sprite;
        squadDirectionNavigator.GetComponent <SpriteRenderer>().color        = new Color(0, 0, 1, 0.3f);
        squadDirectionNavigator.GetComponent <SpriteRenderer>().sortingOrder = 3;

        squadDirectionNavigator.AddComponent <SquadDirectionNavigator>();
        squadDirectionNavigator.GetComponent <SquadDirectionNavigator>().Init(squadData);

        return(squadDirectionNavigator);
    }
Esempio n. 18
0
    public GameObject CreateSquad(GameObject squadUI, string name, Vector3 currentPosition, TypeArmy typeArmy)
    {
        GameObject squad = _creatorSquad.GetConcreteSquad(currentPosition, typeArmy);

        squad.name = name;
        squad.AddComponent <SquadAI>();

        SquadData squadData = SquadData.CreateSquadData(name, Side.AI, _clickHandler, squadUI);

        squadData.Squad = squad;

        squadData.DirectionNavigator = CreateDirectionNavigator(squadData);

        squad.GetComponent <Squad>().Init(squadData);
        return(squad);
    }
Esempio n. 19
0
 public void Depacketize(IReadablePacket packet)
 {
     for (var i = 0; i < _squadIds.Count; i++)
     {
         var id   = packet.ReadInt32();
         var data = _squads[id] = new SquadData();
         data.Formation = packet.ReadPacketizableWithTypeInfo <AbstractFormation>();
         data.Cache     = new FormationCache(data.Formation);
         data.Spacing   = packet.ReadSingle();
         var count = packet.ReadInt32();
         for (var j = 0; j < count; j++)
         {
             data.Members.Add(packet.ReadInt32());
         }
     }
 }
Esempio n. 20
0
 public void SetSquadEnemy()
 {
     foreach (var item in mSquadGameObjDict)
     {
         SquadController itemController = item.Value.GetComponent <SquadController>();
         SquadData       itemData       = item.Value.GetComponent <SquadController>().GetSquadData();
         foreach (var item2 in mSquadGameObjDict)
         {
             SquadController item2Controller = item2.Value.GetComponent <SquadController>();
             SquadData       item2Data       = item2.Value.GetComponent <SquadController>().GetSquadData();
             if (itemData.GetSquadCamp() != item2Data.GetSquadCamp())
             {
                 itemController.AddEnemy(item2Data.GetID(), item2Controller);
             }
         }
     }
 }
Esempio n. 21
0
    void Start()
    {
        abilityIconController = AbilityIconController.instance;
        squadData             = GameManager.instance.squadData;

        tooltipBackground = transform.GetChild(0).GetComponent <RectTransform>();
        tooltipText       = transform.GetChild(1).GetComponent <TextMeshProUGUI>();

        if (tooltipBackground.gameObject.activeSelf)
        {
            tooltipBackground.gameObject.SetActive(false);
        }
        if (tooltipText.gameObject.activeSelf)
        {
            tooltipText.gameObject.SetActive(false);
        }
    }
    public static SquadTagSharedComponentData ToComponentData(SquadData squadData, int squadId, Vector3 formationCenter)
    {
        var res = new SquadTagSharedComponentData()
        {
            data = squadData.Data,
            id   = new SquadTagSharedComponentData.RefInt()
            {
                value = squadId
            },
            unitCount = new SquadTagSharedComponentData.RefInt()
            {
                value = 0
            }
        };

        res.data.formationCenter = new float2(formationCenter.x, formationCenter.y);
        return(res);
    }
Esempio n. 23
0
        public void UpdateData(long unitId, SquadData squadData)
        {
            this.unitId = unitId;
            data        = squadData;

            if (unitMaxHp == 0)
            {
                AdjustHealth(1, 1);
            }
            else
            {
                AdjustHealth(unitMaxHp, unitMaxHp);
            }

            SetIconImage(headImage, data.protoData.Icon);

            RereshBigHeadUIInfo();
        }
Esempio n. 24
0
        /// <summary>Creates a new squad, only containing the entity of the specified squad component.</summary>
        /// <param name="squad">The squad.</param>
        private void MakeIdentitySquad(Squad squad)
        {
            // Get id and data slot, reset the data slot.
            var identitySquad = _squadIds.GetId();

            if (_squads[identitySquad] == null)
            {
                _squads[identitySquad] = new SquadData();
            }
            _squads[identitySquad].Members.Clear();
            _squads[identitySquad].Formation = Formations.None;
            _squads[identitySquad].Spacing   = DefaultFormationSpacing;
            _squads[identitySquad].Cache     = new FormationCache(Formations.None);

            // Add member to squad and let it know it's in it.
            _squads[identitySquad].Members.Add(squad.Entity);
            squad.SquadId = identitySquad;
        }
Esempio n. 25
0
    void Start()
    {
        levelLost = false;

        winCanvas.SetActive(false);
        loseCanvas.SetActive(false);

        audioManager = AudioManager.instance;
        squadData    = GameManager.instance.squadData;

        ApplyUnlock();

        attackerSpawners = FindObjectsOfType <AttackerSpawner>();
        foreach (AttackerSpawner spawner in attackerSpawners)
        {
            // Tally up the total number of attackers that will be in this level...once it reaches 0, we will know that the level is complete
            numberOfAttackers += spawner.totalAttackerCount;
        }
    }
Esempio n. 26
0
        public void AddUnit(int baseID, string name)
        {
            var _base = Get(baseID);
            var squad = _base.Squads.Where(s => s.InArmyOfBase != null && s.UnitName == name).FirstOrDefault();

            if (squad == null)
            {
                squad = new SquadData()
                {
                    InArmyOfBase = _base,
                    UnitName     = name,
                    Amount       = 1
                };
                _unitOfWork.SquadDataRepository.Add(squad);
            }
            else
            {
                squad.Amount++;
            }
        }
Esempio n. 27
0
    void Awake()
    {
        #region Singleton
        if (instance != null)
        {
            if (instance != this)
            {
                Debug.LogWarning("More than one instance of GameManager. Fix me!");
                Destroy(gameObject);
            }
        }
        else
        {
            instance = this;
        }
        #endregion

        squadData = GetComponent <SquadData>();

        LoadCurrentGame();
    }
    void Start()
    {
        audioManager    = AudioManager.instance;
        defenderSpawner = DefenderSpawner.instance;
        gm = GameManager.instance;
        resourceDisplay      = ResourceDisplay.instance;
        squadData            = GameManager.instance.squadData;
        squadHighlighter     = SquadHighlighter.instance;
        tooltip              = GameObject.Find("Tooltip").GetComponent <Tooltip>();
        deadCharactersParent = GameObject.Find("Dead Characters").transform;
        squadMask            = LayerMask.GetMask("Squads");

        for (int i = 0; i < transform.childCount; i++)
        {
            abilityIconButtons.Add(transform.GetChild(i).GetComponentInChildren <Button>());
            abilityIconImages.Add(abilityIconButtons[i].GetComponent <Image>());
            abilityIcons.Add(abilityIconButtons[i].GetComponent <AbilityIcon>());
            if (abilityIconButtons[i].gameObject.activeSelf)
            {
                abilityIconButtons[i].transform.parent.gameObject.SetActive(false);
            }
        }
    }
Esempio n. 29
0
    public void UseSkill(object parm)
    {
        int          tindex         = (int)parm;
        CG_SKILL_USE useSkillPacket = (CG_SKILL_USE)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SKILL_USE);

        useSkillPacket.SetSenderId(mSquadDataList[0].GetID());
        int tSkillid = mSquadGameObjDict[tindex].GetComponent <SquadController>().GetSquadData().mSkillIDList[0];

        useSkillPacket.SetSkillId(tSkillid);

        SquadData tSquadData = mSquadDataList[mSquadDataList.Count - 1];

        for (int i = 1; i < mSquadDataList.Count; i++)
        {
            if (mSquadDataList[i].GetSquadCamp() != mSquadDataList[0].GetSquadCamp())
            {
                tSquadData = mSquadDataList[i];
                break;
            }
        }
        useSkillPacket.SetTargetId(tSquadData.GetID());
        useSkillPacket.SetSceneId(mSceneID);
        useSkillPacket.SendPacket();
    }
Esempio n. 30
0
 public void Init(SquadData squadData)
 {
     _squadData          = squadData;
     _directionNavigator = squadData.DirectionNavigator;
 }