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); } }
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(); }
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); } }
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(); } }