Пример #1
0
    private void GenerateShadow(List <PlayerSavedInfo> teamSaveList)
    {
        int tagIndex = 0;

        foreach (var saveList in teamSaveList)
        {
            var          shadowUnit   = Instantiate(GetShadownInstaceFromTitle(saveList.job), transform.position, Quaternion.identity);
            ItemOnPlayer itemOnPlayer = shadowUnit.gameObject.AddComponent <ItemOnPlayer>();
            PlayerInfo   ShandowInfo  = new PlayerInfo(
                saveList.playerUid,
                saveList.name,
                0,
                saveList.job
                );
            // set item
            itemOnPlayer.SetItemHolder(ShandowInfo);
            AttachItemToShadow(shadowUnit, saveList.itemOwned);

            // set skill
            UpSkillShadow(shadowUnit, saveList.acuiredSkill);

            // tracking shadow
            ShadowCharacterTracking trackingScript = shadowUnit.gameObject.AddComponent <ShadowCharacterTracking>();
            shadowTagControl.create(tagIndex, saveList.name);
            trackingScript.SetKingStateOwner(this, tagIndex, shadowTagControl);
            ++tagIndex;
            generatedShadow.Add(shadowUnit);
        }
    }
Пример #2
0
    public void addPlayerDontDestroyOnLoad(int index, GameObject player)
    {
        ItemOnPlayer itemOnPlayer = player.AddComponent <ItemOnPlayer>() as ItemOnPlayer;

        itemOnPlayer.SetItemHolder(playerManagement.playersInfo[index]);
        playerManagement.playerInstance[index] = player;
        DontDestroyOnLoad(playerManagement.playerInstance[index]);
    }
    public void NotifyDead()
    {
        isDead = true;
        ItemOnPlayer itemOnPlayer = GetComponent <ItemOnPlayer>();

        if (itemOnPlayer != null)
        {
            itemOnPlayer.RemoveAllItem();
        }
        kingstate.NotifyShadowCharacterDead();
    }
Пример #4
0
    public virtual void doActionAPI(unitHitbox unitHitbox)
    {
        unitHitbox.addAfterPickItem(this);
        ItemOnPlayer itemOnPlayer = unitHitbox.GetComponent <ItemOnPlayer>();

        if (itemOnPlayer != null)
        {
            itemOnPlayer.AddItem(this);
        }
        sendItemToClient(unitHitbox.id);
        if (GameManagerPC.Instance != null && itemModel.itemCode != 0)
        {
            GameManagerPC.Instance.playerManagement.AddItemScore(unitHitbox.id);
        }
    }
Пример #5
0
    void deathAction(int killerId)
    {
        // print("Call Dead Action from " + gameObject.name);

        myCol.enabled = false;
        // Shadow Character dead
        ShadowCharacterTracking tracking = GetComponent <ShadowCharacterTracking>();

        if (tracking != null)
        {
            tracking.NotifyDead();
        }

        if (playerCon != null && tag != "Enemy")
        {
            playerCon.ReportDeath();
            reviveArea.activeReviveArea();
            if (GameManagerPC.Instance != null && id >= 0)
            {
                // player Lose 10% of holding item
                ItemOnPlayer itemOnPlayer = GetComponent <ItemOnPlayer>();
                if (itemOnPlayer != null)
                {
                    itemOnPlayer.RemoveRandomItemOnPlayer(3);
                }
                GameManagerPC.Instance.OnPlayerDeath(id);
            }

            return;
        }
        EnemyAI enemyAI = gameObject.GetComponent <EnemyAI>();

        if (enemyAI != null)
        {
            enemyAI.ReportDeath(killerId);
        }

        DropControl dropControl = gameObject.GetComponent <DropControl>();

        if (dropControl != null)
        {
            dropControl.randomDrop();
        }
    }