private static void CreateScriptableObjects(ItemCreatorWindow.CustomItem item) { var obj = ScriptableObject.CreateInstance <DynamicData>(); var fields = obj.GetType().GetFields(); Sprite currentText = ItemCreator.GetItemIcon(item.itemIconDirectory); obj.itemIcon = currentText; obj.itemName = item.name; obj.isStackable = item.isStackable; obj.stackAmount = item.stackAmount; obj.inGameName = item.inGameName; obj.description = item.description; obj.category = item.category; foreach (var field in fields) { int hasIndex = item.addedVariables.FindIndex(x => { return(x.varName == field.Name); }); if (hasIndex > -1) { item.addedVariables[hasIndex].data = Convert.ChangeType(item.addedVariables[hasIndex].data, field.FieldType); field.SetValue(obj, item.addedVariables[hasIndex].data); } } AssetDatabase.CreateAsset(obj, $"{ITEMS_FOLDER_PATH}/{item.name}.asset"); }
/// <summary>Getter for index</summary> /// <param name="key">key to find (or load if needed)</param> /// <param name="createItem"> /// An optional factory method for creating the item if it does not exist in the cache. /// </param> /// <returns>the object value associated with key, or null if not found or could not be loaded</returns> public async Task <T> GetItem(TKey key, ItemCreator <TKey, T> createItem = null) { INode <T> node = FindExistingNodeByKey(key); node?.Touch(); ItemCreator <TKey, T> creator = createItem ?? loadItem; if ((node?.Value == null) && (creator != null)) { Task <T> task = creator(key); if (task == null) { throw new ArgumentNullException(nameof(createItem), "Expected a non-null Task. Did you intend to return a null-returning Task instead?"); } T value = await task; lock (this) { node = FindExistingNodeByKey(key); if (node?.Value == null) { node = owner.AddAsNode(value); } lifespanManager.CheckValidity(); } } return(node?.Value); }
/// <summary> /// Submit event handler. Responsible for creating items. /// </summary> protected void btnSubmit_Click(object sender, EventArgs e) { Page.Validate(); if (IsValid) { foreach (RepeaterItem item in rpBulkItemEditor.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { var model = new ItemCreatorModel(); //Find controls from item in repeater var ParentNode = (TextBox)item.FindControl("txtParentNode"); var TemplateID = (TextBox)item.FindControl("txtTemplateID"); var NoOfItems = (TextBox)item.FindControl("txtNoOfItems"); var Languages = (CheckBoxList)item.FindControl("cblLanguage"); //Set model values model.NumberOfItems = System.Convert.ToInt32(NoOfItems.Text); model.ParentNode = ParentNode.Text; model.TemplateId = TemplateID.Text; model.Languages = Languages.SelectedValue; //create items in CMS var _itemCreator = new ItemCreator(); _itemCreator.ItemGenerator(model); } } } }
int Equip(CEquipment pEquip, EEquipPos ePos) { if (!ItemCreator.MIsEquipment(pEquip.GetItemTypeID())) { return(1); } if (pEquip.m_pEquipProto.byLevel > m_nLevel) { return(2); } CEquipment pSrc = (CEquipment)m_pEquipment.GetPos((Int16)ePos); if (pSrc != null) { // switch equip 's pos CItemMgr.Inst.m_pPocket.Remove(pEquip.GetItemID()); m_pEquipment.Equip(pEquip, (Int16)ePos); ProcEquipEffect(pEquip, pSrc); } else { CItemMgr.Inst.m_pPocket.Remove(pEquip.GetItemID()); m_pEquipment.Equip(pEquip, (Int16)ePos); ProcEquipEffect(pEquip, null); } //if( CNGUISys.Inst != null ) //{ // CNGUISys.Inst.OnUpdateCharacterALL(); //} return(0); }
public void TestDataTableToList() { var expectedUser = FakeModelObjects.GetUser(); var dt = new DataTable(); dt.Columns.Add("Id", typeof(string)); dt.Columns.Add("FirstName", typeof(string)); dt.Columns.Add("LastName", typeof(string)); dt.Columns.Add("Email", typeof(string)); dt.Columns.Add("Password", typeof(string)); DataRow dataRow = dt.NewRow(); dataRow["Id"] = FakeModelObjects.FakeGuid.ToString(); dataRow["FirstName"] = "Default"; dataRow["LastName"] = "Userov"; dataRow["Email"] = "*****@*****.**"; dataRow["Password"] = "******"; dt.Rows.Add(dataRow); var resUser = ItemCreator.DataTableToList <User>(dt).FirstOrDefault(); Assert.AreEqual(expectedUser.Id, resUser.Id); Assert.AreEqual(expectedUser.FirstName, resUser.FirstName); Assert.AreEqual(expectedUser.LastName, resUser.LastName); Assert.AreEqual(expectedUser.Email, resUser.Email); }
public void Buy(int itemIndex) { var item = ItemCreator.CreateItem(itemIndex); this.Inventory.BuyItem(item); this.PrintInventory(); }
static void Main(string[] args) { // World w = World.GetInstance;(new Position(20,20),"The Game",new Hero("Heroic Hector", new Position(10, 10), 25, 30, Movement.State.North)); Opponent o = new Opponent("Azeroth", new Position(8, 7), 30, 34); Opponent p = new Opponent("Beelzebub", new Position(6, 12), 30, 34); Opponent q = new Opponent("Azeroth", new Position(18, 7), 30, 34); Opponent r = new Opponent("Azeroth", new Position(8, 17), 30, 34); World.GetInstance().ObstacleList(); DefenseFactory d = new DefenseFactory(); ItemCreator i = new ItemCreator(d); i.PlaceInWorld(); World.GetInstance().ObstacleList(); World.GetInstance().RegisterOpponents(o); World.GetInstance().RegisterOpponents(p); World.GetInstance().RegisterOpponents(q); World.GetInstance().RegisterOpponents(r); DrawGame dg = new DrawGame(); dg.Draw(); World.GetInstance().Hero.ToString(); }
public TriggerManager(RoomStateRepository roomStateRepository, ItemCreator itemCreator, GimmickManager gimmickManager) { this.roomStateRepository = roomStateRepository; this.gimmickManager = gimmickManager; itemCreator.OnCreate += OnCreateItem; }
/// <summary>Getter for index</summary> /// <param name="key">key to find (or load if needed)</param> /// <param name="createItem"> /// An optional factory method for creating the item if it does not exist in the cache. /// </param> /// <returns>the object value associated with key, or null if not found or could not be loaded</returns> public async Task <T> GetItem(TKey key, ItemCreator <TKey, T> createItem = null) { INode <T> node = FindExistingNodeByKey(key); node?.Touch(); ItemCreator <TKey, T> creator = createItem ?? loadItem; if ((node?.Value == null) && (creator != null)) { T value = await creator(key); lock (this) { node = FindExistingNodeByKey(key); if (node?.Value == null) { node = owner.AddAsNode(value); } lifespanManager.CheckValidity(); } } return(node?.Value); }
static void Main(string[] args) { // Parse the input arguments. Parser.Default.ParseArguments <CommandLineOptions>(args) .WithParsed <CommandLineOptions>(opts => { using (var client = new SessionAwareCoreServiceClient(opts.EndpointName)) { var creator = new ItemCreator(client, opts.publicationName, opts.XlsxPath); switch (opts.Type) { case CreationType.Folders: { creator.CreateFolders(opts.FolderName); break; } case CreationType.Keywords: { creator.CreateKeywords(opts.CategoryName); break; } case CreationType.StructureGroups: { creator.CreateStructureGroups(opts.StructureGroupName); break; } } } }); }
public async Task <T> GetItem(TKey key, ItemCreator <TKey, T> createItem = null) { T value = null; lock (syncObject) { Node <T> node = FindExistingNodeByKey(key); if (node != null) { value = node.Value; node.Touch(); } } if (value == null) { value = await TryCreate(key, createItem); if (value != null) { Node <T> newOrExistingNode = owner.TryAddAsNode(value); value = newOrExistingNode.Value; lifespanManager.CheckValidity(); } } return(value); }
private void OnEnable() { List <CustomItem> virtualItems = ItemCreator.GetData <List <CustomItem> >(DataTypeEnum.Items); if (virtualItems != null) { foreach (var item in virtualItems) { AddItem(item); } } List <ItemVariables> virtualVariables = ItemCreator.GetData <List <ItemVariables> >(DataTypeEnum.Variables); if (virtualVariables != null) { foreach (var variable in virtualVariables) { AddVariable(variable); } } List <Category> virtualCategories = ItemCreator.GetData <List <Category> >(DataTypeEnum.Categories); if (virtualCategories != null) { foreach (var category in virtualCategories) { AddCategory(category); } } }
static void SetupTriggerGimmicks(IEnumerable <GameObject> rootGameObjects, ItemCreator itemCreator, ItemDestroyer itemDestroyer) { RoomStateRepository = new RoomStateRepository(); GimmickManager = new GimmickManager(RoomStateRepository, itemCreator, itemDestroyer); SignalGenerator = new SignalGenerator(); var triggerManager = new TriggerManager(RoomStateRepository, itemCreator, GimmickManager, SignalGenerator); var items = GetComponentsInGameObjectsChildren <IItem>(rootGameObjects).ToArray(); triggerManager.Add(items.SelectMany(x => x.gameObject.GetComponents <IItemTrigger>())); triggerManager.Add(GetComponentsInGameObjectsChildren <IPlayerTrigger>(rootGameObjects)); triggerManager.Add(GetComponentsInGameObjectsChildren <IGlobalTrigger>(rootGameObjects)); GimmickManager.AddGimmicksInScene(GetComponentsInGameObjectsChildren <IGimmick>(rootGameObjects)); foreach (var item in items) { GimmickManager.AddGimmicksInItem(item.gameObject.GetComponentsInChildren <IGimmick>(true), item.Id.Value); } new LogicManager(itemCreator, RoomStateRepository, GimmickManager, GetComponentsInGameObjectsChildren <IItemLogic>(rootGameObjects), GetComponentsInGameObjectsChildren <IPlayerLogic>(rootGameObjects), GetComponentsInGameObjectsChildren <IGlobalLogic>(rootGameObjects), SignalGenerator); new PlayerEffectManager(PlayerPresenter, itemCreator, GetComponentsInGameObjectsChildren <IPlayerEffectGimmick>(rootGameObjects)); new CreateItemGimmickManager(itemCreator, GetComponentsInGameObjectsChildren <ICreateItemGimmick>(rootGameObjects)); new DestroyItemGimmickManager(itemCreator, itemDestroyer, GetComponentsInGameObjectsChildren <IDestroyItemGimmick>(rootGameObjects)); var onReceiveOwnershipItemTriggerManager = new OnReceiveOwnershipItemTriggerManager(itemCreator); var onCreateItemTriggerManager = new OnCreateItemTriggerManager(itemCreator); var onJoinPlayerTriggerManager = new OnJoinPlayerTriggerManager(); onCreateItemTriggerManager.Invoke(items.SelectMany(x => x.gameObject.GetComponents <IOnCreateItemTrigger>())); onJoinPlayerTriggerManager.Invoke(GetComponentsInGameObjectsChildren <IOnJoinPlayerTrigger>(rootGameObjects)); onReceiveOwnershipItemTriggerManager.InvokeOnStart(items.SelectMany(x => x.gameObject.GetComponents <IOnReceiveOwnershipItemTrigger>())); }
public CreateItemGimmickManager( ItemCreator itemCreator, IEnumerable <ICreateItemGimmick> createItemGimmicks) { this.itemCreator = itemCreator; itemCreator.OnCreate += OnCreateItem; Register(createItemGimmicks); }
static void Init() { GetIDCount(); // Get existing open window or if none, make a new one: ItemCreator window = (ItemCreator)EditorWindow.GetWindow(typeof(ItemCreator)); window.Show(); }
private void ArmourCreator_Click(object sender, EventArgs e) { Hide(); ItemCreator armourCreator = new ItemCreator(); armourCreator.ShowDialog(); Show(); }
// Use this for initialization void Start() { Ground = GameObject.Find("Ground"); cc = GameObject.Find("CoinCreator").GetComponent <CoinCreator>(); ec = GameObject.Find("Enemy").GetComponent <EnemyCreato>(); ic = GameObject.Find("ItemBox").GetComponent <ItemCreator>(); }
void CreateNewItem(ItemCreator creator) { Item newItem = null; if(index1==0){ if(index2==0){ //One Handed Melee OneHandedMelee ohm = new OneHandedMelee(); newItem = ohm as Item; } else if(index2==1){ //Two Handed Melee TwoHandedMelee thm = new TwoHandedMelee(); newItem = thm as Item; } else if(index2==2){ //Bow Bow b = new Bow(); newItem = b as Item; } else if(index2==3){ //Staff Staff s = new Staff(); newItem = s as Item; } else if(index2==4){ //Shield Shield s = new Shield(); newItem = s as Item; } } else if(index1==1){ if(index2==0){ //Head HeadArmor ha = new HeadArmor(); newItem = ha as Item; } else if(index2==1){ //Body BodyArmor ba = new BodyArmor(); newItem = ba as Item; } else if(index2==2){ //Hand HandArmor ha = new HandArmor(); newItem = ha as Item; } else if(index2==3){ //Leg LegArmor la = new LegArmor(); newItem = la as Item; } } else if(index1==2){ } newItem.ID = creator.itemID; creator._Item = newItem; creator.Save(); creator.AddSpriteManager(sm); creator.isEditing = true; creator.isCreating = false; }
public DestroyItemGimmickManager( ItemCreator itemCreator, ItemDestroyer itemDestroyer, IEnumerable <IDestroyItemGimmick> destroyItemGimmicks) { this.itemDestroyer = itemDestroyer; itemCreator.OnCreate += OnCreateItem; Register(destroyItemGimmicks); }
IEnumerator RunCreatorWithDuration(ItemCreator itemCreator, WaitForSeconds forDuration) { while (true) { GameObject itemObj = itemCreator.CreateItem(); itemObj.transform.position = area.GetRandomPosInArea(); yield return(forDuration); } }
public bool RegisterType(ItemType _type, ItemCreator _creator) { if (factory.ContainsKey(_type)) { return(false); } factory.Add(_type, _creator); return(true); }
//Produce item if interval is up protected void produceItem(GameObject pirate, Object itemPrefab) { //If interval is up if (workSinceProduction >= productionTime) { workSinceProduction = 0; //Create item ItemCreator.produceItem(pirate, itemPrefab); } }
/// <summary>Adds a new index to the cache</summary> /// <typeparam name="TKey">the type of the key value</typeparam> /// <param name="indexName">the name to be associated with this list</param> /// <param name="getKey">delegate to get key from object</param> /// <param name="item">delegate to load object if it is not found in index</param> /// <param name="keyEqualityComparer">The equality comparer to be used to compare the keys. Optional.</param> /// <returns>the newly created index</returns> public IIndex <TKey, T> AddIndex <TKey>( string indexName, GetKey <T, TKey> getKey, ItemCreator <TKey, T> item = null, IEqualityComparer <TKey> keyEqualityComparer = null) { var index = new Index <TKey, T>(this, lifeSpan, getKey, item, keyEqualityComparer); indexList[indexName] = index; return(index); }
public TriggerManager( RoomStateRepository roomStateRepository, ItemCreator itemCreator, GimmickManager gimmickManager, SignalGenerator signalGenerator) { this.roomStateRepository = roomStateRepository; this.gimmickManager = gimmickManager; this.signalGenerator = signalGenerator; itemCreator.OnCreate += OnCreateItem; }
protected virtual void Initialize(int level, Point?startTile) { CurrentLevelIndex = level; CurrentMap = Data.Maps[level]; TileCreator.Reset(); ItemCreator.Reset(); InitializeMapTextures(); TileInitializers = new List <TileInitializer>(); start = startTile ?? new Point(Data.StartPosition.Position.X, Data.StartPosition.Position.Y); TilePositions = new Dictionary <Point, Tile>(); }
/// <summary>constructor</summary> /// <param name="owner">parent of index</param> /// <param name="lifespanManager"></param> /// <param name="getKey">delegate to get key from object</param> /// <param name="loadItem">delegate to load object if it is not found in index</param> public Index(FluidCache <T> owner, LifespanManager <T> lifespanManager, GetKey <T, TKey> getKey, ItemCreator <TKey, T> loadItem) { Debug.Assert(owner != null, "owner argument required"); Debug.Assert(getKey != null, "GetKey delegate required"); this.owner = owner; this.lifespanManager = lifespanManager; index = new Dictionary <TKey, WeakReference <INode <T> > >(); _getKey = getKey; this.loadItem = loadItem; RebuildIndex(); }
static void OnChangePlayMode(PlayModeStateChange playMode) { switch (playMode) { case PlayModeStateChange.ExitingPlayMode: SetIsInGameMode(false); break; case PlayModeStateChange.EnteredPlayMode: SetIsInGameMode(true); ItemIdAssigner.AssignItemId(); ItemTemplateIdAssigner.Execute(); LayerCollisionConfigurer.SetupLayerCollision(); var rootGameObjects = SceneManager.GetActiveScene().GetRootGameObjects(); var spawnPoints = GetComponentsInGameObjectsChildren <ISpawnPoint>(rootGameObjects); SpawnPointManager = new SpawnPointManager(spawnPoints); // 疑似Playerの設定 var enterDeviceType = EnterDeviceType.Desktop; if (XRSettings.enabled) { enterDeviceType = EnterDeviceType.VR; } var despawnHeight = GetComponentInGameObjectsChildren <IDespawnHeight>(rootGameObjects).Height; PlayerPresenter = new PlayerPresenter(PermissionType.Audience, enterDeviceType, SpawnPointManager); new AvatarRespawner(despawnHeight, PlayerPresenter); var itemCreator = new ItemCreator(GetComponentsInGameObjectsChildren <ICreateItemGimmick>(rootGameObjects)); var itemDestroyer = new ItemDestroyer(PlayerPresenter.PlayerTransform.GetComponent <IItemController>()); new ItemRespawner(despawnHeight, itemCreator, itemDestroyer, GetComponentsInGameObjectsChildren <IMovableItem>(rootGameObjects)); var mainScreenViews = GetComponentsInGameObjectsChildren <IMainScreenView>(rootGameObjects); MainScreenPresenter = new MainScreenPresenter(mainScreenViews); var rankingScreenViews = GetComponentsInGameObjectsChildren <IRankingScreenView>(rootGameObjects); var rankingScreenPresenter = new RankingScreenPresenter(rankingScreenViews); rankingScreenPresenter.SetRanking(11); var commentScreenViews = GetComponentsInGameObjectsChildren <ICommentScreenView>(rootGameObjects); CommentScreenPresenter = new CommentScreenPresenter(commentScreenViews); SetupTriggerGimmicks(rootGameObjects, itemCreator, itemDestroyer); OnInitializedEvent?.Invoke(); break; } }
void OnMonsterDeath(int id) { Debug.Log($"Monster with id {id} died, current Monsters is {Monsters.Count}"); var monster = Monsters.First(e => e.id == id); _battleResult.Experience += monster.GetExperience(); _battleResult.Gold += Random.Range(50, 500) * _level; _battleResult.Items.Add(ItemCreator.CreateItem(monster.level)); Monsters.Remove(monster); positionedMonsters.Remove(positionedMonsters.FirstOrDefault(e => e.Value.id == id).Key); allCharacters.Remove(id); CheckMonsterDict(); }
/// <summary> /// Draws the selection window for the item icon /// </summary> /// <param name="index"></param> private void DrawIconSelection(int index) { GUI.skin = null; Sprite currentSprite = ItemCreator.GetItemIcon(items[index].itemIconDirectory); currentSprite = (Sprite)EditorGUILayout.ObjectField("Item Icon", currentSprite, typeof(Sprite), false); if (!AssetDatabase.GetAssetPath(currentSprite).Equals(items[index].itemIconDirectory)) { items[index].itemIconDirectory = AssetDatabase.GetAssetPath(currentSprite); SaveData(); } }
private void SaveData() { violationsStatus = new bool[] { false, false, false, false }; if (cannotCompile) { Debug.LogError("Cannot save data, you must fix all errors before saving"); return; } ItemCreator.SaveItemData(); ItemCreator.SaveVarData(); ItemCreator.SaveCategoryData(); }
public int SetCreatorWithDuration(ItemCreator itemCreator, float duration) { if (coroutineList.Count <= emptyIdx) { coroutineList.Add(RunCreatorWithDuration(itemCreator, new WaitForSeconds(duration))); } else { coroutineList[emptyIdx] = RunCreatorWithDuration(itemCreator, new WaitForSeconds(duration)); } return(GetSettedIdx()); }
void DrawCreateLayout(ItemCreator creator) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Create")) CreateNewItem(creator); if (GUILayout.Button("Cancel")) creator.Done(); EditorGUILayout.EndHorizontal(); }
void DrawSaveLayout(ItemCreator creator) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Save")) creator.Save(); if (GUILayout.Button("Close")) creator.Done(); if (GUILayout.Button("Delete")) creator.Delete(sm); EditorGUILayout.EndHorizontal(); }