// VCCase public static CreationItemClass ECreationToItemClass(ECreation type) { switch (type) { case ECreation.Aircraft: return(CreationItemClass.Aircraft); case ECreation.Vehicle: return(CreationItemClass.Vehicle); case ECreation.Sword: case ECreation.SwordLarge: case ECreation.SwordDouble: return(CreationItemClass.Sword); case ECreation.Bow: return(CreationItemClass.Bow); case ECreation.Axe: return(CreationItemClass.Axe); case ECreation.Boat: return(CreationItemClass.Boat); case ECreation.HandGun: return(CreationItemClass.HandGun); case ECreation.Rifle: return(CreationItemClass.Rifle); case ECreation.AITurret: return(CreationItemClass.AITurret); case ECreation.Robot: return(CreationItemClass.Robot); case ECreation.Shield: return(CreationItemClass.Shield); case ECreation.SimpleObject: return(CreationItemClass.SimpleObject); default: return(CreationItemClass.None); } }
public static int GetCreationCount(this ItemPackage package, ECreation type) { int count = 0; for (int i = 0; i < (int)ItemAsset.ItemPackage.ESlotType.Max; i++) { SlotList accessor = package.GetSlotList((ItemAsset.ItemPackage.ESlotType)i); count += accessor.GetCreationCount(type); } return(count); }
public static int GetCreationItemCount(this PeEntity entity, ECreation type) { PlayerPackageCmpt pkg = entity.GetCmpt <PlayerPackageCmpt>(); if (null == pkg) { return(0); } return(pkg.package.GetCreationCount(type)); }
public static List <int> GetCreationInstanceId(this ItemPackage package, ECreation type) { List <int> tmp = new List <int>(); for (int i = 0; i < (int)ItemAsset.ItemPackage.ESlotType.Max; i++) { SlotList accessor = package.GetSlotList((ItemAsset.ItemPackage.ESlotType)i); foreach (var item in accessor.GetCreationInstanceId(type)) { tmp.Add(item); } } return(tmp); }
public static List <int> GetCreationInstanceId(this SlotList slotList, ECreation type) { List <int> tmp = new List <int>(); foreach (var item in slotList) { if (item == null) { continue; } if (WhiteCat.CreationHelper.GetCreationItemClass(item) != WhiteCat.CreationHelper.ECreationToItemClass(type)) { continue; } tmp.Add(item.instanceId); } return(tmp); }
public static int GetCreationCount(this SlotList slotList, ECreation type) { int count = 0; foreach (var item in slotList) { if (item == null) { continue; } if (WhiteCat.CreationHelper.GetCreationItemClass(item) == WhiteCat.CreationHelper.ECreationToItemClass(type)) { count += item.stackCount; } } return(count); }
public static void CopyCretion(ECreation type) { Pathea.PlayerPackageCmpt pkg = Pathea.PeCreature.Instance.mainPlayer.GetCmpt <Pathea.PlayerPackageCmpt>(); if (null == pkg) { return; } List <int> creationInstanceid = pkg.package.GetCreationInstanceId(type); if (creationInstanceid == null || creationInstanceid.Count == 0) { return; } CreationData cd = CreationMgr.GetCreation(creationInstanceid[0]); if (Pathea.PeGameMgr.IsMulti) { ulong hash = CRC64.Compute(cd.m_Resource); ulong fileId = SteamWorkShop.GetFileHandle(hash); VCGameMediator.SendIsoDataToServer(cd.m_IsoData.m_HeadInfo.Name, cd.m_IsoData.m_HeadInfo.SteamDesc, cd.m_IsoData.m_HeadInfo.SteamPreview, cd.m_Resource, SteamWorkShop.AddNewVersionTag(cd.m_IsoData.m_HeadInfo.ScenePaths()), true, fileId, true); } else { CreationData new_creation = new CreationData(); new_creation.m_ObjectID = CreationMgr.QueryNewId(); new_creation.m_RandomSeed = UnityEngine.Random.value; new_creation.m_Resource = cd.m_Resource; new_creation.ReadRes(); // Attr new_creation.GenCreationAttr(); if (new_creation.m_Attribute.m_Type == ECreation.Null) { Debug.LogWarning("Creation is not a valid type !"); new_creation.Destroy(); return; } // SaveRes if (new_creation.SaveRes()) { new_creation.BuildPrefab(); new_creation.Register(); CreationMgr.AddCreation(new_creation); ItemAsset.ItemObject item; int send_retval = new_creation.SendToPlayer(out item); Debug.Log("Make creation succeed !"); if (send_retval == 0) { return; // Error } else if (send_retval == -1) { return; // Item Package Full } else { return; // Succeed } } else { Debug.LogWarning("Save creation resource file failed !"); new_creation.Destroy(); return; } } }
public List <int> GetCreationInstanceId(ECreation type) { return(_playerPak.GetCreationInstanceId(type)); }
public int GetCreationCount(ECreation type) { return(_playerPak.GetCreationCount(type)); }