public bool BuyItem(Script_Item item) { var entry = ShopEntries.Find(x => x.Item == item); var inventory = Script_GameManager.GetInstance().Inventory; if (entry.Item != null && inventory.Currency >= entry.Price) { //Remove item from shop --entry.Item.Amount; if (entry.Item.Amount <= 0) { ShopEntries.Remove(entry); } //Adjust currency inventory.Currency -= entry.Price; //Move item to inventory inventory.AddItem(entry.Item); //Refresh shop panel Script_GameManager.GetInstance().UIManager.ShopPanel.Refresh(); //Refresh inventory if open if (Script_GameManager.GetInstance().UIManager.InventoryPanel.IsActive()) { Script_GameManager.GetInstance().UIManager.InventoryPanel.Refresh(); } return(true); } return(false); }
public Script_Enemy(Script_GameManager p_manager, Script_Grid p_grid, Vector3Int p_gridLocation) { _attackRange = 1; _engageTargetRange = 3; _threatMultiplier = 1; _stats = new EntityStats(10, 0, 100, 1.5f); _targetToAttack = null; _threatDictionary = new Dictionary <Script_IFriendly, int> (); _health = _stats._maxHealth; _manager = p_manager; _grid = p_grid; _gridLocation = p_gridLocation; _position = p_gridLocation; _gameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); _gameObject.name = "EnemyObject"; _objectMaterial = _gameObject.GetComponent <Renderer>().material; _objectMaterial.color = Color.red; _gameObject.transform.position = p_gridLocation; InitializeThreatList(); InitializeBehaviourTree(); }
private GameObject GetFreeTextObject() { foreach (var o in _textPool) { //Return first inactive object in pool if (!o.activeSelf) { o.SetActive(true); var routine = DeactivateAfterTime(.5f, o); Script_GameManager.GetInstance().StartCoroutine(routine); return(o); } } //If no objects available, create new one and add to pool var obj = GameObject.Instantiate(_textPrefab); _textPool.Add(obj); obj.transform.SetParent(_poolHolder.transform); //Deactivate text after a time var coroutine = DeactivateAfterTime(.5f, obj); Script_GameManager.GetInstance().StartCoroutine(coroutine); return(obj); }
public Script_Wolf(Vector3 p_position, Script_GameManager p_gameManager, Script_Grid p_grid, Quaternion p_rotation) { _wolfObject = GameObject.CreatePrimitive(PrimitiveType.Cube); _wolfObject.name = "WolfObject"; _wolfObject.transform.position = p_position; _wolfObject.transform.rotation = p_rotation; _material = _wolfObject.GetComponent <Renderer>().material; _material.color = Color.black; _speed = 0.033f; _size = 0.5f; _movementDecay = 0.01f; _actionDecay = 0.1f; _sensingRange = 2; _sheepBeingEaten = null; _maxHealth = 10.0f; _health = 5.0f; _healthNeededToReproduce = _maxHealth * 0.75f; _decidedAction = DecidedAction.Wandering; _actDelegate = null; _tilesWithinRange = new List <Script_Tile> (); _sheepWithinRange = new List <Script_Sheep> (); _surroundingTiles = new List <Script_Tile> (); _grid = p_grid; _occupiedLocation = GetCurrentGridPosition(); _targetLocation = GetCurrentGridPosition(); OccupyNewLocation(GetCurrentGridPosition()); }
//Object that finishes game when object is in trigger public void OnTriggerEnter(Collider other) { if (other.tag == "Player") { Script_GameManager.GetInstance().CompleteGame(true); } }
public void UnEquip(Script_Item item) { if (item != null && item.Equiped) { item.Equiped = false; if (item == Weapon) { Weapon = null; } if (item == Helm) { Helm = null; } if (item == Chest) { Chest = null; } if (item == Legs) { Legs = null; } //Switch inventory image from equiped to unequiped Script_GameManager.GetInstance().UIManager.InventoryPanel.SwitchItemInventoryList(item.UIItem); } }
public override void Refresh() { foreach (Transform child in _equipedGrid) { Destroy(child.gameObject); } foreach (Transform child in _inventoryGrid) { Destroy(child.gameObject); } foreach (var item in Script_GameManager.GetInstance().Inventory.GetEquipedItems()) { var obj = Instantiate(_inventoryImagePrefab); obj.SetItem(item); obj.VisualType = Script_VisualItemUI.VisualItemType.Inventory; obj.transform.SetParent(_equipedGrid); } foreach (var item in Script_GameManager.GetInstance().Inventory.GetUnEquipedItems()) { var obj = Instantiate(_inventoryImagePrefab); obj.SetItem(item); obj.VisualType = Script_VisualItemUI.VisualItemType.Inventory; obj.transform.SetParent(_inventoryGrid); } _currencyText.text = Script_GameManager.GetInstance().Inventory.Currency + " G"; }
void Awake() { //This needs to go first, or we get problems myAnim = GetComponent <Animator>(); //If you don't have a controller plugged in, the game is UNPLAYABLE player = InputManager.Devices[playerNumber]; mybody = GetComponent <Rigidbody2D>(); particles = GetComponentsInChildren <ParticleSystem>(); //gets the game managers script myGM = GameObject.Find("GameManager").GetComponent <Script_GameManager>(); //Gets dash move from the game object myDashMove = gameObject.GetComponent <Script_DashMove>(); //Gets dash particles from the game object myDashParticles = gameObject.transform.Find("Dash Particles").GetComponent <ParticleSystem>(); //Gets dash particles from the game object myTaggedParticles = gameObject.transform.Find("Tagged Particles").GetComponent <ParticleSystem>(); //finds child dash particles with name "Dash Particles" audioManager = GameObject.FindObjectOfType <AudioManager>(); }
private void ShopClick() { //Buy item if possible if (Script_GameManager.GetInstance().UIManager.ShopPanel.AttachedKeeper.BuyItem(_attachedItem)) { ItemNameDisplay.SetActive(false); } }
public void Init(GameObject creator, Vector2 initialPosition, Vector2 Right) { Creator = creator; transform.position = initialPosition; angle = Right; GameManage = GameObject.Find("GameManager").GetComponent <Script_GameManager>(); }
public Script_Action_Heal(Script_BehaviourTree p_tree, Script_GameManager p_manager, blackboard_flags p_targetEnemyFlag, blackboard_flags p_locationAnchorPointFlag, Script_IEntity p_entityToAttack, blackboard_flags p_isForwardSwingFlag) { _manager = p_manager; _tree = p_tree; _targetEnemyFlag = p_targetEnemyFlag; _entityToAttack = p_entityToAttack; _isForwardSwingFlag = p_isForwardSwingFlag; _swingDistance = _manager.GetTileSize() * 0.4f; }
private void Update() { //If player is close and presses e, open shop panel if (_playerInRange && Input.GetKeyDown(KeyCode.E)) { Script_GameManager.GetInstance().UIManager.ShopPanel.SetShopKeeper(this); Script_GameManager.GetInstance().UIManager.ShopPanel.SwitchState(); } }
public void ShowGameComplete(bool win) { var endScreen = GameObject.Instantiate(Resources.Load <GameObject>("Prefabs/UI/GameCompleteScreen")); endScreen.transform.GetChild(0).GetComponent <Text>().text = win ? "Game Completed" : "Game Over"; endScreen.transform.GetChild(1).GetComponent <Button>().onClick.AddListener(Script_GameManager.GetInstance().ResetScene); endScreen.transform.SetParent(Canvas.transform); endScreen.transform.SetAsLastSibling(); endScreen.transform.localPosition = Vector3.zero; }
public void Start() { if (ItemNameDisplay == null) { ItemNameDisplay = Instantiate(Resources.Load <GameObject>("Prefabs/UI/ItemNameDisplay")); } ItemNameDisplay.transform.SetParent(Script_GameManager.GetInstance().UIManager.Canvas.transform); _itemDisplayText = ItemNameDisplay.transform.GetChild(1).GetComponent <Text>(); ItemNameDisplay.SetActive(false); }
private void Awake() { if (Instance == null) { Instance = this; } else { Destroy(this); } }
private void Awake() { if (Instance == null) { Instance = this; } else if (Instance != this) { Destroy(gameObject); } }
public void Show() { if (!_active) { ++Script_GameManager.GetInstance().UIManager.ActivePanels; Time.timeScale = 0f; } gameObject.SetActive(true); transform.SetAsLastSibling(); Refresh(); _active = true; }
public Script_TradingPost(Script_GameManager p_gameManager, Script_Grid p_grid, Vector3Int p_gridPosition) { _meshObjectName = "ObjectTradingPost"; _meshObjectColor = new Color(1.0f, 0.2f, 0.0f); _meshObjectScale = new Vector3(0.8f, 0.8f, 0.8f); _startLocation = p_gridPosition; _gridPosition = p_gridPosition; _gameManager = p_gameManager; CreateGameObject(); }
public Script_TileGrass(Script_GameManager p_gameManager, Script_Grid p_grid, Vector3Int p_position) { _meshObjectName = "ObjectSpaceGrass"; _meshObjectColor = new Color(0.0f, 1.0f, 0.0f); _meshObjectScale = new Vector3(0.1f, 0.1f, 0.1f); _isWalkable = true; _position = p_position; _gameManager = p_gameManager; CreateGameObject(); }
public int GetAttackDamage() { if (_attachedCharacter.CharType == Script_Character.CharacterType.Dog) { return(_attachedCharacter.Attack); } int equipedBoost = 0; Script_GameManager.GetInstance().Inventory.GetEquipedItems().ForEach(x => equipedBoost += x.AttackBoost); return((int)(equipedBoost * GetCurrentChargePercentage()) + _attachedCharacter.Attack); }
public virtual void Hide() { if (_active) { --Script_GameManager.GetInstance().UIManager.ActivePanels; if (Script_GameManager.GetInstance().UIManager.ActivePanels == 0 && !Script_GameManager.GetInstance().GameOver) { Time.timeScale = 1f; } } gameObject.SetActive(false); _active = false; }
public void Destruct(Script_Weapon sendWeapon) { if (sendWeapon == null) { return; } //Destroy object if hit by correct type of weapon if (sendWeapon.WeapType == TypeToDestroy || TypeToDestroy == Script_Weapon.WeaponType.None) { Destroy(gameObject); Script_GameManager.GetInstance().Inventory.Currency += _currencyReward; } }
public Script_Projectile(Script_GameManager p_manager, Script_IEntity p_startEntity, Script_IEntity p_targetEntity, Color p_color) { _manager = p_manager; _targetEntity = p_targetEntity; _startEntity = p_startEntity; _speed = 3.0f; _projectileObject = GameObject.CreatePrimitive(PrimitiveType.Cube); _projectileObject.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); _projectileObject.name = "DamageDealerProjectileObject"; _objectMaterial = _projectileObject.GetComponent <Renderer>().material; _objectMaterial.color = p_color; _projectileObject.transform.position = _startEntity.GetGridLocation(); }
void Attack() { //Left mouse button pressed if (Input.GetMouseButtonDown(0) && Script_GameManager.GetInstance().UIManager.ActivePanels == 0) { //Attack with weapon if you have one if (_attachedCharacter.Weapon != null) { //Check what was hit by weapon var hit = _attachedCharacter.Weapon.GetHitObjects(this); foreach (var o in hit) { //Deal damage to hit enemies if (o.tag == "Enemy") { var es = o.GetComponent <Script_EnemyBehaviour>(); if (es != null) { es.GetAttachedCharacter().TakeDamage(GetAttackDamage()); } } //Destruct destructables if (o.tag == "Destructable") { var ds = o.GetComponent <Script_Destructable>(); if (ds != null) { ds.Destruct(_attachedCharacter.Weapon); } } } } //Hit enemy right in front with "fist" else { RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, 2f, ~(1 << LayerMask.NameToLayer("Player")))) { if (hit.collider.tag == "Enemy") { hit.collider.GetComponent <Script_EnemyBehaviour>().GetAttachedCharacter().TakeDamage(GetAttackDamage()); } } } _currentChargeTimer = 0f; } }
// Use this for initialization void Awake() { gm = GameObject.Find("GameManager").GetComponent <Script_GameManager>(); if (gm == null) { //Debug.Log(gameObject + " DIDN'T FIND THE GAME MANAGER"); rb = GetComponent <Rigidbody2D>(); } //Asks the gm for which player to chase if tag mode is on if (gm.tagModeOn) { player = gm.tagModeInit(); } }
public void OnPointerEnter(PointerEventData eventData) { //Change item display to use this object name ItemNameDisplay.SetActive(true); _itemDisplayText.text = (_attachedItem != null ? _attachedItem.Name : "Dummy") + (_attachedItem.Amount > 1 ? " x" + _attachedItem.Amount : ""); //Add price at end of text if shop item if (VisualType == VisualItemType.Shop) { _itemDisplayText.text += " " + Script_GameManager.GetInstance().UIManager.ShopPanel.AttachedKeeper.ShopEntries .First(x => x.Item == _attachedItem).Price + "G"; } //Put display in front ItemNameDisplay.transform.SetAsLastSibling(); }
public override void Use() { bool canBeUsed = false; foreach (var character in Script_GameManager.GetInstance().CharacterManager.GetCharacters()) { if (character.CurrentHealth < character.MaxHealth) { character.Heal(_healAmount); canBeUsed = true; } } if (canBeUsed) { Script_GameManager.GetInstance().Inventory.RemoveItem(this); } }
public void RemoveItem(Script_Item item, int amount = 1) { //Find inventory slot of item type var inventoryItem = _itemList.First(x => x.Name == item.Name); if (inventoryItem != null) { //Remove amount of items inventoryItem.Amount -= amount; //Delete item type from inventory if none are left if (inventoryItem.Amount <= 0) { _itemList.Remove(inventoryItem); Script_GameManager.GetInstance().UIManager.InventoryPanel.Refresh(); } } }
// Use this for initialization void Start() { var uip1 = transform.GetChild(0); _playerUI1 = new PlayerUI { HealthText = uip1.transform.GetChild(0).GetComponent <Text>(), ChargeText = uip1.transform.GetChild(2).GetComponent <Text>(), TrackCharacter = Script_GameManager.GetInstance().CharacterManager.GetCharacters()[0].GetVisualCharacter() }; var uip2 = transform.GetChild(1); _playerUI2 = new PlayerUI { HealthText = uip2.transform.GetChild(0).GetComponent <Text>(), ChargeText = uip2.transform.GetChild(2).GetComponent <Text>(), TrackCharacter = Script_GameManager.GetInstance().CharacterManager.GetCharacters()[1].GetVisualCharacter() }; }
public Script_HealingVisualEffect(Script_GameManager p_manager, Script_IEntity p_entityToRecieveEffect) { _lifeTimer = 1.0f; _lifeTimerCurrent = 0.0f; _manager = p_manager; _effectObject = new GameObject(); _effectObject.name = "SheepObject"; _effectObject.transform.position = p_entityToRecieveEffect.GetPosition(); _textMesh = _effectObject.AddComponent <TextMesh> (); _textMesh.text = "Healing Target!"; _textMesh.fontSize = 8; _textMesh.color = Color.green; _textMesh.transform.rotation = Quaternion.Euler(90, 0, 0); _directionToMove = new Vector3(0.0f, 1.0f, 0.0f); }