internal override void Init(AInteractable a_unit) { base.Init(a_unit); if (_unit.UnitConf != null && _unit.UnitConf.defense != null) { general = _unit.UnitConf.defense.general.Compute(); physical = _unit.UnitConf.defense.physical.Compute(); slashing = _unit.UnitConf.defense.slashing.Compute(); crushing = _unit.UnitConf.defense.crushing.Compute(); piercing = _unit.UnitConf.defense.piercing.Compute(); magic = _unit.UnitConf.defense.magic.Compute(); fire = _unit.UnitConf.defense.fire.Compute(); frost = _unit.UnitConf.defense.frost.Compute(); lightning = _unit.UnitConf.defense.lightning.Compute(); bleed = _unit.UnitConf.defense.bleed.Compute(); poison = _unit.UnitConf.defense.poison.Compute(); spirit = _unit.UnitConf.defense.spirit.Compute(); } else { Debug.LogWarning("Unit Conf Issue in UnitDefense."); } }
internal override void Init (AInteractable a_interactable) { base.Init (a_interactable); _renderers = new List<InteractableRenderer>(); _state = 0; UpdateRenderersList(); }
internal override void Init(AInteractable a_interactable) { base.Init(a_interactable); _renderers = new List <InteractableRenderer>(); _state = 0; UpdateRenderersList(); }
internal override void Init (AInteractable a_unit) { base.Init (a_unit); _current = Mathf.Clamp(Mathf.CeilToInt(Max * startPercentage), 1, Max); }
internal override void Init (AInteractable a_unit) { base.Init (a_unit); attack.Init(_unit); defense.Init(_unit); hitpoints.Init(_unit); }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); if (_unit.UnitConf != null && _unit.UnitConf.attributes != null) { strength = new IntModified(); strength.BaseValue = _unit.UnitConf.attributes.strength; agility = new IntModified(); agility.BaseValue = _unit.UnitConf.attributes.agility; intelligence = new IntModified(); intelligence.BaseValue = _unit.UnitConf.attributes.intelligence; perception = new IntModified(); perception.BaseValue = _unit.UnitConf.attributes.perception; spirit = new IntModified(); spirit.BaseValue = _unit.UnitConf.attributes.spirit; charisma = new IntModified(); charisma.BaseValue = _unit.UnitConf.attributes.charisma; } else { Debug.LogWarning("Unit Conf Issue in UnitAttributes."); } }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); if (_unit.UnitConf != null && _unit.UnitConf.attack != null) { basicAttack = _unit.UnitConf.attack.basicAttack.Compute(); bonusPhysical = _unit.UnitConf.attack.physicalBonus.Compute(); bonusMagical = _unit.UnitConf.attack.magicalBonus.Compute(); criticalBonus = _unit.UnitConf.attack.criticalBonus.Compute(); criticalBonus.critChances.BaseValue += FFEngine.Game.Constants.CRITICAL_BASE_CHANCE; criticalBonus.damage.percent.BaseValue += FFEngine.Game.Constants.CRITICAL_DAMAGE_BONUS_PERCENT; criticalBonus.damage.flat.BaseValue += FFEngine.Game.Constants.CRITICAL_DAMAGE_BONUS_FLAT; criticalBonus.arpen.percent.BaseValue += FFEngine.Game.Constants.CRITICAL_ARMOR_PERCENT_REDUCTION; criticalBonus.arpen.flat.BaseValue += FFEngine.Game.Constants.CRITICAL_ARMOR_FLAT_REDUCTION; penetrationBonus = _unit.UnitConf.attack.penetratingBonus.Compute(); penetrationBonus.critChances.BaseValue += FFEngine.Game.Constants.PENETRATION_BASE_CHANCES; penetrationBonus.damage.percent.BaseValue += FFEngine.Game.Constants.PENETRATION_DAMAGE_BONUS_PERCENT; penetrationBonus.damage.flat.BaseValue += FFEngine.Game.Constants.PENETRATION_DAMAGE_BONUS_FLAT; penetrationBonus.arpen.percent.BaseValue += FFEngine.Game.Constants.PENETRATION_ARMOR_PERCENT_REDUCTION; penetrationBonus.arpen.flat.BaseValue += FFEngine.Game.Constants.PENETRATION_ARMOR_FLAT_REDUCTION; } else { Debug.LogWarning("Unit Conf Issue in UnitAttack."); } }
internal void StopHover() { if (_hoveredObjet != null) { _hoveredObjet.onHoverStop(); } _hoveredObjet = null; }
internal void OnTrySelection() { if(_selectedObject != null && _hoveredObjet == null) StopSelection(); _selectedObject = _hoveredObjet; if(_selectedObject != null) StartSelection(); }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); /*life.bonusIsFlatFirst = FFEngine.Game.Constants.LIFE_BONUS_IS_FLAT_FIRST; * life.malusIsFlatFirst = FFEngine.Game.Constants.LIFE_MALUS_IS_FLAT_FIRST;*/ OnStatsModification(); _current = Mathf.Clamp(Mathf.CeilToInt(Max * startPercentage), 1, Max); }
internal void OnTrySelection() { if (_selectedObject != null && _hoveredObjet != _selectedObject) { StopSelection(); } _selectedObject = _hoveredObjet; if (_selectedObject != null) { StartSelection(); } }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); if (walker != null) { walker.updateRotation = false; } _speed = new FloatModified(); if (walker != null) { BaseSpeed = walker.speed; } UpdateSpeed(); }
internal bool UpdateHover() { RaycastHit hit; Camera main = Camera.main; Ray ray = main.ScreenPointToRay(Input.mousePosition); // Hover Terrain if (Physics.Raycast(ray, out hit, 150f, 1 << LayerMask.NameToLayer("Terrain"))) { _hasTerrainPosition = true; _terrainPosition = hit.point; } else { _hasTerrainPosition = false; } //Hover Interactable if (Physics.Raycast(ray, out hit, 150f, 1 << LayerMask.NameToLayer("Interaction"))) { InteractionTarget target = hit.collider.GetComponent <InteractionTarget>(); AInteractable hovered = target.Interactable; if (hovered != null) { //Hovered success if (hovered != _hoveredObjet) { StopHover(); _hoveredObjet = hovered; StartHover(); } return(true); } } return(false); }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); _effects = new List <EffectOverTime>(); }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); _unit = a_unit as Unit; }
internal override void Init (AInteractable a_unit) { base.Init (a_unit); animator = GetComponent<Animator>(); }
internal override void Init(AInteractable a_interactable) { Unit = a_interactable as Unit; base.Init(a_interactable); }
public void RegisterObject(AInteractable interactableObject) { interactableObjects.Add(interactableObject); }
internal void StopSelection() { _selectedObject.onDeselection(); _selectedObject = null; }
internal virtual void Init(AInteractable a_interactable) { _interactable = a_interactable; enabled = true; }
public void UnregisterObject(AInteractable interactableObject) { interactableObjects.Remove(interactableObject); }
internal void StopHover() { if(_hoveredObjet != null) _hoveredObjet.OnHoverStop(); _hoveredObjet = null; }
internal bool CheckForHover() { RaycastHit hit; Camera main = Camera.main; Ray ray = main.ScreenPointToRay(Input.mousePosition); if(Physics.Raycast(ray, out hit, 150f, 1 << LayerMask.NameToLayer("Interaction"))) { AInteractable hovered = hit.collider.GetComponent<AInteractable>(); if(hovered != null) { //Hovered success if(hovered != _hoveredObjet) { StopHover(); _hoveredObjet = hovered; StartHover(); } return true; } } return false; }
internal void StopSelection() { _selectedObject.OnDeselection(); _selectedObject = null; }
internal override void Init(AInteractable a_interactable) { Interactable = a_interactable; base.Init(a_interactable); }
internal override void Init(AInteractable a_unit) { base.Init(a_unit); animator = GetComponent <Animator>(); }