Example #1
0
	//	[HideInInspector]

	// Property -------------------------------------------------------------------------
	public void ClearClipboard()
	{
		m_ObjectType	= OBJECT_TYPE.NONE;
		if (m_CopyCloneGameObject != null)
			DestroyImmediate(m_CopyCloneGameObject);
		m_CopyCloneObject = null;
		m_PrefabObject	= null;
	}
Example #2
0
    //	[HideInInspector]

    // Property -------------------------------------------------------------------------
    public void ClearClipboard()
    {
        m_ObjectType = OBJECT_TYPE.NONE;
        if (m_CopyCloneGameObject != null)
        {
            DestroyImmediate(m_CopyCloneGameObject);
        }
        m_CopyCloneObject = null;
        m_PrefabObject    = null;
    }
Example #3
0
        public static TModel Create(OBJECT_TYPE type, Entities.ENTITY_TYPE parentType, uint parentId)
        {
            var obj = (TObject)Activator.CreateInstance(typeof(TObject), (int)type, (int)parentType, parentId);

            ObjectManager.AddObject(obj);

            var model = (TModel)Activator.CreateInstance(typeof(TModel), (TObject)obj);

            return(model);
        }
    void SpawnUnScoreables(int amt)
    {
        List <GameObject> temp       = new List <GameObject>();
        List <int>        SortOrders = new List <int>();

        for (int i = 0; i < amt; i++)
        {
            GameObject  obj   = null;
            int         index = Random.Range((int)OBJECT_TYPE.Chun_Lian, (int)OBJECT_TYPE.Pineapple_Tart + 1);
            OBJECT_TYPE type  = (OBJECT_TYPE)index;
            if (type == OBJECT_TYPE.Chun_Lian)
            {
                SortOrders.Add(GetHighestSortingOrder(Chun_Lian_List));
                obj = GetFromPool(Chun_Lian_List, "chunlianpool");
            }
            else if (type == OBJECT_TYPE.Mandarin_Orange)
            {
                SortOrders.Add(GetHighestSortingOrder(Mandarin_Oranges_List));
                obj = GetFromPool(Mandarin_Oranges_List, "orangepool");
            }
            else if (type == OBJECT_TYPE.Firecracker)
            {
                SortOrders.Add(GetHighestSortingOrder(Firecracker_List));
                obj = GetFromPool(Firecracker_List, "firecrackerpool");
            }
            else if (type == OBJECT_TYPE.Pineapple_Tart)
            {
                SortOrders.Add(GetHighestSortingOrder(Pineapple_List));
                obj = GetFromPool(Pineapple_List, "tartpool");
            }
            temp.Add(obj);
        }

        if (temp.Count > 0)
        {
            for (int i = 0; i < temp.Count; i++)
            {
                GameObject obj = temp[i];
                if (obj != null)
                {
                    obj.GetComponent <SpriteRenderer>().sortingOrder = SortOrders[i] + 1;
                    obj.transform.position = GetRandomPosition();
                    obj.SetActive(true);
                    obj.transform.DOScale(Vector3.one * 0.8f, 0.75f).SetEase(Ease.OutElastic).OnComplete(() => { obj.GetComponent <ObjectBase>().Draggable = true; });
                    //Debug.Log("spawned " + obj.name);
                }
            }
        }
        SortOrders.Clear();
        SortOrders = null;
        temp.Clear();
        temp = null;
    }
Example #5
0
        public static List <TModel> GetAll(OBJECT_TYPE type)
        {
            var list = new List <TModel>();

            foreach (var obj in ObjectManager.GetObjects((int)type))
            {
                var model = (TModel)Activator.CreateInstance(typeof(TModel), obj);
                list.Add(model);
            }

            return(list);
        }
Example #6
0
        public static TModel Get(OBJECT_TYPE type, uint id)
        {
            TModel model = default(TModel);

            (var err, var obj) = ObjectManager.GetObject((int)type, id);
            if (obj == null)
            {
                Logger.Error(err);
            }
            else
            {
                model = (TModel)Activator.CreateInstance(typeof(TModel), obj);
            }

            return(model);
        }
    void SpawnScorables(OBJECT_TYPE type, int amt)
    {
        List <GameObject> temp = new List <GameObject>();

        if (type == OBJECT_TYPE.Huat_Kueh)
        {
            current_huat_kueh_amt += amt;
        }
        else
        {
            current_ang_pao_amt += amt;
        }

        for (int i = 0; i < amt; i++)
        {
            GameObject obj = null;
            if (type == OBJECT_TYPE.Huat_Kueh)
            {
                obj = GetFromPool(Huat_Kueh_List, "huatkuehpool");
            }
            else
            {
                obj = GetFromPool(Ang_Pao_List, "angpaopool");
            }

            temp.Add(obj);
        }

        if (temp.Count > 0)
        {
            for (int i = 0; i < temp.Count; i++)
            {
                GameObject obj = temp[i];
                if (obj != null)
                {
                    obj.transform.position   = GetRandomPosition();
                    obj.transform.localScale = Vector3.zero;
                    obj.SetActive(true);
                    obj.transform.DOScale(Vector3.one * 0.8f, 0.75f).SetEase(Ease.OutElastic).OnComplete(() => { obj.GetComponent <ObjectBase>().Draggable = true; });
                    //Debug.Log("spawned " + obj.name);
                }
            }
        }
        temp.Clear();
        temp = null;
    }
Example #8
0
        public static TModel GetByParent(OBJECT_TYPE type, int parentType, uint parentId)
        {
            TModel model   = null;
            var    objects = ObjectManager.GetObjects((int)type);

            // objects =  (from obj in objects where obj.ParentType == parentType && obj.ParentId == parentId select obj).ToList();
            foreach (var obj in objects)
            {
                if (obj.ParentType == parentType && obj.ParentId == parentId)
                {
                    model = (TModel)Activator.CreateInstance(typeof(TModel), obj);
                    break;
                }
            }

            return(model);
        }
Example #9
0
    //****************************************************************************************************
    //
    //****************************************************************************************************

    public WebMapObjectBase CreateMapObject(OBJECT_TYPE type, CREATE_MODE mode, Localizable localizable)
    {
        GameObject mdl = Resources.Load <GameObject>(m_mapObjectModel[( int )type]);

        Quaternion q = Quaternion.AngleAxis(-90.0f, Vector3.right);

        GameObject Obj = (mdl != null) ? GameObject.Instantiate(mdl, Vector3.up * 32.0f, q, m_deposit.transform) as GameObject : null;

        if (Obj != null)
        {
            WebMapObjectBase mapObj = Obj.GetComponent <WebMapObjectBase>();

            if (mapObj != null)
            {
                mapObj.localizable = localizable;

                if (mode == CREATE_MODE.CREATE_DRAG)
                {
                    if (DragDropOperation.Begin(this, mapObj) == false)
                    {
                        DragDropOperation.Cancel();
                    }
                    else
                    {
                        UpdateDrag(mapObj);

                        return(mapObj);
                    }
                }
                else
                {
                    List <WebMapObjectBase> list = (type == OBJECT_TYPE.FLAG) ? m_flags : m_pins;

                    list.Add(mapObj);

                    return(mapObj);
                }
            }
        }

        return(null);
    }
    public void UpdateScoreableAmount(OBJECT_TYPE type)
    {
        if (type == OBJECT_TYPE.Huat_Kueh)
        {
            current_huat_kueh_amt--;
        }
        else if (type == OBJECT_TYPE.Ang_Pao)
        {
            current_ang_pao_amt--;
        }

        if (current_huat_kueh_amt <= (huat_kueh_amount / 2))
        {
            SpawnScorables(OBJECT_TYPE.Huat_Kueh, Random.Range(non_scoreable_amt_min, non_scoreable_amt_max));
        }
        else if (current_ang_pao_amt <= (ang_pao_amount / 2))
        {
            SpawnScorables(OBJECT_TYPE.Ang_Pao, Random.Range(5, 10));
        }
    }
Example #11
0
        public OBJECT_TYPE StringToType(string str)
        {
            OBJECT_TYPE type = OBJECT_TYPE.UNKNOWN;

            switch (str)
            {
            case "WideIPs": { type = OBJECT_TYPE.GTM_WIDEIP; break; }

            case "Nodes": { type = OBJECT_TYPE.LTM_NODE; break; }

            case "Pools": { type = OBJECT_TYPE.LTM_POOL; break; }

            case "Rules": { type = OBJECT_TYPE.LTM_RULE; break; }

            case "VirtualServers": { type = OBJECT_TYPE.LTM_VIRTUAL_SERVER; break; }

            case "Database": { type = OBJECT_TYPE.MANAGEMENT_DATABASE; break; }

            case "Users": { type = OBJECT_TYPE.MANAGEMENT_USERS; break; }

            case "Interfaces": { type = OBJECT_TYPE.NETWORK_INTERFACE; break; }

            case "VLANs": { type = OBJECT_TYPE.NETWORK_VLAN; break; }

            case "Services": { type = OBJECT_TYPE.SYSTEM_SERVICES; break; }

            case "SystemInfo": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO; break; }

            case "CPU": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO_CPU; break; }

            case "Disk": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO_DISK; break; }

            case "Fan": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO_FAN; break; }

            case "Memory": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO_MEMORY; break; }

            case "Power": { type = OBJECT_TYPE.SYSTEM_SYSTEMINFO_POWER; break; }
            }
            return(type);
        }
Example #12
0
    public void SetClipboardObject(Object setObj)
    {
        ClearClipboard();

        if (setObj is Transform)
        {
            m_ObjectType = OBJECT_TYPE.TRANSFORM;
            SetClipboardTransform((setObj as Transform));
        }
        else
        if (setObj is GameObject)
        {
            m_ObjectType = OBJECT_TYPE.GAMEOBJECT;
            SetClipboardGameObject((setObj as GameObject));
        }
        else
        if (setObj is Component)
        {
            m_ObjectType = OBJECT_TYPE.COMPONENT;
            SetClipboardComponent((setObj as Component));
        }
        else
        if (setObj is Material)
        {
            m_ObjectType      = OBJECT_TYPE.MATERIAL;
            m_CopyCloneObject = setObj;
        }
        else
        if (setObj is AnimationClip)
        {
            m_ObjectType      = OBJECT_TYPE.ANIMATIONCLIP;
            m_CopyCloneObject = setObj;
        }
        else
        {
            Debug.LogWarning("SetClipboardObject() - Invaild type!!!");
            return;
        }
    }
Example #13
0
    private BLOCK_EVENT getBumpWay(Vector2 block_pos, OBJECT_TYPE object_type)
    {
        float block_width  = 50.0f;
        float block_height = 50.0f;

        switch (object_type)
        {
        case OBJECT_TYPE.BLOCK:
            block_width  = 50.0f;
            block_height = 50.0f;
            break;

        case OBJECT_TYPE.OBSTACLE:
            block_width  = 30.0f;
            block_height = 35.0f;
            break;

        case OBJECT_TYPE.THIN_BAR:
            block_width  = 50.0f;
            block_height = 50.0f;
            break;

        case OBJECT_TYPE.POWERUP_JUMPONCE:
            block_width  = 70.0f;
            block_height = 70.0f;
            break;
        }

        if (Mathf.Abs(current_pos.y - block_pos.y) >= block_height || Mathf.Abs(current_pos.x - block_pos.x) >= block_width / 5.0f * 3.0f)
        {
            return(BLOCK_EVENT.NOBUMP);
        }
        if (Mathf.Abs(current_pos.x - block_pos.x) - block_width < Mathf.Abs(current_pos.y - block_pos.y) - block_height)
        {
            return(BLOCK_EVENT.TOPDOWNBUMP);
        }
        return(BLOCK_EVENT.SIDEBUMP);
    }
Example #14
0
    //****************************************************************************************************
    //
    //****************************************************************************************************

    public Localizable CreateMapObjectLocalizable(OBJECT_TYPE type)
    {
        Localizable localizable = null;

        object session = (DBObjects.instance != null) ? DBObjects.instance.BeginEdit() : null;


        if (session != null)
        {
            Localizable parent = DBObjects.instance.root;

            if (type == OBJECT_TYPE.PIN)
            {
                Localizable selection = (HUDSites.Instance != null) && (HUDSites.Instance.items.selection is Localizable) ? HUDSites.Instance.items.selection as Localizable : null;

                Site selectedSite = (selection != null) && (selection is Site) ? selection as Site : null;

                Item selectedItem = (selection != null) && (selection is Item) ? selection as Item : null;

                if (selectedSite != null)
                {
                    parent = selectedSite;
                }

                else if (selectedItem != null)
                {
                    parent = selectedItem.m_parent;
                }
            }

            localizable = (type == OBJECT_TYPE.FLAG) ? DBObjects.instance.Create <Site>(null, null, session) : DBObjects.instance.Create <Item>(parent, null, session);

            DBObjects.instance.EndEdit(session);
        }

        return(localizable);
    }
Example #15
0
	// AddOn Button
	void DrawAddOnButton(OBJECT_TYPE objType, Rect objectRect, Transform currentTrans, Object selObj, int selIndex)
	{
		// add child prefab
		GUI.color	= new Color(1, 1, 1, 0.7f);
		Rect addRect = objectRect;
		addRect.x += addRect.width + 1;
		addRect.width = addRect.height;
		addRect.height	-= 1;
		addRect = FXMakerLayout.GetOffsetRect(addRect, -1);

		string scriptFilename = null;

		switch (objType)
		{
			case OBJECT_TYPE.OBJECT_GAMEOBJECT:
				{
					// Component
					if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_GameObject"), m_styleButtonAddPrefab))
						scriptFilename	= "FxmPopup_GameObject";
					else {
						// Prefab
						addRect.x += addRect.width + 4;
						if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_AddPrefab"), m_styleButtonAddPrefab))
							FxmPopupManager.inst.ShowAddPrefabPopup(currentTrans);
						return;
					}
					break;
				}
			case OBJECT_TYPE.OBJECT_TRANSFORM:
				{
					if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_Transform"), m_styleButtonAddPrefab))
						scriptFilename = "FxmPopup_Transform";
					break;
				}
			case OBJECT_TYPE.OBJECT_MATERIAL:
				{
					if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_Material"), m_styleButtonAddPrefab))
						FxmPopupManager.inst.ShowMaterialPopup(currentTrans, selIndex);

// 					addRect.x += addRect.width + 4;
// 					if (GUI.Button(addRect, NgTooltip.GetHcEffectHierarchy("AddOn_RemoveMaterial"), m_styleButtonAddPrefab))
// 						NgAsset.RemoveSharedMaterial(selObj as Renderer, selIndex);
					return;
				}
			case OBJECT_TYPE.OBJECT_UNITYENGINE:
				{
					if (selObj is MeshFilter)
						if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_Mesh"), m_styleButtonAddPrefab))
							FxmPopupManager.inst.ShowSelectMeshPopup(selObj as MeshFilter);

					if ((selObj is ParticleEmitter || selObj is ParticleSystem || selObj is ParticleSystemRenderer))
						if (IsMeshFromMeshList(selObj as Component))
							if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("Popup_Mesh"), m_styleButtonAddPrefab))
								FxmPopupManager.inst.ShowSelectMeshPopup(selObj as Component);

					if (selObj is Renderer && (selObj is ParticleSystemRenderer) == false)
						if (GUI.Button(addRect, FXMakerTooltip.GetHcEffectHierarchy("AddOn_AddMaterial"), m_styleButtonAddPrefab))
							NgMaterial.AddSharedMaterial(selObj as Renderer);
					return;
				}
		}

		if (scriptFilename != null)
			FxmPopupManager.inst.ShowHierarchyObjectPopup(scriptFilename, selObj);
	}
Example #16
0
 public MapObject()
 {
     object_type = OBJECT_TYPE.NULL;
     p_row       = p_col = 0;
     class_a     = true;
 }
Example #17
0
 public void SetClipboardPrefab(GameObject setPrefabObj, bool bCutCopy)
 {
     m_ObjectType     = OBJECT_TYPE.PREFAB;
     m_bPrefabCutCopy = bCutCopy;
     m_PrefabObject   = setPrefabObj;
 }
Example #18
0
 void OnScoredEvent(OBJECT_TYPE type)
 {
     objectManager.UpdateScoreableAmount(type);
 }
Example #19
0
        // Change Order
        //------------------------------------------------------------
        public bool ChangeOrder(apPortrait portrait, OBJECT_TYPE objectType, int ID, bool isOrderUp)
        {
            //Debug.Log("ChangeOrder : " + objectType + " / " + ID + " / Up : " + isOrderUp);

            //1. 타겟이 있는지 확인
            List <OrderSet> orderSets = _orderSets[objectType];
            OrderSet        target    = orderSets.Find(delegate(OrderSet a)
            {
                return(a._ID == ID);
            });

            if (target == null)
            {
                return(false);
            }
            if (objectType == OBJECT_TYPE.MeshGroup)
            {
                //MeshGroup이 없거나 자식 MeshGroup이면 순서를 바꿀 수 없다.
                if (target._linked_MeshGroup == null)
                {
                    return(false);
                }
                if (target._linked_MeshGroup._parentMeshGroup != null)
                {
                    return(false);
                }
            }

            //Order Up : order 값이 1 줄어든다.
            //Order Down : order 값이 1 증가한다.
            //자리가 바뀔 대상을 찾는다.
            //단, MeshGroup은 Parent가 없는 것들이어야 한다.

            int prevOrder = target._customOrder;
            int nextOrder = isOrderUp ? (prevOrder - 1) : (prevOrder + 1);

            OrderSet switchTarget = null;

            if (objectType == OBJECT_TYPE.MeshGroup)
            {
                switchTarget = orderSets.Find(delegate(OrderSet a)
                {
                    if (a._linked_MeshGroup == null)
                    {
                        return(false);
                    }
                    if (a._linked_MeshGroup._parentMeshGroup != null)
                    {
                        return(false);
                    }
                    //MeshGroup이 null이거나 하위 MeshGroup이면 패스

                    return(a._customOrder == nextOrder && a != target);
                });
            }
            else
            {
                switchTarget = orderSets.Find(delegate(OrderSet a)
                {
                    return(a._customOrder == nextOrder && a != target);
                });
            }

            if (switchTarget != null)
            {
                //서로의 Order 값을 바꾼다.
                switchTarget._customOrder = prevOrder;
                target._customOrder       = nextOrder;

                //Debug.Log("자리 바꾸기 : " + target.Name + " <-> " + switchTarget.Name);

                SortByCustom();

                //만약 RootUnit의 경우라면, Portrait에서의 RootUnit 인덱스를 교환할 필요도 있다.
                if (objectType == OBJECT_TYPE.RootUnit)
                {
                    portrait._mainMeshGroupIDList.Clear();
                    portrait._rootUnits.Clear();

                    for (int i = 0; i < orderSets.Count; i++)
                    {
                        apRootUnit rootUnit = orderSets[i]._linked_RootUnit;
                        portrait._mainMeshGroupIDList.Add(rootUnit._childMeshGroup._uniqueID);
                        portrait._rootUnits.Add(rootUnit);
                    }
                }
                return(true);
            }
            //else
            //{
            //	Debug.LogError("자리 바꾸기 실패 : " + target.Name);
            //}

            return(false);
        }
Example #20
0
	public void SetClipboardPrefab(GameObject setPrefabObj, bool bCutCopy)
	{
		m_ObjectType		= OBJECT_TYPE.PREFAB;
		m_bPrefabCutCopy	= bCutCopy;
		m_PrefabObject		= setPrefabObj;
	}
Example #21
0
 public ReplyT(Base.Desc desc, OBJECT_TYPE type)
     : base(type)
 {
     m_SessionNum  = desc.m_AcceptSessionNum;
     m_SessionPool = new Session.SessionPool <T>(m_SessionNum, this);
 }
Example #22
0
 public ObjectIndex(OBJECT_TYPE type, int index, float z)
 {
     Type   = type;
     Index  = index;
     ZLayer = z;
 }
Example #23
0
 // Use this for initialization
 void Start()
 {
     myType     = OBJECT_TYPE.BASE_TYPE;
     PlayerHUD  = PlayerHUD.GetComponent <PlayerUI>();
     IconImages = new Sprite[PlayerHUD.HUDButtons.Length];
 }
Example #24
0
 public Object()
 {
     _depleted = false;
     _type = OBJECT_TYPE.TYPE_OBJECT;
     _typeId = OBJECT_TYPE_ID.TYPEID_OBJECT;
     Data = new Dictionary<int, uint>();
 }
Example #25
0
 protected virtual void Awake()
 {
     objectType = OBJECT_TYPE.NIL;
     health     = maxHealth;
     SubscriptionSystem.Instance.SubscribeEvent("TileUpdated", InitCurrentTile);
 }
Example #26
0
 protected virtual void EmitPlainCompositeHashCode(
     CompositeCodeGenerationInfo codeGenerationInfo,
     CompositeModel compositeModel,
     CompositeTypeModel typeModel,
     CompositeTypeGenerationInfo publicCompositeGenInfo,
     CompositeTypeGenerationInfo thisGenInfo,
     CompositeEmittingInfo emittingInfo,
     IEnumerable <FragmentTypeGenerationInfo> fragmentGenerationInfos
     )
 {
     this.EmitCallNonCompositeMethod(
         codeGenerationInfo,
         compositeModel,
         typeModel,
         publicCompositeGenInfo,
         thisGenInfo,
         emittingInfo,
         fragmentGenerationInfos,
         HASH_CODE_METHOD,
         null,
         null,
         genInfos => genInfos.FirstOrDefault(genInfo =>
     {
         var result = thisGenInfo.Parents.Keys.Where(t => !thisGenInfo.Builder.Equals(t)).OnlyBottomTypes().Where(t => !OBJECT_TYPE.Equals(t)).Any(p => genInfo.Parents.ContainsKey(p.GenericDefinitionIfGArgsHaveGenericParams())) ||
                      genInfo.DirectBaseFromModel.GetFullInheritanceChain().Any(t => compositeModel.ApplicationModel.GenericFragmentBaseType.NewWrapperAsType(this.ctx).Equals(t));
         if (result)
         {
             var m  = TypeGenerationUtils.FindMethodImplicitlyImplementingMethod(genInfo.DirectBaseFromModel, HASH_CODE_METHOD);
             result = !HASH_CODE_METHOD.Equals(m);
         }
         return(result);
     })
         );
 }
Example #27
0
        protected virtual void EmitPlainCompositeEquals(
            CompositeCodeGenerationInfo codeGenerationInfo,
            CompositeModel compositeModel,
            CompositeTypeModel typeModel,
            CompositeTypeGenerationInfo publicCompositeGenInfo,
            CompositeTypeGenerationInfo thisGenInfo,
            CompositeEmittingInfo emittingInfo,
            IEnumerable <FragmentTypeGenerationInfo> fragmentGenerationInfos
            )
        {
            // return Object.ReferenceEquals(this, obj) || (obj is <composite type> && <equals-implementation>);
            ILLabel?returnTrueL  = null;
            ILLabel?returnFalseL = null;

            this.EmitCallNonCompositeMethod(
                codeGenerationInfo,
                compositeModel,
                typeModel,
                publicCompositeGenInfo,
                thisGenInfo,
                emittingInfo,
                fragmentGenerationInfos,
                EQUALS_METHOD,
                il =>
            {
                // Make labels for true and false values
                returnTrueL  = il.DefineLabel();
                returnFalseL = il.DefineLabel();

                il.EmitLoadArg(0)
                .EmitLoadArg(1)
                .EmitCall(REFERENCE_EQUALS_METHOD)
                .EmitBranch(BranchType.IF_TRUE, returnTrueL.Value);

                var continueLabel = il.DefineLabel();
                foreach (var parent in thisGenInfo.Parents.Values.OnlyBottomTypes())
                {
                    il.EmitLoadArg(1)
                    .EmitIsInst(parent)
                    .EmitBranch(BranchType.IF_TRUE, continueLabel);
                }
                il.EmitBranch(BranchType.ALWAYS, returnFalseL.Value)
                .MarkLabel(continueLabel);
            },
                il =>
            {
                // return true
                il.MarkLabel(returnTrueL.Value)
                .EmitLoadBoolean(true)
                .EmitReturn()

                // return false
                .MarkLabel(returnFalseL.Value)
                .EmitLoadBoolean(false)
                .EmitReturn();
            },
                genInfos => genInfos.FirstOrDefault(genInfo =>
            {
                var result = thisGenInfo.Parents.Keys.Where(t => !thisGenInfo.Builder.Equals(t)).OnlyBottomTypes().Where(t => !OBJECT_TYPE.Equals(t)).Any(p => genInfo.Parents.ContainsKey(p.GenericDefinitionIfGArgsHaveGenericParams())) ||
                             genInfo.DirectBaseFromModel.GetFullInheritanceChain().Any(t => compositeModel.ApplicationModel.GenericFragmentBaseType.NewWrapperAsType(this.ctx).Equals(t));
                if (result)
                {
                    var m  = TypeGenerationUtils.FindMethodImplicitlyImplementingMethod(genInfo.DirectBaseFromModel, EQUALS_METHOD);
                    result = !EQUALS_METHOD.Equals(m);
                }
                return(result);
            })
                );
        }
Example #28
0
	// enable/disable
	void DrawEnableButton(OBJECT_TYPE objType, bool bScriptComponent, Rect objectRect, Transform currentTrans, Object selObj)
	{
		bool bGameObject = objType == OBJECT_TYPE.OBJECT_GAMEOBJECT;

		if (bGameObject || (bScriptComponent && 0 <= EditorUtility.GetObjectEnabled(selObj)))
		{
			bool	bEnable = false;
			if (bGameObject)
			{
				bEnable	= (currentTrans.gameObject.GetComponent<NcDontActive>() == null);
			} else
			if (bScriptComponent)
			{
				bEnable = (0 < EditorUtility.GetObjectEnabled(selObj));
			}

			GUI.color	= new Color(1, 1, 1, 0.7f);
			Rect disRect = objectRect;
			disRect.width = disRect.height;
			disRect = FXMakerLayout.GetOffsetRect(disRect, -1);
			bool ret = (GUI.Toggle(disRect, bEnable, FXMakerTooltip.GetHcEffectHierarchy("Enable"), m_styleToggle));
			if (ret != bEnable)
			{
				if (bGameObject)
					SetEnableGameObject(currentTrans.gameObject, ret);
				else {
//					((Behaviour)selObj).enabled = ret;
					EditorUtility.SetObjectEnabled(selObj, ret);
					OnEnableComponent(selObj as Component, ret);
				}
				FXMakerMain.inst.CreateCurrentInstanceEffect(true);
			}
			if (bGameObject && ret == false)
				GUI.DrawTexture(disRect, m_DisableTexture);
		}
	}
Example #29
0
	void CheckMissing(OBJECT_TYPE objType, Transform currentTrans, Object selObj, int nColumn, int nRow, int nSelIndex)
	{
		switch (objType)
		{
			case OBJECT_TYPE.OBJECT_GAMEOBJECT:
				{
					Component[]	coms = currentTrans.GetComponents<Component>();
					for (int n = 0; n < coms.Length; n++)
					{
						if (coms[n] == null)
						{
//							if (FXMakerMain.inst.IsFrameCreateInstance())
// 							Debug.LogWarning("Missage script !!! - GameObject : " + drawTrans.name);
							DrawWarringIcon(nColumn, nRow, "Missing script !!! - Index : " + n);
							continue;
						}
					}
					break;
				}
			case OBJECT_TYPE.OBJECT_TRANSFORM:
				{
					if (currentTrans.particleEmitter != null || currentTrans.particleSystem != null)
					{
						if (0.02f < Mathf.Abs(Vector3.Distance(currentTrans.lossyScale, Vector3.one)) && currentTrans.GetComponent<NcParticleSystem>() == null)
							DrawWarringIcon(nColumn, nRow, FXMakerTooltip.GetHsScriptMessage("SCRIPT_NEED_SCALEPARTICLE"));
					}
					break;
				}
			case OBJECT_TYPE.OBJECT_EASYEFFECT:
				{
					NcEffectBehaviour	com		= selObj as NcEffectBehaviour;
					if (com != null)
					{
						string				errKey	= com.CheckProperty();
						if (errKey != "")
							DrawWarringIcon(nColumn, nRow, FXMakerTooltip.GetHsScriptMessage(errKey));
					}
					break;
				}
			case OBJECT_TYPE.OBJECT_UNITYENGINE:
			case OBJECT_TYPE.OBJECT_OTHER:
				{
					Component com = selObj as Component;
					if (IsMeshFromMeshList(com))
						if (GetMeshFromMeshList(com) == false)
							DrawWarringIcon(nColumn, nRow, "Missing Mesh !!!");

					NcEffectBehaviour	ncCom = selObj as NcEffectBehaviour;
					if (ncCom != null)
					{
						string	errKey	= ncCom.CheckProperty();
						if (errKey != "")
							DrawWarringIcon(nColumn, nRow, FXMakerTooltip.GetHsScriptMessage(errKey));
					}
					break;
				}
			case OBJECT_TYPE.OBJECT_MATERIAL:
				{
					Material	mat = selObj as Material;
					if (mat == null)
						DrawWarringIcon(nColumn, nRow, "Missing Material !!! - Index : " + nSelIndex);
					else {
						if (mat.shader == null || mat.shader.name == "")
							DrawWarringIcon(nColumn, nRow, "Missing Shader !!! - Material : " + mat.name);
						if (NgMaterial.GetTexture(mat, false) == null)
							DrawWarringIcon(nColumn, nRow, "Missing Texture !!! - Material : " + mat.name);
						if (NgMaterial.IsMaskTexture(mat) && NgMaterial.GetTexture(mat, true) == null)
							DrawWarringIcon(nColumn, nRow, "Missing MaskTexture !!! - Material : " + mat.name);
					}
					break;
				}
			default: break;
		}
	}
Example #30
0
 public Object(OBJECT_TYPE type = OBJECT_TYPE.TYPE_None)
 {
     m_Type   = type;
     m_Status = OBJECT_STATUS.STATUS_None;
 }
Example #31
0
	public void SetClipboardObject(Object setObj)
	{
		ClearClipboard();

		if (setObj is Transform)
		{
			m_ObjectType = OBJECT_TYPE.TRANSFORM;
			SetClipboardTransform((setObj as Transform));
		} else
		if (setObj is GameObject)
		{
			m_ObjectType = OBJECT_TYPE.GAMEOBJECT;
			SetClipboardGameObject((setObj as GameObject));
		} else
		if (setObj is Component)
		{
			m_ObjectType = OBJECT_TYPE.COMPONENT;
			SetClipboardComponent((setObj as Component));
		} else
		if (setObj is Material)
		{
			m_ObjectType = OBJECT_TYPE.MATERIAL;
			m_CopyCloneObject		= setObj;
		} else
		if (setObj is AnimationClip)
		{
			m_ObjectType = OBJECT_TYPE.ANIMATIONCLIP;
			m_CopyCloneObject		= setObj;
		} else {
			Debug.LogWarning("SetClipboardObject() - Invaild type!!!");
			return;
		}
	}
Example #32
0
 public ObjectIndex(OBJECT_TYPE type, int index, float z)
 {
     Type = type;
     Index = index;
     ZLayer = z;
 }
Example #33
0
 protected override void Visit_OBJECT_TYPE(OBJECT_TYPE node)
 {
     /* MOVE CODE HERE */
 }
Example #34
0
 /// <summary>
 /// Function: ObjectCreate
 /// Description: The function creates an object with the specified name, type, and the initial coordinates in the specified chart subwindow of the specified chart. There are two variants of the function:
 /// URL: http://docs.mql4.com/objects/objectcreate.html
 /// </summary>
 /// <param name="object_name">[in] Name of the object. The name must be unique within a chart, including its subwindows.</param>
 /// <param name="object_type">[in] Object type. The value can be one of the values of the enumeration.</param>
 /// <param name="sub_window">[in] Number of the chart subwindow. 0 means the main chart window. The specified subwindow must exist (window index must be greater or equal to 0 and less than ), otherwise the function returns false.</param>
 /// <param name="time1">[in] The time coordinate of the first anchor point.</param>
 /// <param name="price1">[in] The price coordinate of the first anchor point.</param>
 /// <param name="timeN">[in] The time coordinate of the N-th anchor point.</param>
 /// <param name="priceN">[in] The price coordinate of the N-th anchor point.</param>
 public bool ObjectCreate(string object_name, OBJECT_TYPE object_type, int sub_window, DateTime time1, double price1)
 {
     List<Object> parameters = new List<Object>();
     parameters.Add(object_name);
     parameters.Add(object_type.ToString());
     parameters.Add(sub_window);
     parameters.Add(time1);
     parameters.Add(price1);
     int id = getCommandManager().ExecCommand(MQLCommand.ObjectCreate_3, parameters); // MQLCommand ENUM = 1001
     while (getCommandManager().IsCommandRunning(id))
     {
         //Thread.Sleep(1);
     }
     getCommandManager().throwExceptionIfErrorResponse(id);
     return (bool)getCommandManager().GetCommandResult(id);
 }
Example #35
0
    //****************************************************************************************************
    //
    //****************************************************************************************************

    public WebMapObjectBase ReuseOrCreateMapObject(List <WebMapObjectBase> pool, List <WebMapObjectBase> list, OBJECT_TYPE type, CREATE_MODE mode, Localizable localizable)
    {
        WebMapObjectBase mapObj = null;

        if ((pool != null) && (pool.Count > 0))
        {
            mapObj = pool[pool.Count - 1];

            pool.RemoveAt(pool.Count - 1);

            if (mapObj != null)
            {
                mapObj.localizable = localizable;

                if (list != null)
                {
                    list.Add(mapObj);
                }
            }
        }
        else
        {
            mapObj = CreateMapObject(type, mode, localizable);
        }

        return(mapObj);
    }
Example #36
0
	// show Hierarchy Node
	bool DrawHierarchyBox(OBJECT_TYPE objType, GameObject parentObj, Object parentCom, Transform currentTrans, int nColumn, int nRow, string caption, Object selObj, int selIndex, bool bScriptComponent)
	{
		bool	bClick		= false;
		Rect	boxRect		= GetGridButtonRect(nColumn, nRow, 1);
		bool	bGameObject = objType == OBJECT_TYPE.OBJECT_GAMEOBJECT;
		bool	bVisible	= true;

		// Crop
		if (m_HierarchyScrollPos.y+m_HierarchyRect.height < boxRect.yMin)
			bVisible = false;
		if (boxRect.yMax < m_HierarchyScrollPos.y)
			bVisible = false;

		// Check Missing
 		CheckMissing(objType, currentTrans, selObj, nColumn, nRow, selIndex);

		// Speed ----------------------------------------------------------------------------
		if (bVisible && objType == OBJECT_TYPE.OBJECT_GAMEOBJECT && selObj == m_SelectedGameObject)
		{
			string	speedName;
 			bool	bEnable		= true;
			Rect	speedRect	= GetGridButtonRect(nColumn, nRow-(m_nGridButtonHeightCount+1), 1);
			Rect	sliderRect	= FXMakerLayout.GetOffsetRect(speedRect, 1, 4, -1, 0);
			Rect	buttonRect	= FXMakerLayout.GetOffsetRect(speedRect, speedRect.width+2, 1, speedRect.height*2+5, 3);
			string	warringStr	= "";

			if ((0 < currentTrans.GetComponentsInChildren<Animation>(true).Length || 0 < m_SelectedGameObject.GetComponentsInChildren<ParticleEmitter>(true).Length))
				warringStr += FXMakerTooltip.GetHsScriptMessage("SCRIPT_WARRING_SCALESPEED");
			ParticleSystem[] pss = currentTrans.GetComponentsInChildren<ParticleSystem>(true);
			if (0 < pss.Length)
			{
				foreach (ParticleSystem ps in pss)
				{
					if (ps.GetComponent<NcParticleSystem>() == null)
					{
						warringStr += FXMakerTooltip.GetHsScriptMessage("SCRIPT_WARRING_SCALESPEED_SHURIKEN");
						break;
					}
				}
			}
			if (warringStr != "")
				DrawWarringIcon(nColumn, nRow-m_nGridButtonHeightCount-1, warringStr);

			NgLayout.GUIEnableBackup(bEnable);
			m_fScriptSpeed		= GUI.HorizontalSlider(sliderRect, m_fScriptSpeed, -1.0f, +1.0f);
			NgLayout.GUIEnableRestore();

			if (0 <= m_fScriptSpeed)
				 speedName = (m_fScriptSpeed+1).ToString("0.00") + "x";
			else speedName = (m_fScriptSpeed/2.0f+1).ToString("0.00") + "x";
			NgLayout.GUIButton(buttonRect, new GUIContent(speedName, FXMakerTooltip.GetHcEffectHierarchy("Speed").tooltip), false);
		}

		// check drop target hover
		bool bdropTargets		= (m_DragObject != null && currentTrans == m_HoverComponentTrans && selObj.GetType() == m_DragObject.GetType());
		bool bdropTargetHover	= (m_DragObject != null && currentTrans == m_HoverComponentTrans && selObj == m_HoverComponent && selObj.GetType() == m_DragObject.GetType());

		// click
//		Rect	absBarRect	= new Rect(m_AbsScrollPos.x + boxRect.x, m_AbsScrollPos.y + boxRect.y, boxRect.width, boxRect.height);
		Rect	absBarRect	= new Rect(m_AbsScrollPos.x, m_AbsScrollPos.y + boxRect.y, m_HierarchyRect.width, boxRect.height);
		float	absStartPos	= FXMakerLayout.GetEffectHierarchyRect().y + m_HierarchyRect.y;
		Vector2	mousePos	= NgLayout.GetGUIMousePosition();

		// hover
		if (absStartPos < absBarRect.y && absBarRect.Contains(mousePos) && GUI.enabled && (FxmPopupManager.inst.IsContainsHierarchyPopup(mousePos) == false))
		{
			SetHoverComponent(currentTrans, selObj);
			if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1))
			{
				FxmPopupManager.inst.HideHierarchyPopup(false);
				SetActiveComponent(currentTrans.gameObject, selObj, false);
				bClick = true;
			}
//			FxmPopupManager.inst.SetScriptTooltip(NgTooltip.GetHcPopup_EffectScript(caption).tooltip);
		}

		// arrow move
		CheckInputArrow(parentObj, parentCom, currentTrans.gameObject, selObj);

		// change color
		ChangeActiveColor(selObj, (!bGameObject && !bScriptComponent), bdropTargets, bClick);
          
		// Drag and Drop
		if (absStartPos < absBarRect.y && absBarRect.Contains(mousePos) && GUI.enabled && (FxmPopupManager.inst.IsContainsHierarchyPopup(mousePos) == false))	// bUnityEngine == false && 
		{
			if (m_HoverComponent == selObj && Input.GetMouseButtonDown(0))
				SetDragObject(selObj, selIndex, currentTrans, caption);
			if (m_DragObject != null && m_DragObject != selObj && m_HoverComponent == selObj && Input.GetMouseButtonUp(0))
			{
				DropObject(currentTrans, selObj, selIndex);
				return false;
			}
		}

	 	// show Box
		if (bVisible)
		{
			GUIStyle	style;
			if (bdropTargets)
			{
				if (bGameObject)
					 style = ((bdropTargetHover) ? m_styleButtonActive : m_styleButton);
				else style = ((bdropTargetHover) ? m_styleBoxActive : m_styleButton);
			} else {
				if (bGameObject)
					 style = ((selObj == m_ActiveComponent) ? m_styleButtonActive : m_styleButton);
				else style = ((selObj == m_ActiveComponent) ? m_styleBoxActive : m_styleBox);
			}
			if (objType == OBJECT_TYPE.OBJECT_MATERIAL || objType == OBJECT_TYPE.OBJECT_ANICLIP)
				FXMakerMain.inst.ToggleGlobalLangSkin(true);
//			GUI.Box(boxRect, new GUIContent(caption, FXMakerMain.HoverCommand_Hierarchy(selObj)), style);
			GUI.Box(boxRect, FXMakerTooltip.GetHcEffectHierarchy_Box(caption, bGameObject, bScriptComponent), style);
			if (bGameObject || objType == OBJECT_TYPE.OBJECT_MATERIAL || objType == OBJECT_TYPE.OBJECT_ANICLIP)
			if (objType == OBJECT_TYPE.OBJECT_MATERIAL || objType == OBJECT_TYPE.OBJECT_ANICLIP)
				FXMakerMain.inst.ToggleGlobalLangSkin(false);

			// enable/disable
			DrawEnableButton(objType, bScriptComponent, boxRect, currentTrans, selObj);

			// AddOn Button
			DrawAddOnButton(objType, boxRect, currentTrans, selObj, selIndex);
		}

		return bClick;
	}
Example #37
0
 private void SetData(OBJECT_TYPE objectType, int ID, int regOrder)
 {
     _objectType = objectType;
     _ID         = ID;
     _regOrder   = regOrder;
 }
Example #38
0
	// Popup CheckHierarchyRightPopup
	void CheckHierarchyRightPopup(OBJECT_TYPE objType, Transform currentTrans, Object selObj, int nSelIndex)
	{
		if (Input.GetMouseButtonDown(1) == false) return;
		FxmPopupManager.inst.ShowHierarchyRightPopup(objType, currentTrans, selObj, nSelIndex);
	}
        private static List <CommandResult> CreateTablesCode(IConnectToDB _Connect, CreateTableDefinition thisDef, bool isChildCall)
        {
            List <CommandResult> results          = new List <CommandResult>();
            ScaffoldStructure    thisAppStructure = new ScaffoldStructure();

            foreach (var thisCurrentObject in thisDef.listOfObjects)
            {
                ER_DDL er_ddl = new ER_DDL();

                List <ColumnStructure> ExistingColumnsList       = new List <ColumnStructure>();
                List <ColumnStructure> MetaColumnsList           = new List <ColumnStructure>();
                List <ColumnStructure> ScaffoldColumns           = new List <ColumnStructure>();
                List <ColumnStructure> ScaffoldColumnsForReOrder = new List <ColumnStructure>();

                DataTable            thisStageObjects   = thisDef.theseObjects.AsEnumerable().Where(r => r.Field <string>(thisDef.BindRootFamilyOnObject).Replace(" ", "_").Replace("-", "_") == thisCurrentObject).CopyToDataTable();
                DataColumnCollection ccthisStageObjects = thisStageObjects.Columns;
                Scaffolds            scaffolds          = new Scaffolds();

                ConnectToDB forCore = _Connect.Copy();
                forCore.Schema = thisDef.desiredSchema;

                string ObjectName           = "";
                string BaseObjectUUID       = "";
                string parentBaseColumnUUID = ""; //Unrelated to Outside
                List <MultiValueChildScaffold> ObjectChildren = new List <MultiValueChildScaffold>();
                if (ccthisStageObjects.Contains(thisDef.BindRootFamilyOnObject))
                {
                    ObjectName     = string.IsNullOrWhiteSpace(ObjectName) ? thisStageObjects.Rows[0].Field <string>(thisDef.BindRootFamilyOnObject).Replace(" ", "_") : ObjectName;
                    BaseObjectUUID = string.IsNullOrWhiteSpace(BaseObjectUUID) ? thisStageObjects.Rows[0].Field <Guid>(thisDef.BindRootColumnUUID).ToString().Replace("-", "_") : BaseObjectUUID;

                    string StageTableName = thisDef.rootTablePrefix + "_" + BaseObjectUUID;
                    string RootColumnName = StageTableName;

                    parentBaseColumnUUID = string.IsNullOrWhiteSpace(parentBaseColumnUUID) ? thisStageObjects.Rows[0].Field <Guid>(thisDef.ThisParent.BindParentRootColumnUUID).ToString().Replace("-", "_") : parentBaseColumnUUID;
                    string ParentTable = thisDef.ThisParent.ParentTablePrefix + "_" + parentBaseColumnUUID;

                    #region Create App Table
                    //if (!thisDef.sourceDatabase.Tables.Contains(ParentTable, forCore.Schema))
                    //{
                    thisDef.ThisParent.BindParentRootColumnFamilyName = ParentTable;
                    thisDef.ThisParent.FkColumnAvailableInBothTable   = ParentTable + "_UUID";
                    //thisDef.ThisParent.BindParentRootColumnUUID = "BASE_" + ParentTable + "_UUID";

                    thisAppStructure = new ScaffoldStructure
                    {
                        _Connect        = forCore.Copy(),
                        Name            = ParentTable,
                        ScaffoldType    = Tools.Box.Clone <string>(thisDef.ThisParent.ParentObjectLayer),
                        ColumnsList     = Tools.Box.Clone <List <ColumnStructure> >(ScaffoldColumns),
                        useIdentityUUID = true,
                        RootColumn      = Tools.Box.Clone <string>(thisDef.ThisParent.BindParentRootColumnFamilyName)
                    };

                    ScaffoldColumns.Add(new ColumnStructure {
                        _Name = "CORES_UUID", _DataType = "guid", _IsNull = false
                    });
                    ScaffoldColumns.Add(new ColumnStructure {
                        _Name = "APPLICATIONS_UUID", _DataType = "guid", _IsNull = false
                    });
                    results.AddRange(scaffolds.SYNC_SCAFFOLD(forCore, ParentTable, thisDef.ThisParent.ParentObjectLayer, ScaffoldColumns, true, thisDef.ThisParent.BindParentRootColumnFamilyName, true));

                    ExistingColumnsList.Clear(); MetaColumnsList.Clear(); ScaffoldColumns.Clear();
                    ExistingColumnsList.Add(new ColumnStructure {
                        _Name = "IDENTITIES_UUID", _DataType = "Guid", _DefaultValue = "", _IsNull = false
                    });

                    IConnectToDB Link2CSA = forCore.Copy();
                    Link2CSA.Schema2 = "CSA";

                    results.AddRange(er_ddl.ADD_KEY_FOREIGN(Link2CSA, "FK_" + ParentTable + "_" + "IDENTITIES", ParentTable, "IDENTITIES", ExistingColumnsList, ExistingColumnsList, true));
                    // results.AddRange(ER_DDL._DROP_VIEW(Link2CSA, ParentTable));
                    results.AddRange(ER_Generate._GENERATE_VIEW(Link2CSA, ParentTable, "Generated"));
                    //}
                    //else
                    //{
                    //    //thisDef.ThisParent.FkColumnAvailableInBothTable = ParentTable + "_UUID";
                    //    thisDef.ThisParent.BuildParentScaffold = false;
                    //}
                    #endregion

                    #region Create Stage Table & Any Children
                    //if (!thisDef.sourceDatabase.Tables.Contains(TableName, forCore.Schema))
                    if (!thisDef.sourceDatabase.Tables.Contains(StageTableName, forCore.Schema) || true)
                    {
                        bool  createdAppScaffold     = false;
                        long? T_OBJECT_SETS_ID       = 0;
                        long? @T_PREV_OBJECT_SETS_ID = 0;
                        if (!createdAppScaffold && thisDef.ThisParent.BuildParentScaffold)
                        {
                            createdAppScaffold = true;
                            forCore.Schema     = thisDef.desiredSchema;
                        }

                        ScaffoldColumns.Add(new ColumnStructure {
                            _Name = "CORES_UUID", _DataType = "guid", _IsNull = false
                        });
                        ScaffoldColumns.Add(new ColumnStructure {
                            _Name = "APPLICATIONS_UUID", _DataType = "guid", _IsNull = false
                        });
                        ScaffoldColumns.Add(new ColumnStructure {
                            _Name = "STAGES_UUID", _DataType = "guid", _IsNull = false
                        });

                        #region Loop Through Every Column
                        for (int i = 0; i < thisStageObjects.AsEnumerable().Count(); i++)
                        {
                            thisDef.desiredSchema = string.IsNullOrWhiteSpace(thisDef.desiredSchema) ? thisStageObjects.Rows[i].Field <string>("CORE_NAME").Replace(" ", "_") : thisDef.desiredSchema;

                            DataRow item = thisStageObjects.Rows[i];
                            string  PROPERTY_NAME, PROPERTY_VALUE, OBJECT_TYPE;
                            AssignValue(out T_OBJECT_SETS_ID, item, out PROPERTY_NAME, out PROPERTY_VALUE, out OBJECT_TYPE);

                            if (T_PREV_OBJECT_SETS_ID != T_OBJECT_SETS_ID)
                            {
                                if (PROPERTY_NAME == "ID")
                                {
                                    ColumnStructure thisColumn  = new ColumnStructure();
                                    bool            addScaffold = true;
                                    if (Array.IndexOf(StringTypes, OBJECT_TYPE.ToLower()) > -1)
                                    {
                                        HandleVarCharTypes(thisStageObjects, ref T_OBJECT_SETS_ID, out T_PREV_OBJECT_SETS_ID, ref i, ref item, ref PROPERTY_NAME, ref PROPERTY_VALUE, ref OBJECT_TYPE, out thisColumn);
                                    }
                                    else if (Array.IndexOf(NumberTypes, OBJECT_TYPE.ToLower()) > -1)
                                    {
                                        HandleNumberTypes(thisStageObjects, ref T_OBJECT_SETS_ID, out T_PREV_OBJECT_SETS_ID, ref i, ref item, ref PROPERTY_NAME, ref PROPERTY_VALUE, ref OBJECT_TYPE, out thisColumn);
                                    }
                                    else if ((Array.IndexOf(DateAndTimeTypes, OBJECT_TYPE.ToLower()) > -1))
                                    {
                                        HandleDateAndTimeTypes(thisStageObjects, ref T_OBJECT_SETS_ID, out T_PREV_OBJECT_SETS_ID, ref i, ref item, ref PROPERTY_NAME, ref PROPERTY_VALUE, ref OBJECT_TYPE, out thisColumn);
                                    }
                                    else if ((Array.IndexOf(ByteTypes, OBJECT_TYPE.ToLower()) > -1))
                                    {
                                        HandleByteTypes(thisStageObjects, ref T_OBJECT_SETS_ID, out T_PREV_OBJECT_SETS_ID, ref i, ref item, ref PROPERTY_NAME, ref PROPERTY_VALUE, ref OBJECT_TYPE, out thisColumn);
                                    }
                                    else if ((Array.IndexOf(MultiTypes, OBJECT_TYPE.ToLower()) > -1))
                                    {
                                        #region Define Multi Object for post creation.
                                        List <ColumnStructure> TheseChildColumns = new List <ColumnStructure>();
                                        var objectName = thisStageObjects.Rows[i].Field <string>("PROPERTY_VALUE");
                                        TheseChildColumns.Add(new ColumnStructure {
                                            _Name = "CORES_UUID", _DataType = "guid", _IsNull = false
                                        });
                                        TheseChildColumns.Add(new ColumnStructure {
                                            _Name = "APPLICATIONS_UUID", _DataType = "guid", _IsNull = false
                                        });
                                        TheseChildColumns.Add(new ColumnStructure {
                                            _Name = "STAGES_UUID", _DataType = "guid", _IsNull = false
                                        });
                                        TheseChildColumns.Add(new ColumnStructure {
                                            _Name = objectName, _DataType = "Characters(MAX)", _IsNull = false
                                        });
                                        ObjectChildren.Add(new MultiValueChildScaffold
                                        {
                                            SchemaName           = thisDef.desiredSchema,
                                            TableName            = "O_" + thisStageObjects.Rows[i].Field <Guid>("BASE_OBJECT_SETS_UUID").ToString().Replace(" ", "_").Replace("-", "_"),
                                            ObjectLayer          = "Design",
                                            RootColumnName       = PROPERTY_VALUE,
                                            ParentRootColumnName = RootColumnName,
                                            ScaffoldColumns      = TheseChildColumns
                                        });

                                        addScaffold = false;
                                        #endregion
                                    }

                                    if (addScaffold)
                                    {
                                        ScaffoldColumns.Add(thisColumn);
                                    }
                                }
                            }

                            T_PREV_OBJECT_SETS_ID = T_OBJECT_SETS_ID;
                        }
                        #endregion
                        forCore.Schema = thisDef.desiredSchema;
                    }


                    if (thisStageObjects.AsEnumerable().Count() > 0 && !string.IsNullOrWhiteSpace(BaseObjectUUID) && !string.IsNullOrWhiteSpace(parentBaseColumnUUID))
                    {
                        ScaffoldColumnsForReOrder = new List <ColumnStructure>();
                        ScaffoldColumnsForReOrder.Add(new ColumnStructure {
                            _Name = thisDef.ThisParent.FkColumnAvailableInBothTable, _DataType = thisDef.ThisParent.FkRelatedColumnType, _IsNull = false
                        });
                        ScaffoldColumnsForReOrder.AddRange(ScaffoldColumns);

                        ScaffoldColumns = ScaffoldColumnsForReOrder;

                        forCore.Schema = thisDef.desiredSchema;

                        ScaffoldStructure thisStage = new ScaffoldStructure
                        {
                            _Connect        = forCore.Copy(),
                            Name            = StageTableName,
                            ScaffoldType    = Tools.Box.Clone <string>(thisDef.objectLayer),
                            ColumnsList     = Tools.Box.Clone <List <ColumnStructure> >(ScaffoldColumns),
                            useIdentityUUID = true,
                            RootColumn      = Tools.Box.Clone <string>(RootColumnName)
                        };

                        results.AddRange(scaffolds.SYNC_SCAFFOLD(forCore, StageTableName, thisDef.objectLayer, ScaffoldColumns, true, RootColumnName, true));

                        #region Add Foreign Key to Parent Application Table
                        forCore.Schema2 = thisDef.desiredSchema;
                        ExistingColumnsList.Clear(); MetaColumnsList.Clear(); ScaffoldColumns.Clear();
                        ExistingColumnsList.Add(new ColumnStructure {
                            _Name = thisDef.ThisParent.FkColumnAvailableInBothTable, _DataType = thisDef.ThisParent.FkRelatedColumnType, _DefaultValue = "", _IsNull = false
                        });

                        results.AddRange(er_ddl.ADD_KEY_FOREIGN(forCore, "FK_" + StageTableName, StageTableName, ParentTable, ExistingColumnsList, ExistingColumnsList, true));
                        #endregion

                        #region Add Foreign Key to Identities
                        ExistingColumnsList.Clear(); MetaColumnsList.Clear(); ScaffoldColumns.Clear();
                        ExistingColumnsList.Add(new ColumnStructure {
                            _Name = "IDENTITIES_UUID", _DataType = "Guid", _DefaultValue = "", _IsNull = false
                        });

                        // IConnectToDB Link2CSA = forCore.Copy();
                        Link2CSA         = forCore.Copy();
                        Link2CSA.Schema2 = "CSA";
                        results.AddRange(er_ddl.ADD_KEY_FOREIGN(Link2CSA, "FK_" + StageTableName + "_IDENTITIES", StageTableName, "IDENTITIES", ExistingColumnsList, ExistingColumnsList, false));
                        #endregion

                        #region Create Each Multi Object Table
                        foreach (MultiValueChildScaffold item in ObjectChildren)
                        {
                            ScaffoldStructure thisMultiObject = new ScaffoldStructure
                            {
                                _Connect        = forCore.Copy(),
                                Name            = Tools.Box.Clone <string>(item.TableName),
                                ScaffoldType    = Tools.Box.Clone <string>(item.ObjectLayer),
                                ColumnsList     = Tools.Box.Clone <List <ColumnStructure> >(item.ScaffoldColumns),
                                useIdentityUUID = true,
                                RootColumn      = Tools.Box.Clone <string>(item.TableName)
                            };

                            thisStage.children.Add(thisMultiObject);

                            List <ColumnStructure> itemScaffoldColumnsForReOrder = new List <ColumnStructure>();

                            itemScaffoldColumnsForReOrder.Add(new ColumnStructure {
                                _Name = StageTableName + "_UUID", _DataType = thisDef.ThisParent.FkRelatedColumnType, _IsNull = false
                            });
                            itemScaffoldColumnsForReOrder.AddRange(item.ScaffoldColumns);
                            item.ScaffoldColumns = itemScaffoldColumnsForReOrder;

                            results.AddRange(scaffolds.SYNC_SCAFFOLD(forCore, item.TableName, item.ObjectLayer, item.ScaffoldColumns, true, item.TableName, true));

                            #region Add Foreign to Parent Stage Table
                            ExistingColumnsList.Clear(); MetaColumnsList.Clear(); ScaffoldColumns.Clear();
                            // ExistingColumnsList.Add(new ColumnStructure { _Name = item.ParentRootColumnName, _DataType = "Guid", _DefaultValue = "", _IsNull = false });
                            ExistingColumnsList.Add(new ColumnStructure {
                                _Name = StageTableName + "_UUID", _DataType = thisDef.ThisParent.FkRelatedColumnType, _DefaultValue = "", _IsNull = false
                            });

                            results.AddRange(er_ddl.ADD_KEY_FOREIGN(forCore, "FK_" + item.TableName + "_" + item.RootColumnName, item.TableName, StageTableName, ExistingColumnsList, ExistingColumnsList, true));
                            #endregion

                            #region Add Foreign Key to Identities
                            ExistingColumnsList.Clear(); MetaColumnsList.Clear(); ScaffoldColumns.Clear();
                            ExistingColumnsList.Add(new ColumnStructure {
                                _Name = "IDENTITIES_UUID", _DataType = "Guid", _DefaultValue = "", _IsNull = false
                            });

                            IConnectToDB Link2CSA2 = forCore.Copy();
                            Link2CSA2.Schema2 = "CSA";
                            results.AddRange(er_ddl.ADD_KEY_FOREIGN(Link2CSA2, "FK_" + item.TableName + "_" + "IDENTITIES", item.TableName, "IDENTITIES", ExistingColumnsList, ExistingColumnsList, false));
                            #endregion

                            //results.AddRange(ER_DDL._DROP_VIEW(forCore, item.TableName));
                            // results.AddRange(ER_Generate._GENERATE_VIEW(forCore, item.TableName, "Generated"));
                        }

                        thisAppStructure.children.Add(thisStage);

                        //results.AddRange(ER_DDL._DROP_VIEW(forCore, StageTableName));
                        results.AddRange(ER_Generate._GENERATE_VIEW_WITH_CHILDREN(forCore, StageTableName, "Generated"));
                        #endregion
                    }

                    #endregion
                }
                else
                {
                    //IF CASTGOOP Not Present
                    //Update Logic
                }
            }

            return(results);
        }
Example #40
0
 protected virtual void Visit_OBJECT_TYPE(OBJECT_TYPE node)
 {
 }