コード例 #1
0
ファイル: ManufactoryBase.cs プロジェクト: EpicProj/RPG
        public void SetData()
        {
            _blockBase      = UIUtility.SafeGetComponent <FunctionBlockBase>(transform);
            manufactoryInfo = new ManufactoryInfo(_blockBase.functionBlock);
            formulaInfo     = new ManufactFormulaInfo(_blockBase.functionBlock.FunctionBlockID);

            _blockBase.OnBlockSelectAction    += Onselect;
            _blockBase.OnBlockAreaEnterAction += OnBlockAreaEnter;
        }
コード例 #2
0
ファイル: ModifierManager.cs プロジェクト: EpicProj/RPG
        /// <summary>
        /// General FuntionBlock
        /// </summary>
        /// <param name="infoData"></param>
        /// <param name="modifierBase"></param>
        public void AddManufactoryBlockModifier(ManufactoryInfo manuInfo, FunctionBlockInfoData baseInfo, ModifierBase modifierBase)
        {
            if (modifierBase == null)
            {
                Debug.LogError("Modifier Base Data is null");
                return;
            }
            if (modifierBase.ParseTargetType(modifierBase.Target) != ModifierTarget.FunctionBlock)
            {
                Debug.LogError("ModifierTargetError  Name=" + modifierBase.ModifierName);
                return;
            }

            ModifierData data = null;

            switch (modifierBase.ParseModifierFunctionBlockType(modifierBase.effectType))
            {
            case ModifierFunctionBlockType.ManuSpeed:
                //Modifier Speed
                if (!IsAddFunctionBlockModifier(baseInfo, modifierBase))
                {
                    data = ModifierData.Create(modifierBase, delegate
                    {
                        manuInfo.AddCurrentSpeed(modifierBase.Value);
                        UIManager.Instance.SendMessageToWnd(UIPath.WindowPath.BlockManu_Page, new UIMessage(UIMsgType.UpdateSpeedText, new List <object>(1)
                        {
                            manuInfo.CurrentSpeed
                        }));
                    });
                }
                break;

            case ModifierFunctionBlockType.EnergyCostNormal:
                //Modifier EnergyCost
                if (!IsAddFunctionBlockModifier(baseInfo, modifierBase))
                {
                    data = ModifierData.Create(modifierBase, delegate
                    {
                        manuInfo.AddEnergyCostNormal(modifierBase.Value);
                    });
                }
                break;
            }

            if (data != null)
            {
                baseInfo.blockModifier.OnAddModifier(data);
            }
        }
コード例 #3
0
ファイル: FunctionBlockModifier.cs プロジェクト: EpicProj/RPG
 public void DoManufactModifier(ManufactoryInfo manuInfo, FunctionBlockInfoData baseInfo, string modifierName)
 {
     ModifierManager.Instance.AddManufactBlockModifier(manuInfo, baseInfo, modifierName);
 }
コード例 #4
0
ファイル: ModifierManager.cs プロジェクト: EpicProj/RPG
 public void AddManufactBlockModifier(ManufactoryInfo manuInfo, FunctionBlockInfoData baseInfo, string modifierName)
 {
     AddManufactoryBlockModifier(manuInfo, baseInfo, GetModifierBase(modifierName));
 }