コード例 #1
0
ファイル: UnitGraphics.cs プロジェクト: hexmachina/gizmoids
 public virtual void OnHealthChanged(GizLib.IntValueChange change)
 {
     if (change.value < change.lastValue)
     {
         StartCoroutine(DamagePhase(damageData.hitDuration));
     }
 }
コード例 #2
0
 protected void OnHealthChanged(GizLib.IntValueChange change)
 {
     if (change.value < 1)
     {
         SelfDestruct(true);
     }
 }
コード例 #3
0
    public void OnValueChanged(GizLib.IntValueChange change)
    {
        var currentDamageLevel = sheetIndex;

        if (change.value < triggerIncrement)
        {
            sheetIndex = 2;
        }
        else if (change.value == change.maxValue)
        {
            sheetIndex = 0;
        }
        else
        {
            sheetIndex = 3 - (int)(change.value / triggerIncrement);
            if (change.value % triggerIncrement > 0)
            {
                sheetIndex--;
            }
            if (sheetIndex < 0)
            {
                sheetIndex = 0;
            }
        }
        if (sheetIndex != currentDamageLevel)
        {
            Reskin();
        }
    }
コード例 #4
0
 private void OnHealthChange(GizLib.IntValueChange intValue)
 {
     if (intValue.value <= 0 && EnemySpawner.Instance)
     {
         for (int i = 0; i < spawn.Count; i++)
         {
             var   distance = Vector3.Distance(transform.position, Vector3.zero) + (0.555f * 2.5f);
             var   en       = EnemySpawner.Instance.SpawnEnemy(spawn[i], transform.position, Quaternion.Euler(0, 0, transform.eulerAngles.z));
             float offset   = 45;
             if (i % 2 == 0)
             {
                 offset *= -1f;
                 en.transform.localScale = new Vector3(en.transform.localScale.x * -1, en.transform.localScale.y, en.transform.localScale.z);
             }
             var degree = transform.eulerAngles.z + offset + 90;
             var target = Mathfx.GetPointOnCircle(distance, degree, Vector3.zero);
             en.mover.StartMovement(MoveType.Detour, en.mover.speed * 20, target);
             en.mover.onDetour.AddListener(en.unitGraphics.OnActivateTrigger);
             en.transform.eulerAngles = new Vector3(0, 0, transform.eulerAngles.z + offset);
         }
     }
 }