예제 #1
0
            /// <summary>
            /// Finds the buff UIElement for a SnoPower
            /// </summary>
            public List <UIElement> GetBuffUIElements(SNOPower snoPower)
            {
                var container = UIElement.FromName("Root.NormalLayer.buffs_backgroundScreen");
                var elements  = UIElement.GetChildren(container);

                return(elements.Where(element => element.Name.Contains(snoPower.ToString())).ToList());
            }
예제 #2
0
        public static void SetSNOPowerUseDelay(SNOPower power, double delay)
        {
            string key = "SpellDelay." + power.ToString();
            TVar   v   = V.Data[key];

            bool hasDefaultValue = v.Value == v.DefaultValue;

            if (hasDefaultValue)
            {
                // Create a new TVar (changes the default value)
                V.Set(new TVar(v.Name, delay, v.Description));
            }
        }
예제 #3
0
파일: Spell.cs 프로젝트: ipo/AGBA
        /// <summary>
        /// Casts the specified power.
        /// </summary>
        /// <param name="power">The sno power.</param>
        /// <param name="positionRetriver">The position retriver.</param>
        /// <param name="levelAreaRetriever">The level area retriever.</param>
        /// <param name="extraCondition">The extra condition if any.</param>
        /// <param name="onUnit">The target acd GUID retriever.</param>
        /// <returns>
        ///   <c>RunStatus.Success</c> if successful, otherwise <c>RunStatus.Failure</c>.
        /// </returns>
        /// <remarks>Created 2012-04-09</remarks>
        public static Composite Cast(SNOPower power, ValueRetriever<Vector3> positionRetriver, ValueRetriever<int> levelAreaRetriever, ValueRetriever<int> onUnit, ValueRetriever<bool> extraCondition)
        {
            return new Decorator(ret =>
            {
                bool canCast = PowerManager.CanCast(power);
                bool minReqs = extraCondition != null ? extraCondition(ret) : true;

                return minReqs && canCast;
            },
            new Action(ctx =>
            {
                Vector3 position = positionRetriver != null ? positionRetriver(ctx) : Vector3.Zero;
                int worldId = levelAreaRetriever != null ? levelAreaRetriever(ctx) : 0;
                int acdGuid = onUnit != null ? onUnit(ctx) : -1;

                ZetaDia.Me.UsePower(power, position, worldId, acdGuid);
                Logger.WriteVerbose("Using power: {0}", power.ToString());
            })
            );
        }
예제 #4
0
        public static void SetSNOPowerUseDelay(SNOPower power, double delay)
        {
            string key = "SpellDelay." + power.ToString();

            if (!V.Data.ContainsKey(key))
            {
                Logger.LogDebug("Failed to Set TVar {0} - key doesnt exist");
                return;
            }


            TVar v = V.Data[key];

            bool hasDefaultValue = v.Value == v.DefaultValue;

            if (hasDefaultValue)
            {
                // Create a new TVar (changes the default value)
                V.Set(new TVar(v.Name, delay, v.Description));
            }
        }
예제 #5
0
 public static double GetSNOPowerUseDelay(SNOPower power)
 {
     return(V.D("SpellDelay." + power.ToString()));
 }
예제 #6
0
 /// <summary>
 /// Finds the buff UIElement for a SnoPower
 /// </summary>
 public List<UIElement> GetBuffUIElements(SNOPower snoPower)
 {
     var container = UIElement.FromName("Root.NormalLayer.buffs_backgroundScreen");
     var elements = UIElement.GetChildren(container);
     return elements.Where(element => element.Name.Contains(snoPower.ToString())).ToList();
 }
예제 #7
0
        public static void SetSNOPowerUseDelay(SNOPower power, double delay)
        {
            string key = "SpellDelay." + power.ToString();
            TVar v = V.Data[key];

            bool hasDefaultValue = v.Value == v.DefaultValue;

            if (hasDefaultValue)
            {
                // Create a new TVar (changes the default value)
                V.Set(new TVar(v.Name, delay, v.Description));
            }
        }
예제 #8
0
        public static void SetSNOPowerUseDelay(SNOPower power, double delay)
        {
            string key = "SpellDelay." + power.ToString();

            if (!V.Data.ContainsKey(key))
            {
                Logger.LogDebug("Failed to Set TVar {0} - key doesnt exist");
                return;
            }
                

            TVar v = V.Data[key];

            bool hasDefaultValue = v.Value == v.DefaultValue;

            if (hasDefaultValue)
            {
                // Create a new TVar (changes the default value)
                V.Set(new TVar(v.Name, delay, v.Description));
            }
        }