예제 #1
0
파일: Map.cs 프로젝트: bbroeking/artemis
    void Start()
    {
        Room   room      = player.map;
        string wallPath  = room.GetWallPath();
        string floorPath = room.GetFloorPath();

        // Set Camera
        if (room.roomType == RoomType.LargeStandard)
        {
            player.cam.m_Follow = player.transform;
        }
        else
        {
            player.cam.m_Follow           = null;
            player.cam.transform.position = new Vector3(0, -1, -10);
        }
        // Load Room From Prefab
        GameObject wall = (GameObject)LoadPrefab.LoadPrefabFromFile(wallPath);

        Instantiate(wall, Vector3.zero, Quaternion.identity);
        GameObject floor = (GameObject)LoadPrefab.LoadPrefabFromFile(floorPath);

        Instantiate(floor, Vector3.zero, Quaternion.identity);

        player.remainingEnemies = floor.GetComponentsInChildren <Spawner>().Length;
        List <GameObject> portals = new List <GameObject>();

        portals.Add(GameObject.FindGameObjectWithTag("west"));
        portals.Add(GameObject.FindGameObjectWithTag("east"));
        portals.Add(GameObject.FindGameObjectWithTag("north"));
        portals.Add(GameObject.FindGameObjectWithTag("south"));
        player.portals = portals;
    }
예제 #2
0
    private void SpawnMeleeWave()
    {
        string     pathToPrefab = "Projectiles/PlayerProjectiles/MeleeWave";
        GameObject wave         = (GameObject)LoadPrefab.LoadPrefabFromFile(pathToPrefab);

        Instantiate(wave);
    }
예제 #3
0
    // // 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);
    }
예제 #4
0
    public void Summon(Player player)
    {
        string     pathToPrefab = "Singletons/Demons/InfernalSingleton";
        GameObject demon        = (GameObject)LoadPrefab.LoadPrefabFromFile(pathToPrefab);

        Instantiate(demon, player.transform.position, Quaternion.identity);
        player.Infernal = this;
    }
예제 #5
0
    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);
    }
예제 #6
0
    //добавить новый прямоугольник в заданную точку
    void Add(Vector3 pos)
    {
        Rectangle rectangle = null;

        if (LoadPrefab.LoadUIPrefab(ref rectangle, _rectanglePrefab, null, parentRectangle))
        {
            rectangle.transform.position = pos;
            rectangle.Init(this);
            rectangle.RemoveEvent += Remove;
            _rectangles.Add(rectangle);
        }
    }
예제 #7
0
 void LoadEnemy()
 {
     // if (EnemyType.Melee == enemyType){
     //     enemy = (GameObject) LoadPrefab.LoadPrefabFromFile("Enemies/Slime/Melee");
     // }
     if (EnemyType.Ranged == enemyType)
     {
         enemy = (GameObject)LoadPrefab.LoadPrefabFromFile(PrefabPath.RangedSlime);
     }
     else if (EnemyType.Patrol == enemyType)
     {
         parent = (GameObject)LoadPrefab.LoadPrefabFromFile(PrefabPath.PatrolSlime);
     }
 }
예제 #8
0
    void Link(Rectangle rectangle)
    {
        //проверим что такой связи еще нет. если есть ее требуется удалить
        for (int i = 0; i < listLine.Count; i++)
        {
            if (rectangle == listLine[i].rectangle)
            {
                listLine[i].line.Remove();
                listLine.Remove(listLine[i]);
                rectangle.lineController.Remove(thisRectangle);
                return;
            }
        }
        //создаем
        Line line = null;

        if (LoadPrefab.LoadUIPrefab(ref line, _linePrefab, null, thisRectangle.game.parentLine))
        {
            line.SetPosition(thisRectangle.transformOverride.position, rectangle.transformOverride.position, thisRectangle.game.canvas.localScale.x);
            listLine.Add(new ConformityLine(rectangle, line));
            rectangle.lineController.listLine.Add(new ConformityLine(thisRectangle, line));
        }
    }
예제 #9
0
 private void OnValidate()
 {
     droppedItem     = (GameObject)LoadPrefab.LoadPrefabFromFile("FloorLoot/FloorItem");
     droppedCurrency = (GameObject)LoadPrefab.LoadPrefabFromFile("FloorLoot/DroppedCurrency");
     soul            = (GameObject)LoadPrefab.LoadPrefabFromFile("FloorLoot/Soul");
 }
예제 #10
0
 /* Start function */
 void Start()
 {
     this.loadPrefab = new LoadPrefab();
 }