Ejemplo n.º 1
0
    public void Interact(GameObject go)
    {
        if (_claimable)
        {
            CharacterBase characterInstance = go.GetComponent <CharacterBase>();
            CharacterData characterData     = characterInstance.Character;

            characterInstance.RecruitToSettlement(settlement);

            settlement.ClaimSettlement(characterData);
            settlement.SpawnUpgradeMarkers();
            _claimable = false;
        }
        else
        {
            //Open the settlement UI
            GameObject         settlementUI       = Instantiate(settlementUIPrefab);
            ResourcesUIHandler resourcesUIHandler = settlementUI.GetComponentInChildren <ResourcesUIHandler>();
            resourcesUIHandler.settlementData = settlement.SettlementData;

            SettlementInfoUIHandler infoUIHandler = settlementUI.GetComponentInChildren <SettlementInfoUIHandler>();
            infoUIHandler.settlementData = settlement.SettlementData;
            infoUIHandler.UpdateCapacityText();

            //Lock cam state
            Cursor.lockState = CursorLockMode.Confined;
            Camera.main.GetComponent <CharacterLook>().lockCamRotation = true;
        }
    }