示例#1
0
    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();
 }
示例#4
0
	internal override void Init (AInteractable a_unit)
	{
		base.Init (a_unit);
		_current = Mathf.Clamp(Mathf.CeilToInt(Max * startPercentage), 
								1,
								Max);
	}
示例#5
0
	internal override void Init (AInteractable a_unit)
	{
		base.Init (a_unit);
		attack.Init(_unit);
		defense.Init(_unit);
		hitpoints.Init(_unit);
	}
示例#6
0
    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.");
        }
    }
示例#7
0
    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.");
        }
    }
示例#8
0
    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();
	}
示例#10
0
    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);
    }
示例#11
0
    internal void OnTrySelection()
    {
        if (_selectedObject != null && _hoveredObjet != _selectedObject)
        {
            StopSelection();
        }

        _selectedObject = _hoveredObjet;

        if (_selectedObject != null)
        {
            StartSelection();
        }
    }
示例#12
0
    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();
    }
示例#13
0
    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);
    }
示例#14
0
 internal override void Init(AInteractable a_unit)
 {
     base.Init(a_unit);
     _effects = new List <EffectOverTime>();
 }
示例#15
0
	internal override void Init(AInteractable a_unit)
	{
		base.Init(a_unit);
		_unit = a_unit as Unit;
	}
示例#16
0
	internal override void Init (AInteractable a_unit)
	{
		base.Init (a_unit);
		animator = GetComponent<Animator>();
	}
示例#17
0
 internal override void Init(AInteractable a_interactable)
 {
     Unit = a_interactable as Unit;
     base.Init(a_interactable);
 }
示例#18
0
 public void RegisterObject(AInteractable interactableObject)
 {
     interactableObjects.Add(interactableObject);
 }
示例#19
0
 internal void StopSelection()
 {
     _selectedObject.onDeselection();
     _selectedObject = null;
 }
示例#20
0
 internal virtual void Init(AInteractable a_interactable)
 {
     _interactable = a_interactable;
     enabled       = true;
 }
示例#21
0
 public void UnregisterObject(AInteractable interactableObject)
 {
     interactableObjects.Remove(interactableObject);
 }
	internal virtual void Init(AInteractable a_interactable)
	{
		_interactable = a_interactable;
		enabled = true;
	}
	internal void StopHover()
	{
		if(_hoveredObjet != null)
			_hoveredObjet.OnHoverStop();
			
		_hoveredObjet = null;
	}
示例#24
0
 internal override void Init(AInteractable a_unit)
 {
     base.Init(a_unit);
     _unit = a_unit as Unit;
 }
	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;
	}
示例#27
0
 internal override void Init(AInteractable a_interactable)
 {
     Interactable = a_interactable;
     base.Init(a_interactable);
 }
示例#28
0
 internal override void Init(AInteractable a_unit)
 {
     base.Init(a_unit);
     animator = GetComponent <Animator>();
 }