예제 #1
0
        public void AddArea(IntGrid3 area, DesignationType type)
        {
            int origCount = m_map.Count;

            var locations = area.Range().Where(this.Environment.Contains);

            foreach (var p in locations)
            {
                if (GetTileValid(p, type) == false)
                    continue;

                DesignationData oldData;

                if (m_map.TryGetValue(p, out oldData))
                {
                    if (oldData.Type == type)
                        continue;

                    RemoveJob(p);
                }

                var data = new DesignationData(type);
                data.Reachable = GetTileReachable(p, type);
                m_map[p] = data;

                this.Environment.OnTileExtraChanged(p);
            }

            if (origCount == 0 && m_map.Count > 0)
            {
                this.Environment.MapTileTerrainChanged += OnEnvironmentMapTileTerrainChanged;
                this.Environment.World.TickStarting += OnTickStartEvent;
            }
        }
예제 #2
0
	public void Init( DesignationData data)
	{
		if( null == data)
		{
			name.Text = string.Empty;
			require.Text = string.Empty;
			effect.Text = string.Empty;
			rankPoint.Text = string.Empty;
		}
		else
		{
			name.Text = AsTableManager.Instance.GetTbl_String( data.name);
			require.Text = AsTableManager.Instance.GetTbl_String( data.desc);
			effect.Text = AsTableManager.Instance.GetTbl_String( data.effectDesc);
			rankPoint.Text = data.rankPoint.ToString();
		}
	}
예제 #3
0
	public void Init( DesignationData data)
	{
		isPossessed = AsDesignationManager.Instance.IsObtainedDesignation( data.id);
		
		if( true == isPossessed)
		{
			nameText.Color = possessedColor;
			requireText.Color = possessedColor;
			effectText.Color = possessedColor;
			rankText.Color = possessedColor;
		}
		else
		{
			nameText.Color = unPossessedColor;
			requireText.Color = unPossessedColor;
			effectText.Color = unPossessedColor;
			rankText.Color = unPossessedColor;
			
			UIListButton listBtn = gameObject.GetComponent<UIListButton>();
			listBtn.SetControlState( UIButton.CONTROL_STATE.DISABLED);
		}
		
		if( data.id == AsDesignationManager.Instance.CurrentID)
		{
			nameText.Color = assignColor;
			requireText.Color = assignColor;
			effectText.Color = assignColor;
			rankText.Color = assignColor;
		}
		
		nameText.Text = AsTableManager.Instance.GetTbl_String( data.name);
		requireText.Text = AsTableManager.Instance.GetTbl_String( data.desc);
		effectText.Text = AsTableManager.Instance.GetTbl_String( data.effectDesc);
		rankText.Text = data.rankPoint.ToString();
		
		this.data = data;

		SetRewardItem ();

		ReleaseFocus ();
	}
예제 #4
0
        public void AddArea(IntGrid3 area, DesignationType type)
        {
            int origCount = m_map.Count;

            var locations = area.Range().Where(this.Environment.Contains);

            foreach (var p in locations)
            {
                if (GetTileValid(p, type) == false)
                {
                    continue;
                }

                DesignationData oldData;

                if (m_map.TryGetValue(p, out oldData))
                {
                    if (oldData.Type == type)
                    {
                        continue;
                    }

                    RemoveJob(p);
                }

                var data = new DesignationData(type);
                data.ReachableSimple = GetTileReachableSimple(p, type);
                m_map[p]             = data;

                this.Environment.OnTileExtraChanged(p);
            }

            if (origCount == 0 && m_map.Count > 0)
            {
                this.Environment.MapTileTerrainChanged += OnEnvironmentMapTileTerrainChanged;
                this.Environment.World.TickStarted     += OnTickStartEvent;
            }
        }
예제 #5
0
	public void LoadTable()
	{
		try
		{
			string strTableName = "Table/SubTitleTable";
			
			GameObject main = GameObject.Find( "GameMain");
			if( main != null )
			{
				AsGameMain asMain = main.GetComponent<AsGameMain>();
			
				GAME_LANGUAGE gameLanguage = asMain.GetGameLanguage();
				switch( gameLanguage)
				{
				case GAME_LANGUAGE.LANGUAGE_KOR:
					strTableName = "Table/SubTitleTable";
					break;
					
				case GAME_LANGUAGE.LANGUAGE_JAP:
					strTableName = "Table/SubTitleTable_jap";
					break;
				}
			}
			
		    XmlElement root = AsTableBase.GetXmlRootElement( strTableName );
		    XmlNodeList nodes = root.ChildNodes;

			foreach( XmlNode node in nodes)
		    {
				DesignationData designation = new DesignationData( node);
				allDesignations.Add( designation.id, designation);
				
				switch( designation.eCategory)
				{
				case eDesignationCategory.Character:	characterDesignations.Add( designation.id);	break;
				case eDesignationCategory.Monster:	monsterDesignations.Add( designation.id);	break;
				case eDesignationCategory.Area:	areaDesignations.Add( designation.id);	break;
				case eDesignationCategory.Item:	itemDesignations.Add( designation.id);	break;
				case eDesignationCategory.Quest:	questDesignations.Add( designation.id);	break;
				case eDesignationCategory.Friends:	friendsDesignations.Add( designation.id);	break;
				case eDesignationCategory.Unique:	uniqueDesignations.Add( designation.id);	break;
				case eDesignationCategory.Etc:	etcDesignations.Add( designation.id);	break;
				case eDesignationCategory.Blind:	blindDesignations.Add( designation.id);	break;
				default:
					Debug.LogError( "Invalid designation category : " + designation.eCategory);
					break;
				}
		    }
		}
		catch( System.Exception e)
		{
			Debug.LogError(e);
			AsUtil.ShutDown( "AsDesignationManager:LoadTable");
		}
	}