public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (this.Opl != null)
            {
                bReset |= this.Opl.ResetMembers(metaOperation, agentType, method, property);
            }

            if (this.Opr1 != null)
            {
                bReset |= this.Opr1.ResetMembers(metaOperation, agentType, method, property);
            }

            if (this.Opr2 != null)
            {
                bReset |= this.Opr2.ResetMembers(metaOperation, agentType, method, property);
            }

            foreach (TransitionEffector effector in Effectors)
            {
                bReset |= effector.ResetMembers(metaOperation, agentType, method, property);
            }

            bReset |= base.ResetMembers(metaOperation, agentType, method, property);

            if (bReset && metaOperation != MetaOperations.CheckProperty && metaOperation != MetaOperations.CheckMethod)
            {
                OnPropertyValueChanged(false);
            }

            return(bReset);
        }
示例#2
0
        public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (!this._isVisiting)
            {
                this._isVisiting = true;

                if (metaOperation == MetaOperations.CheckAgentName || metaOperation == MetaOperations.RenameAgentType)
                {
                    Debug.Check(agentType != null);
                    if (agentType != null)
                    {
                        if (agentType == this._agentType)
                        {
                            bReset = true;
                        }
                    }
                }

                bReset |= base.ResetMembers(metaOperation, agentType, baseType, method, property);

                this._isVisiting = false;
            }

            return(bReset);
        }
示例#3
0
        public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (this._task != null)
            {
                if (metaOperation == MetaOperations.ChangeAgentType || metaOperation == MetaOperations.RemoveAgentType)
                {
                    if (this._task.ShouldBeCleared(agentType))
                    {
                        this._task = null;

                        bReset = true;
                    }
                }
                else if (metaOperation == MetaOperations.RemoveMethod)
                {
                    if (method != null && method.OldName == this._task.Name)
                    {
                        this._task = null;

                        bReset = true;
                    }
                }
                else
                {
                    bReset |= this._task.ResetMembers(metaOperation, agentType, baseType, method, property);
                }
            }

            bReset |= base.ResetMembers(metaOperation, agentType, baseType, method, property);

            return(bReset);
        }
示例#4
0
        public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (this._frames != null)
            {
                bReset |= this._frames.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            bReset |= base.ResetMembers(metaOperation, agentType, baseType, method, property);

            return(bReset);
        }
示例#5
0
        public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (!this._isVisiting)
            {
                this._isVisiting = true;

                bReset = base.ResetMembers(metaOperation, agentType, method, property);

                this._isVisiting = false;
            }

            return(bReset);
        }
示例#6
0
        public bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (this.Opl != null)
            {
                bReset |= this.Opl.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            if (this.Opr1 != null)
            {
                bReset |= this.Opr1.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            if (this.Opr2 != null)
            {
                bReset |= this.Opr2.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            return(bReset);
        }
示例#7
0
        public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
        {
            bool bReset = false;

            if (this.Opl != null)
            {
                bReset |= this.Opl.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            if (this.Opr != null)
            {
                bReset |= this.Opr.ResetMembers(metaOperation, agentType, baseType, method, property);
            }

            bReset |= base.ResetMembers(metaOperation, agentType, baseType, method, property);

            if (bReset && metaOperation != MetaOperations.CheckProperty && metaOperation != MetaOperations.CheckMethod)
            {
                OnPropertyValueChanged(false);
            }

            return(bReset);
        }
示例#8
0
 public virtual bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
 {
     return(false);
 }
 public override bool ResetMembers(MetaOperations metaOperation, AgentType agentType, BaseType baseType, MethodDef method, PropertyDef property)
 {
     // This function should be empty here, so don't remove it.
     return(false);
 }