public void AddRefParam(string name, PoolObjHandle <ActorRoot> value)
        {
            if (!this.refParamList.ContainsKey(name))
            {
                SRefParam sRefParam = SObjPool <SRefParam> .New();

                sRefParam.handle = value;
                sRefParam.type   = SRefParam.ValType.ActorRoot;
                this.refParamList.Add(name, sRefParam);
            }
        }
        public void AddRefParam(string name, object value)
        {
            if (!this.refParamList.ContainsKey(name))
            {
                SRefParam sRefParam = SObjPool <SRefParam> .New();

                sRefParam.obj  = value;
                sRefParam.type = SRefParam.ValType.Object;
                this.refParamList.Add(name, sRefParam);
            }
        }
 public void ClearParams()
 {
     DictionaryView <string, SRefParam> .Enumerator enumerator = this.refParamList.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <string, SRefParam> current = enumerator.Current;
         SRefParam value = current.get_Value();
         value.Destroy();
     }
     this.refParamList.Clear();
 }
예제 #4
0
        public void AddRefParam(string name, Vector3 value)
        {
            if (!this.refParamList.ContainsKey(name))
            {
                SRefParam param = SObjPool <SRefParam> .New();

                param.type        = SRefParam.ValType.Vector3;
                param.union._vec3 = value;
                this.refParamList.Add(name, param);
            }
        }
        public bool GetRefParam(string name, ref object value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, out sRefParam) && sRefParam.type == SRefParam.ValType.Object)
            {
                value = sRefParam.obj;
                return(true);
            }
            return(false);
        }
예제 #6
0
        public void AddRefParam(string name, Quaternion value)
        {
            if (!this.refParamList.ContainsKey(name))
            {
                SRefParam param = SObjPool <SRefParam> .New();

                param.type        = SRefParam.ValType.Quaternion;
                param.union._quat = value;
                this.refParamList.Add(name, param);
            }
        }
        public void AddRefParam(string name, int value)
        {
            if (!this.refParamList.ContainsKey(name))
            {
                SRefParam sRefParam = SObjPool <SRefParam> .New();

                sRefParam.type       = SRefParam.ValType.Int;
                sRefParam.union._int = value;
                this.refParamList.Add(name, sRefParam);
            }
        }
        public bool GetRefParam(string name, ref PoolObjHandle <ActorRoot> value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, out sRefParam) && sRefParam.type == SRefParam.ValType.ActorRoot)
            {
                value = sRefParam.handle;
                return(true);
            }
            return(false);
        }
예제 #9
0
        public bool GetRefParam(string name, ref VInt3 value)
        {
            SRefParam param = null;

            if (this.refParamList.TryGetValue(name, out param) && (param.type == SRefParam.ValType.VInt3))
            {
                value = param.union._vint3;
                return(true);
            }
            return(false);
        }
        public bool GetRefParam(string name, ref Quaternion value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, out sRefParam) && sRefParam.type == SRefParam.ValType.Quaternion)
            {
                value = sRefParam.union._quat;
                return(true);
            }
            return(false);
        }
        public bool GetRefParam(string name, ref Vector3 value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, out sRefParam) && sRefParam.type == SRefParam.ValType.Vector3)
            {
                value = sRefParam.union._vec3;
                return(true);
            }
            return(false);
        }
예제 #12
0
        public void SetRefParam(string name, PoolObjHandle <ActorRoot> value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, ref sRefParam))
            {
                sRefParam.handle = value;
                ListView <RefData> srcRefDataList = this.GetSrcRefDataList(name);
                if (srcRefDataList != null)
                {
                    this.SetRefData(value, srcRefDataList);
                }
            }
        }
예제 #13
0
        public void SetRefParam(string name, object value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, ref sRefParam))
            {
                sRefParam.obj = value;
                ListView <RefData> srcRefDataList = this.GetSrcRefDataList(name);
                if (srcRefDataList != null)
                {
                    this.SetRefData(value, srcRefDataList);
                }
            }
        }
예제 #14
0
 public void InheritRefParams(AGE.Action resource)
 {
     DictionaryView <string, SRefParam> .Enumerator enumerator = resource.refParams.refParamList.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <string, SRefParam> current = enumerator.Current;
         string key = current.Key;
         KeyValuePair <string, SRefParam> pair2 = enumerator.Current;
         SRefParam param = pair2.Value;
         KeyValuePair <string, SRefParam> pair3 = enumerator.Current;
         KeyValuePair <string, SRefParam> pair4 = enumerator.Current;
         this.refParams.SetOrAddRefParam(pair3.Key, pair4.Value);
     }
 }
예제 #15
0
        public void SetRefParam(string name, VInt3 value)
        {
            SRefParam param = null;

            if (this.refParamList.TryGetValue(name, out param))
            {
                param.union._vint3 = value;
                ListView <RefData> srcRefDataList = this.GetSrcRefDataList(name);
                if (srcRefDataList != null)
                {
                    this.SetRefData(value, srcRefDataList);
                }
            }
        }
        public void SetRefParam(string name, Quaternion value)
        {
            SRefParam sRefParam = null;

            if (this.refParamList.TryGetValue(name, out sRefParam))
            {
                sRefParam.union._quat = value;
                ListView <RefData> srcRefDataList = this.GetSrcRefDataList(name);
                if (srcRefDataList != null)
                {
                    this.SetRefData(value, srcRefDataList);
                }
            }
        }
예제 #17
0
 public void InheritRefParams(Action resource)
 {
     DictionaryView <string, SRefParam> .Enumerator enumerator = resource.refParams.refParamList.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <string, SRefParam> current = enumerator.Current;
         string key = current.get_Key();
         KeyValuePair <string, SRefParam> current2 = enumerator.Current;
         SRefParam        value                    = current2.get_Value();
         RefParamOperator refParamOperator         = this.refParams;
         KeyValuePair <string, SRefParam> current3 = enumerator.Current;
         string key2 = current3.get_Key();
         KeyValuePair <string, SRefParam> current4 = enumerator.Current;
         refParamOperator.SetOrAddRefParam(key2, current4.get_Value());
     }
 }
예제 #18
0
        public SRefParam Clone()
        {
            SRefParam param = SObjPool <SRefParam> .New();

            param.type  = this.type;
            param.dirty = false;
            if (this.type < ValType.Object)
            {
                param.union._quat = this.union._quat;
                return(param);
            }
            param.obj = this.obj;
            if (this.type == ValType.ActorRoot)
            {
                param.union._uint = this.union._uint;
            }
            return(param);
        }
예제 #19
0
        public SRefParam Clone()
        {
            SRefParam sRefParam = SObjPool <SRefParam> .New();

            sRefParam.type  = this.type;
            sRefParam.dirty = false;
            if (this.type < SRefParam.ValType.Object)
            {
                sRefParam.union._quat = this.union._quat;
            }
            else
            {
                sRefParam.obj = this.obj;
                if (this.type == SRefParam.ValType.ActorRoot)
                {
                    sRefParam.union._uint = this.union._uint;
                }
            }
            return(sRefParam);
        }