Inheritance: MonoBehaviour
    protected override void Start()
    {
        // Black Hole
        skillCost[0] = 800;
        skillMax[0]  = skillCost[0];

        // Super Nova
        skillCost[1] = 1400;
        skillMax[1]  = skillCost[1];

        shootPower[0] = 1500;
        shootPower[1] = shootPower[0] + 50;
        shootPower[2] = shootPower[0] + 100;

        shootDelay[0] = 0.1f;
        shootDelay[1] = 0.08f;
        shootDelay[2] = 0.05f;

        shootPoint = transform.Find("Shoot Point").gameObject;

        Pooler.Instantiate(laser, laser_prefab, 42);
        Pooler.Instantiate(blackHole, blackHole_prefab, 8);

        base.Start();
    }
    protected override void Shoot()
    {
        GameObject clone = Pooler.GetObject(bubble, shootPoint.transform.position, transform.rotation);

        shootPoint.transform.localRotation = Quaternion.Euler(new Vector3(0, 135 + Random.Range(-spread, spread), 0));
        clone.GetComponent <BaseAttack>().SetVelocity(shootPoint.transform.forward * shootPower[weaponLevel] + velocity);
    }
Exemple #3
0
    private void Awake()
    {
        pooler = FindObjectOfType <Pooler>();

        SetUpSprite();
        SetUpColor();
    }
    protected override void Start()
    {
        // Aimed Blast
        skillCost[0] = 800;
        skillMax[0]  = skillCost[0];

        // Chrono
        skillCost[1] = 1000;
        skillMax[1]  = skillCost[1];

        shootPower[0] = 700;
        shootPower[1] = 750;
        shootPower[2] = 850;

        shootDelay[0] = 0.03f;
        shootDelay[1] = 0.025f;
        shootDelay[2] = 0.02f;

        Pooler.Instantiate(bubble, bubble_prefab, 40);



        shootPoint = transform.Find("Shoot Point").gameObject;

        base.Start();
    }
Exemple #5
0
 public void StartPlayerLoadout()
 {
     pstats = PM.playerstat;
     Debug.Log("Loadout: Prim Owner " + pstats.name);
     pooler = PM.pooler;
     Debug.Log("PL: Pooler " + pooler.GetInstanceID());
 }
    public void Awake()
    {
        _instance = this;

        var possibleValues = Enum.GetValues(typeof(PooledObjects)).Cast <PooledObjects>().ToList();
        var prefabs        = Resources.LoadAll <GameObject>("Pooled");

        foreach (var prefab in prefabs)
        {
            Enum.TryParse(prefab.name, out PooledObjects enumValue); // Try get the pooled object enum value
            _lookupDictionary.Add(enumValue, prefab);                // Add it to our lookup dictionary for quick instantiating
            _poolDictionary.Add(enumValue, new List <GameObject>()); // Create the pool
            possibleValues.RemoveAll(e => e == enumValue);           // Remove the enum from the possible values
        }

        if (_debugWarnings && possibleValues.Any())
        {
            if (possibleValues[0] == PooledObjects.Nothing && possibleValues.Count == 1)
            {
                return;
            }
            var builder = new StringBuilder();
            builder.Append("A prefab resource was not found for: ");
            foreach (var possibleValue in possibleValues)
            {
                builder.Append($"{possibleValue}{(possibleValue != possibleValues.Last() ? "," : "")}");
            }

            throw new NotImplementedException(builder.ToString());
        }
    }
Exemple #7
0
 // Start is called before the first frame update
 void Start()
 {
     destructionPoint = GameObject.Find("Destruction Point");
     pool             = GameObject.Find("CoinPool").GetComponent <Pooler>();
     scoreManager     = FindObjectOfType <Score>();
     coinSound        = GameObject.Find("CoinSound").GetComponent <AudioSource>();
 }
 private void Start()
 {
     pooler    = Pooler.instance;
     uIManager = UIManager.instance;
     CountdownText.gameObject.SetActive(false);
     soundManager = SoundManager.instance;
 }
Exemple #9
0
    public IEnumerator Despawn()
    {
        for (int i = 1; i < objects.Count; i++)
        {
            if (objects[i] != null)
            {
                GameObject spawn = Instantiate(SpawnPoof, objects[i].transform.position, Quaternion.identity);
                Destroy(spawn, 0.3f);
                Destroy(objects[i]);
            }
        }

        yield return(new WaitForSeconds(0.1f));

        for (int i = 0; i < projectiles.transform.childCount; i++)
        {
            Pooler pool = projectiles.transform.GetChild(i).GetComponent <Pooler>();
            for (int u = 0; u < pool.transform.childCount; u++)
            {
                pool.transform.GetChild(u).gameObject.SetActive(false);
            }
        }

        yield return(new WaitForSeconds(0.31f));

        objects = new List <GameObject>();
        objects.Add(GameObject.Find("Player"));
    }
Exemple #10
0
    // Bomb
    protected override void Skill_0()
    {
        for (int i = 0; i < 4; i++)
        {
            part[i].transform.localPosition = part[i].transform.localPosition.normalized * defaultSize;
            part[i].transform.DOLocalMove(part[i].transform.localPosition.normalized * 15f, 0.2f).From();
        }

        clone = Pooler.GetObject(bomb, transform.position, transform.rotation);

        clone.GetComponent <Bomb>().SetOwner(this.gameObject);
        clone.GetComponent <Bomb>().ownerNum = playerNum;

        clone.GetComponent <Rigidbody>().AddForce(shootPoint.transform.forward * 400000 + velocity);

        if (nova.activeInHierarchy == true)
        {
            clone.GetComponent <Bomb>().novaImune = 0.4f;
        }

        shootTimer = shootDelay[weaponLevel];

        rB.AddForce(shootPoint.transform.forward * -60000);

        ProCamera2DShake.Instance.Shake(
            0.3f,                 //duration
            new Vector3(35, 35),  //strength
            2,                    //vibrato
            0.5f,                 //randomness
            aimAngle * -1,        //initialAngle (-1 = random)
            new Vector3(0, 0, 0), //rotation
            0.1f);                //smoothness

        queBomb = false;
    }
Exemple #11
0
    protected override void Start()
    {
        // Bomb
        skillCost[0] = 300;
        skillMax[0]  = skillCost[0] * 5;

        skillCost[1] = 200;
        skillMax[1]  = skillCost[1];

        //// Detonate
        //skillCD[1] = 0;

        shootPower[0] = 900;
        shootPower[1] = 1000;
        shootPower[2] = 1100;

        shootDelay[0] = 0.5f;
        shootDelay[1] = shootDelay[0];
        shootDelay[2] = shootDelay[0];

        shootPoint = transform.Find("Shoot Point").gameObject;

        Pooler.Instantiate(laser, laser_prefab, 150);
        Pooler.Instantiate(bomb, bomb_prefab, 20);

        nova = Instantiate(nova_prefab);
        nova.gameObject.SetActive(false);

        for (int i = 0; i < 4; i++)
        {
            part[i].transform.localPosition = part[i].transform.localPosition.normalized * defaultSize;
        }

        base.Start();
    }
        public void getGradientInput()
        {
            var inData = new MultiMatrix(new int[] { 5, 5 }, new double[] {
                0, 1, 2, 3, 4,
                10, 11, 9, 14, 13,
                20, 24, 25, 26, 20,
                32, 27, 28, 29, 21,
                31, 33, 34, 35, -1,
            });

            var gradientNext = new MultiMatrix(new int[] { 3, 3 }, new double[] {
                1, 1, 1,
                1, 1, 1,
                1, 1, 1,
            });

            var expectedGradient = new MultiMatrix(new int[] { 5, 5 }, new double[] {
                0, 0, 0, 0, 0,
                0, 1, 0, 1, 1,
                0, 0, 0, 0, 0,
                1, 0, 0, 1, 1,
                0, 1, 0, 1, 1,
            });

            var pooler   = new Pooler(new int[] { 2, 2 });
            var gradient = pooler.getGradientInput(inData, gradientNext);

            Assert.IsTrue(expectedGradient.EEquals(gradient));
        }
Exemple #13
0
    protected override void Shoot()
    {
        for (int i = 0; i < 4; i++)
        {
            part[i].transform.localPosition = part[i].transform.localPosition.normalized * defaultSize;
            part[i].transform.DOLocalMove(part[i].transform.localPosition.normalized * 8f, 0.4f).From();
        }

        for (int i = 0; i < amount[weaponLevel]; i++)
        {
            clone = Pooler.GetObject(laser, shootPoint.transform.position, transform.rotation);

            float randDir = Random.Range(-spread[weaponLevel], spread[weaponLevel]);

            shootPoint.transform.localRotation = Quaternion.Euler(new Vector3(0, 135
                                                                              + randDir, 0));

            clone.GetComponent <BaseAttack>().GetRigidBody().AddForce(shootPoint.transform.forward *
                                                                      (shootPower[weaponLevel] + Random.Range(-100, 100)) * (120 - (Mathf.Abs(randDir) * 3)) + velocity);

            clone.GetComponent <TrailRenderer>().Clear();
        }

        ProCamera2DShake.Instance.Shake(
            0.1f,                 //duration
            new Vector3(35, 35),  //strength
            2,                    //vibrato
            0.5f,                 //randomness
            aimAngle * -1,        //initialAngle (-1 = random)
            new Vector3(0, 0, 0), //rotation
            0.1f);                //smoothness

        bombTimer = 0;
    }
Exemple #14
0
        public void Stop()
        {
            this.gameClient.ClientReceivedMessage        -= this.ClientReceivedMessage;
            this.gameClient.ClientConnectedToServer      -= this.ClientConnected;
            this.gameClient.ClientDisconnectedFromServer -= this.ClientDisconnected;

            this.sceneNetworkObjectsList.Clear();
            this.sceneNetworkObjectsHash.Clear();

            if (Platform.IsApplicationQuitting == false)
            {
                // Destroy all dynamic objects
                foreach (var dynamic in this.dynamicNetworkObjectsList)
                {
                    if (dynamic && dynamic.gameObject)
                    {
                        Pooler.Destroy(dynamic.gameObject);
                    }
                }

                this.dynamicNetworkObjectsList.Clear();
                this.dynamicNetworkObjectsHash.Clear();
            }

            SceneManager.sceneLoaded -= this.OnSceneLoaded;
        }
Exemple #15
0
        public NetworkIdentity CreateDynamicNetworkIdentity(string resourceName, long networkId, long ownerId, Vector3 position, Quaternion rotation)
        {
            if (ResourcePrefabCache.TryGetValue(resourceName, out NetworkIdentity networkIdentityPrefab) == false)
            {
                networkIdentityPrefab = Resources.Load <NetworkIdentity>(resourceName);
                ResourcePrefabCache.Add(resourceName, networkIdentityPrefab);
            }

            var newNetworkIdentity = Pooler.Instantiate(networkIdentityPrefab);

            newNetworkIdentity.SetClient(this.gameClient);
            newNetworkIdentity.SetNetworkId(networkId);
            newNetworkIdentity.SetOwner(ownerId, newNetworkIdentity.CanChangeOwner);
            newNetworkIdentity.ResourceName = resourceName;
            newNetworkIdentity.transform.SetPositionAndRotation(position, rotation);

            if (this.isConnected)
            {
                newNetworkIdentity.RequestUpdate();
            }

            // Registering the new dynamic object
            this.dynamicNetworkObjectsHash.Add(newNetworkIdentity.NetworkId, newNetworkIdentity);
            this.dynamicNetworkObjectsList.Add(newNetworkIdentity);

            return(newNetworkIdentity);
        }
Exemple #16
0
 // Start is called before the first frame update
 void Start()
 {
     arrowPooler    = new Pooler(100, shootObjectPrefab);
     mainParticles  = orbParticles.main;
     OnShoot       += Shoot;
     WhileChargeUp += BowModelChargeUp;
 }
Exemple #17
0
 private void Start()
 {
     fruitRigidbody = transform.GetComponent <Rigidbody>();
     gameController = GameController.instance;
     pooler         = Pooler.instance;
     rb             = GetComponent <Rigidbody>();
 }
            public Pooler GetPooler(GameObject inPoolPrefab)
            {
                Pooler pooler = null;

                if (this.prefabToPooler.ContainsKey(inPoolPrefab))
                {
                    pooler = this.prefabToPooler[inPoolPrefab];
                }
                // if passing in a prefab which doesn't have a pooler yet, create one
                else
                {
                    GameObject newPoolerGO = new GameObject();
                    newPoolerGO.SetLayerRecursively(PoolManager.I.gameObject.layer);
                    newPoolerGO.name                    = inPoolPrefab.name;
                    newPoolerGO.transform.parent        = this.transform;
                    newPoolerGO.transform.localPosition = Vector3.zero;

                    Poolable poolable = new Poolable();
                    poolable.key           = inPoolPrefab.name;
                    poolable.prefab        = inPoolPrefab;
                    poolable.amountToSpawn = 1;

                    pooler = newPoolerGO.AddComponent <Pooler>();
                    pooler.Initialize(poolable);
                }
                return(pooler);
            }
Exemple #19
0
    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }
        PoolItemsObject      = new GameObject();
        PoolItemsObject.name = "PoolItemsObject";
        PoolItemsObject.transform.SetParent(transform);
        PoolItems         = new List <PoolItem>();
        ItemsToBeDisabled = new Dictionary <GameObject, Coroutine>();

        for (int i = 0; i < PrefabsToPool.Length; i++)
        {
            if (PrefabsToPool[i].PrefabToPool == null)
            {
                Debug.Log("Prefab at index " + i + " has no prefab");
                continue;
            }

            string Name   = PrefabsToPool[i].Name == "" || PrefabsToPool[i].Name == null ? PrefabsToPool[i].PrefabToPool.name : PrefabsToPool[i].Name;
            int    Amount = PrefabsToPool[i].Amount == 0 ? 100 : PrefabsToPool[i].Amount;
            CreatePool(Name, PrefabsToPool[i].PrefabToPool, Amount);
        }
    }
Exemple #20
0
    //int shootParticleCount;


    protected override void Start()
    {
        // Power Shot
        skillCost[0] = 400;
        skillMax[0]  = skillCost[0];

        // Nova
        skillCost[1] = 2000;
        skillMax[1]  = skillCost[1];

        shootPower[0] = 1900;
        shootPower[1] = shootPower[0];
        shootPower[2] = shootPower[0];

        shootDelay[0] = 0.135f;
        shootDelay[1] = shootDelay[0];
        shootDelay[2] = shootDelay[0];

        Pooler.Instantiate(laser1, laser1_prefab, 15);
        Pooler.Instantiate(laser2, laser2_prefab, 30);
        //Pooler.Instantiate(laserBlast, laserBlast_prefab, 12);

        powerShot = Instantiate(powerShot_prefab).GetComponent <PowerShot>();
        powerShot.gameObject.SetActive(false);
        powerShot.owner = this;

        nova = Instantiate(nova_prefab).GetComponent <StunNova>();
        nova.gameObject.SetActive(false);
        nova.owner = this;



        base.Start();
    }
Exemple #21
0
 private void InitializeEnemyPools()
 {
     foreach (var enemy in enemies)
     {
         Pooler.InitializePool(enemy);
     }
 }
Exemple #22
0
    private void Start()
    {
        //para probar el funcionamiento de la creacion de cartas no se desarrollara la parte de seleccionar las cartas de la mano, sino que ser� aleatorio
        deck1 = CreateHand();
        deck2 = CreateHand();

        //Pool de 5 cartas maximas por mano
        hand1 = Pooler.GetPoolObjects(cardPrefab, 5, hand1Parent);
        //Asigno la mano de cada pool de cartas
        foreach (var c in hand1)
        {
            c.GetComponent <Dragable>().typeOfHand = Dragable.Hands.Hand1;
        }
        hand2 = Pooler.GetPoolObjects(cardPrefab, 5, hand2parent);
        foreach (var c in hand2)
        {
            c.GetComponent <Dragable>().typeOfHand = Dragable.Hands.Hand2;
        }

        //Resetear las transformaciones del Rect Transform
        ResetTransforms(hand1);
        ResetTransforms(hand2);

        //Seteo los tiops de cartas a los valores de la mano generada
        CardSetter(hand1, deck1);
        CardSetter(hand2, deck2);
    }
Exemple #23
0
    // Start is called before the first frame update
    void Awake()
    {
        Instance = this;

        PoolDictionary = new Dictionary <string, Queue <GameObject> >();

        foreach (Pool pool in PoolObjects)
        {
            Queue <GameObject> objectPool = new Queue <GameObject>();

            GameObject parentObj = Instantiate(new GameObject(), transform.position, Quaternion.identity);
            parentObj.name = pool.name + "s";

            for (int i = 0; i < pool.sizeOfPool; i++)
            {
                GameObject gm = Instantiate(pool.prefab);
                gm.SetActive(false);
                gm.transform.parent = parentObj.transform;


                objectPool.Enqueue(gm);
            }



            PoolDictionary.Add(pool.name, objectPool);
        }
    }
Exemple #24
0
 /// <summary>
 /// 初始化对象池
 /// </summary>
 void PoolerInit()
 {
     Pooler.SetPooler(pooler);
     Pooler.CreatePool(PoolType.HeroPool.ToString(), heroPrefab);
     Pooler.CreatePool(PoolType.DoorPool.ToString(), doorPrefab);
     Pooler.CreatePool(PoolType.TextPool.ToString(), textPrefab);
 }
Exemple #25
0
    /// <summary>
    /// 刷新文本展示
    /// </summary>
    void FreshText(object data)
    {
        GameObject textGo = Pooler.GetPoolObj(PoolType.TextPool.ToString());

        textGo.transform.SetParent(numericalLayer.transform);
        textGo.GetComponent <TextView>().Fresh(data);
    }
Exemple #26
0
 private void Awake()
 {
     pooler    = GameObject.FindGameObjectWithTag("Pooler").GetComponent <Pooler>();
     rb        = GetComponent <Rigidbody2D>();
     animator  = GetComponent <Animator>();
     trigger2D = GetComponent <CircleCollider2D>();
 }
    void Start()
    {
        Pooler.Instantiate(exp, exp_prefab, 100);
        Pooler.Instantiate(redLaser, redLaser_prefab, laserCount);

        //DebugText.Instance.SetText("" + laserCount);
    }
    protected override void Start()
    {
        // Laser
        skillCost[0] = 3200;
        skillMax[0]  = skillCost[0];

        // Switch
        skillCost[1] = 1200;
        skillMax[1]  = skillCost[1];

        shootPower[0] = shootPowerMod[attackMode - 1, 0];
        shootPower[1] = shootPowerMod[attackMode - 1, 1];
        shootPower[2] = shootPowerMod[attackMode - 1, 2];

        shootDelay[0] = shootDelayMod[attackMode - 1, 0];
        shootDelay[1] = shootDelayMod[attackMode - 1, 1];
        shootDelay[2] = shootDelayMod[attackMode - 1, 2];

        Pooler.Instantiate(laser1, laser_prefab[0], 20);
        Pooler.Instantiate(laser2, laser_prefab[1], 50);
        Pooler.Instantiate(laser3, laser_prefab[2], 200);

        angleDelay = 180;

        nova = Instantiate(nova_prefab);
        nova.gameObject.SetActive(false);
        nova.GetComponent <Nova>().FollowOwner(this.transform);



        base.Start();
    }
    void Shoot3()
    {
        if (shootToggle)
        {
            clone = Pooler.GetObject(laser3, shootPoint[0].transform.position, transform.rotation);
            clone.GetComponent <Laser>().SetVelocity(shootPoint[0].transform.forward * shootPower[weaponLevel]);
            clone.GetComponent <TrailRenderer>().Clear();
        }
        else
        {
            float offset = Random.Range(0, spread);

            clone = Pooler.GetObject(laser3, shootPoint[1].transform.position, transform.rotation);
            clone.GetComponent <BaseAttack>().SetVelocity(new Vector3(
                                                              Mathf.Sin((aimAngle - offset) * Mathf.Deg2Rad), 0,
                                                              Mathf.Cos((aimAngle - offset) * Mathf.Deg2Rad)).normalized *shootPower[weaponLevel] * -1);
            clone.GetComponent <TrailRenderer>().Clear();

            clone = Pooler.GetObject(laser3, shootPoint[2].transform.position, transform.rotation);
            clone.GetComponent <BaseAttack>().SetVelocity(new Vector3(
                                                              Mathf.Sin((aimAngle + offset) * Mathf.Deg2Rad), 0,
                                                              Mathf.Cos((aimAngle + offset) * Mathf.Deg2Rad)).normalized *shootPower[weaponLevel] * -1);
            clone.GetComponent <TrailRenderer>().Clear();
        }

        shootToggle = !shootToggle;
    }
Exemple #30
0
 void Awake()
 {
     obstaclePool  = GameManager.instance.getObstaclePool();
     tokenPool     = GameManager.instance.getTokenPool();
     cashPool      = GameManager.instance.getCashPool();
     cloudNearPool = GameManager.instance.getCloudNearPool();
     cloudFarPool  = GameManager.instance.getCloudFarPool();
 }
Exemple #31
0
    void Awake()
    {
        if (_instance != null) {
            Debug.LogError ("Instance should be null");
        }
        _instance = this;

        pooledInstances = new Queue<Transform>[poolablePrefabs.Length];
        // TODO allow pre-warming the instances

        assetIdToIndex = new Dictionary<NetworkHash128, int> ();
        for (int i = 0; i < poolablePrefabs.Length; i ++) {
            NetworkIdentity id = poolablePrefabs[i].GetComponent<NetworkIdentity>();
            if (id != null) {
                ClientScene.RegisterSpawnHandler (id.assetId, SpawnPoolable, UnspawnPoolable);
                assetIdToIndex[id.assetId] = i;
            }
        }

        // These are used to hold instances we create until we hear back from the server
        localInstances = new List<Transform> ();
        // callbacks = new List<NetworkInstantiateDelegate> ();
        queuedInstances = new List<RemoteInstanceMessage> ();

        if (NetworkServer.active) {
            NetworkServer.RegisterHandler (RemoteInstanceMsg, ReceiveRemoteInstanceFromClient);
        }

        if (NetworkClient.active) {
            NetworkManager.singleton.client.RegisterHandler (RemoteInstanceMsg, ReceiveRemoteInstanceFromServer);
        }
    }
Exemple #32
0
        public void Initialize()
        {
            //base.Initialize();

            //UpdateView();
            //MInput.Initialize();
            Tracker.Initialize();
            Pooler = new Pooler();
            //Commands = new Commands();
            Platformer.Draw.Initialize(this);
        }
Exemple #33
0
 void Awake()
 {
     current = this;
 }
Exemple #34
0
 public void Awake()
 {
     InstRef = this;
 }
Exemple #35
0
 void OnDestroy()
 {
     _instance = null;
     for (int i = 0; i < poolablePrefabs.Length; i ++) {
         NetworkIdentity id = poolablePrefabs[i].GetComponent<NetworkIdentity>();
         if (id != null) {
             ClientScene.UnregisterSpawnHandler (id.assetId);
         }
     }
 }