コード例 #1
0
ファイル: SplitBoss.cs プロジェクト: bbroeking/artemis
    // // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    // override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    // {

    // }

    //OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        GameObject enemy = (GameObject)LoadPrefab.LoadPrefabFromFile(PrefabPath.SplitSlime);

        Instantiate(enemy, animator.transform.position + ProjectileHelpers.GenerateRandomOffset(), animator.transform.rotation);
        Instantiate(enemy, animator.transform.position + ProjectileHelpers.GenerateRandomOffset(), animator.transform.rotation);
    }
コード例 #2
0
ファイル: Spellbook.cs プロジェクト: bbroeking/artemis
    public void SpawnFang(Vector2 position, MoveDirection moveDirection)
    {
        GameObject prefab = (GameObject)LoadPrefab.LoadPrefabFromFile("Projectiles/PlayerProjectiles/VenomFangProjectile");
        GameObject GO     = Instantiate(prefab, position, Quaternion.identity);

        GO.GetComponent <VenomFangProjectile>().target = player.transform.position - ProjectileHelpers.moveDirectionToNormalVector(moveDirection);
        GO.SetActive(true);
    }
コード例 #3
0
    void Cast()
    {
        int        num        = Random.Range(0, 3);
        GameObject GO         = ObjectPooler.SharedInstance.GetPooledObject(num * 2);
        Projectile projectile = GO.GetComponent <Projectile>();

        projectile.Init(0, 0, 2,
                        0, 1, this.transform.position,
                        0, 0, Vector3.zero);
        GO.SetActive(true);
        ProjectileHelpers.ObjectIgnores(GO, playerCollider);
    }
コード例 #4
0
ファイル: Spellbook.cs プロジェクト: bbroeking/artemis
    public void PoisonNova(Transform firePoint)
    {
        for (int i = 0; i < 6; i++)
        {
            GameObject projectileGameObject = Instantiate(projectilePrefab, firePoint.position, Quaternion.identity);

            Projectile projectile = projectileGameObject.GetComponent <Projectile>();
            projectile.ZRotation = 60f * i;

            ProjectileHelpers.ObjectIgnores(projectileGameObject, playerCollider);
            Destroy(projectileGameObject, 3);
        }
    }
コード例 #5
0
    private void UpdateBeam()
    {
        dir = ProjectileHelpers.moveDirectionToNormalVector(player.lastMoveDirection);
        RaycastHit2D hit = Physics2D.Raycast((Vector2)firePoint.position, dir, Mathf.Infinity, 1 << LayerMask.NameToLayer("walls"));

        lineRenderer.SetPosition(0, (Vector2)firePoint.position);
        startVFX.transform.position = (Vector2)firePoint.position;

        lineRenderer.SetPosition(1, (Vector2)hit.point);
        endVFX.transform.position = (Vector2)hit.point;

        SetBoxCollider(firePoint.position, hit.point);
    }
コード例 #6
0
ファイル: LootTable.cs プロジェクト: bbroeking/artemis
 public void SpawnLoot()
 {
     if (dropItem)
     {
         Item drop = GenerateDrop();
         if (drop == null)
         {
             return;
         }
         GameObject loot = Instantiate(droppedItem, transform.position, Quaternion.identity);
         SetLoot(drop, loot);
     }
     else if (dropCurrency)
     {
         int souls = random.Next(1, 11);
         for (int i = 0; i < souls; i++)
         {
             Instantiate(soul,
                         transform.position + ProjectileHelpers.GenerateRandomOffset(),
                         Quaternion.identity);
         }
     }
 }
コード例 #7
0
        public void RenderTrailWithSettings(SpriteBatch sb, Projectile proj, Color mainColor, float fadeAmount)
        {
//DebugHelpers.SetDisplay( proj.Name + "_info", "lit:"+lit+", avg: "+ re_avg.ToString("N2")+", inc:"+inc.ToString("N2")+ ", scale:"+ scale.ToString("N2"), 30 );
//DebugHelpers.SetDisplay( proj.Name + "_colors", "base:" + base_color + ", color:" + color, 30 );
//var list = new List<string>();
            for (int i = 0; i <= this.CurrentTrailLength; i++)
            {
                float   rot = this.TrailRotations[i];
                Vector2 pos = this.TrailPositions[i];

                float lerp = i * fadeAmount;

                Color lerpedColor = Color.Lerp(mainColor, Color.Transparent, lerp);
                if (lerpedColor.A <= 8)
                {
                    break;
                }

//DebugHelpers.Print( proj.Name+proj.whoAmI+"_"+i, "pos:"+(int)pos.X+":"+(int)pos.Y+", rot:"+rot.ToString("N2")+",color:"+lerpedColor, 20 );
                ProjectileHelpers.DrawSimple(sb, proj, pos, rot, lerpedColor, proj.scale);
//list.Add( "R:" + lerped_color.R + "+G:" + lerped_color.G + "+B:" + lerped_color.B+"+A:" + lerped_color.A );
            }
//DebugHelpers.SetDisplay( proj.Name + "_trail", string.Join(", ",list.ToArray()), 30 );
        }