private void CreateItemFromGameData( ) { ItemSpawnType spawnType = (ItemSpawnType)System.Enum.Parse( typeof( ItemSpawnType ), firstItem ); switch (spawnType) { case ItemSpawnType.PAPER_BALL: GDEDefenseItemData paperItem = new GDEDefenseItemData( ); GDEDataManager.DataDictionary.TryGetCustom( GDEItemKeys.DefenseItem_Paperball, out paperItem ); InitializeNewDefenseItem( paperItem ); break; case ItemSpawnType.MANDRAKE: GDEDefenseItemData mandrakeItem = new GDEDefenseItemData( ); GDEDataManager.DataDictionary.TryGetCustom( GDEItemKeys.DefenseItem_ManDrake, out mandrakeItem ); InitializeNewDefenseItem( mandrakeItem ); break; case ItemSpawnType.KNIFE: GDEWeaponItemData knifeItem = new GDEWeaponItemData( ); GDEDataManager.DataDictionary.TryGetCustom( GDEItemKeys.WeaponItem_Knife, out knifeItem ); CmdInitializeNewWeaponItem( knifeItem ); break; } }
private void InitializeNewDefenseItem( GDEDefenseItemData item ) { GameObject newItem = Instantiate( item.ItemModel ); DefenseItem itemType = newItem.GetComponent<DefenseItem>( ); itemType.defenseItemData = item; itemType.AddItemToPlayer( gameObject ); itemType.CmdUseItem( gameObject ); NetworkServer.Spawn( newItem ); }