Example #1
0
    public void SubCharacter(CharacterInfo characterInfo)
    {
        IsSubCharacter = true;

        if (characterDataSheet.TryGetCharacterTribe(characterInfo.id, out var tribe))
        {
            TribeInfo tribeInfo = new TribeInfo(tribe, characterInfo.id);

            if (deployedTribes.ContainsKey(tribeInfo))
            {
                --deployedTribes[tribeInfo];

                if (deployedTribes[tribeInfo] == 0)
                {
                    deployedTribes.Remove(tribeInfo);
                    SubAppliedTribe(tribeInfo.tribe);
                }
            }
            else
            {
                Debug.Log("Error No Tribes");
            }
        }

        if (characterDataSheet.TryGetCharacterOrigin(characterInfo.id, out var origin))
        {
            OriginInfo originInfo = new OriginInfo(origin, characterInfo.id);

            if (deployedOrigins.ContainsKey(originInfo))
            {
                --deployedOrigins[originInfo];

                if (deployedOrigins[originInfo] == 0)
                {
                    deployedOrigins.Remove(originInfo);
                    SubAppliedOrigin(originInfo.origin);
                }
            }
            else
            {
                Debug.Log("Error No Origins");
            }
        }

        UpdateApplySynergy();
    }
Example #2
0
    public void AddCharacter(CharacterInfo characterInfo)
    {
        IsSubCharacter = false;

        if (characterDataSheet.TryGetCharacterTribe(characterInfo.id, out var tribe))
        {
            TribeInfo tribeInfo = new TribeInfo(tribe, characterInfo.id);
            currentAddTribe = tribe;

            if (deployedTribes.ContainsKey(tribeInfo))
            {
                ++deployedTribes[tribeInfo];
            }
            else
            {
                deployedTribes.Add(tribeInfo, 1);
                AddAppliedTribe(tribeInfo.tribe);
            }
        }

        if (characterDataSheet.TryGetCharacterOrigin(characterInfo.id, out var origin))
        {
            OriginInfo originInfo = new OriginInfo(origin, characterInfo.id);
            currentAddOrigin = origin;

            if (deployedOrigins.ContainsKey(originInfo))
            {
                ++deployedOrigins[originInfo];
            }
            else
            {
                deployedOrigins.Add(originInfo, 1);
                AddAppliedOrigin(originInfo.origin);
            }
        }

        UpdateApplySynergy();
    }
Example #3
0
    public override bool Equals(object obj)
    {
        TribeInfo tribeInfo = obj as TribeInfo;

        return((tribeInfo.tribe == tribe && tribeInfo.id == id) ? true : false);
    }