示例#1
0
    private bool isClickable = true;            // When the card is showing/animating lock the click, internal check of card state

    public void Initialize(ImmutableDataMemoryTrigger triggerData, bool isSprite)
    {
        triggerName = triggerData.Name;

        tweeningCoverParent = coverSprite.transform.parent.gameObject;

        // Set components on start
        if (isSprite)
        {
            triggerSprite.sprite  = SpriteCacheManager.GetSprite(triggerData.SpriteName);
            triggerSprite.name    = triggerData.SpriteName;
            tweeningContentParent = triggerSprite.transform.parent.parent.gameObject;           // Get grandfather
            triggerLabelLocalize.transform.parent.gameObject.SetActive(false);                  // Disable the unused half
        }
        else
        {
            triggerLabelLocalize.key = triggerData.DisplayKey;
            triggerLabelLocalize.Localize();
            tweeningContentParent = triggerLabelLocalize.transform.parent.gameObject;           // Get grandfather
            triggerSprite.transform.parent.parent.gameObject.SetActive(false);                  // Disable the unused half
        }

        // Hide the original card content until its clicked
        tweeningContentParent.SetActive(false);

        // Assign the respective trigger type particle
        GameObject particlePrefab = Resources.Load(triggerData.TypeParticlePrefab) as GameObject;

        triggerTypeParticle = GameObjectUtils.AddChild(gameObject, particlePrefab).GetComponent <ParticleSystem>();
    }
    protected override void XMLNodeHandler(string id, IXMLNode xmlNode, Hashtable hashData, string errorMessage)
    {
        ImmutableDataMemoryTrigger data = new ImmutableDataMemoryTrigger(id, xmlNode, errorMessage);

        // Store the data
        if (hashData.ContainsKey(id))
        {
            Debug.LogError(errorMessage + "Duplicate keys!");
        }
        else
        {
            hashData.Add(id, data);
        }
    }