Exemple #1
0
    void GenerateShards(int stageIndex)
    {
        List <Transform> posList = stageList[stageIndex].ShardPosList();

        foreach (Transform targetPos in posList)
        {
            GameObject shard = Instantiate(shard1_GO, generatedShardRoot);

            MemoryShard ms = shard.GetComponent <MemoryShard>();

            if (ms != null)
            {
                GameStatics.SHARD_TYPE shardType = GameStatics.SHARD_TYPE.EFFECT;

                //if (stageIndex == 0) shardType = GameStatics.SHARD_TYPE.SHARD1;
                //else if (stageIndex == 1) shardType = GameStatics.SHARD_TYPE.SHARD2;

                shardType = GameStatics.SHARD_TYPE.SHARD1;

                ms.SetShard(
                    shardType,
                    targetPos.position,
                    PlayerManager.Instance().GetPlayerControl().GetPlayerRigidBody().transform);

                ms.onGetShard = PlayerManager.Instance().OnGetShard;
            }
        }
    }
Exemple #2
0
    public void Generate_SkillUpgradeEffectShards(GameStatics.SKILL_TYPE skillType, int amount)
    {
        Vector3 playerPos = PlayerManager.Instance().GetPlayerControl().GetPlayerRigidBody().position;

        for (int i = 0; i < amount; i++)
        {
            Vector3 randomGenPos = new Vector3();
            randomGenPos.y = Random.Range(playerPos.y + 30.0f, playerPos.y + 120.0f);
            randomGenPos.x = Random.Range(playerPos.x - 70.0f, playerPos.x + 70.0f);

            GameObject shard = Instantiate(shard1_GO);

            MemoryShard ms = shard.GetComponent <MemoryShard>();

            if (ms != null)
            {
                ms.SetShard(
                    GameStatics.SHARD_TYPE.EFFECT,
                    randomGenPos,
                    PlayerManager.Instance().GetPlayerControl().GetPlayerRigidBody().transform, true);

                ms.SetSkillShardColor(skillType);

                ms.onGetShard = PlayerManager.Instance().OnGetShard;
            }
        }
    }
Exemple #3
0
    public void OnGetShard(MemoryShard shard)
    {
        if (shard.GetShardType() == SHARD_TYPE.SHARD1 ||
            shard.GetShardType() == SHARD_TYPE.SHARD2)
        {
            int resultShardAmount = (int)(StageLoader.Instance().GetRandomShard(shard.GetShardType()) * StageLoader.Instance().GetShardMultifly());

            PlayerStatus.CurrentMemoryShards += resultShardAmount;
            playerController.ShowShardGetText(resultShardAmount);
        }

        TopMostControl.Instance().StartGlobalLightEffect(shard.GetShardTargetColor(), 0.5f, 0.1f);
        GetPlayerControl().BlinkPlayerShardLight(shard.GetShardTargetColor());
        SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_gainShard], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_gainShard].clip);
    }