コード例 #1
0
 public FactionDisplay(FactionInteraction factionInteraction,
                       UnityObjectManager objectManager,
                       FactionsInteractionManager interactionManager,
                       MapInteraction mapInteraction)
 {
     _objectManager          = objectManager;
     _mapInteraction         = mapInteraction;
     _unityObject            = objectManager.GetUnityObject(factionInteraction.Faction);;
     Faction                 = _unityObject.Faction;
     _unityObject.Text.text  = Faction.Name;
     _unityObject.Text.color = Faction.Color;
     _interactionManager     = interactionManager;
     _factionInteraction     = factionInteraction;
     _orderIndicators        = objectManager.GetOrderIndicatorsFor(factionInteraction.Faction).ToList().AsReadOnly();
 }
コード例 #2
0
    private ReadOnlyDictionary <Faction, FactionUnityObject> MakeFactionObjects(Canvas hudCanvas,
                                                                                GameObject factionsPrefab,
                                                                                IEnumerable <PlayerSetup> playerSetups)
    {
        Dictionary <Faction, FactionUnityObject> ret = new Dictionary <Faction, FactionUnityObject>();
        int indexer = 0;

        foreach (PlayerSetup playerSetup in playerSetups)
        {
            GameObject         gameObject = GameObject.Instantiate(factionsPrefab, hudCanvas.transform);
            FactionUnityObject obj        = gameObject.GetComponent <FactionUnityObject>();
            obj.Faction     = playerSetup.Faction;
            gameObject.name = playerSetup.Faction.Name + " hud";
            ((RectTransform)gameObject.transform).offsetMax = new Vector2(0, -indexer * 10);

            ret.Add(playerSetup.Faction, obj);
            indexer++;
        }
        return(new ReadOnlyDictionary <Faction, FactionUnityObject>(ret));
    }