1. 程式人生 > >C# 標識類

C# 標識類

<span style="font-family: Arial, Helvetica, sans-serif;">using UnityEngine;</span>
using System.Collections;

public class Flag 
{

	int[] m_flags = new int[2];
	public void SetFlag(int nValue,int index = 0)
	{
		m_flags[index] |= nValue;
	}
	public void SetFlagByBit(int nBit,int index = 0)
	{
		m_flags[index] |= ( 1<< nBit);
	}
	public bool CheckFlag(int nValue,int index = 0)
	{
		return (m_flags[index]&nValue)!=0;
	}
	public bool CheckFlagByBit(int nBit,int index = 0)
	{
		return (m_flags[index] & (1<<nBit))!=0;
	}

	public void ClearFlag(int nValue,int index = 0)
	{
		m_flags[index] &= (~nValue);
	}
	public void ClearFlagByBit(int nBit,int index = 0)
	{
		m_flags[index] &= (~(1<<nBit));
	}
	public void ClearAllFlag(int index = 0)
	{
		m_flags[index] = 0;
	}
}
用法:直接繼承這個類去實現裡面的方法
using UnityEngine;
using System.Collections;


public static class testDataFlag
{
    public const int IntTemp = 1;
}


public class testData : Flag 


{
    private static testData instance;
    public static testData Instance
    {
        get
        {
            if (instance == null)
            {
                instance = new testData();
            }
            return instance;
        }
    }


    public void Method()
    {
        SetFlag(testDataFlag.IntTemp);
    }
}
呼叫:
using UnityEngine;
using System.Collections;


public class test : MonoBehaviour 
{


<span style="white-space:pre">	</span>// Use this for initialization
<span style="white-space:pre">	</span>void Start () 
    {
        testData.Instance.Method();
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>// Update is called once per frame
<span style="white-space:pre">	</span>void Update () 
    {
        if (testData.Instance.CheckFlag(testDataFlag.IntTemp))
        {
            Debug.LogError("小唐");
            testData.Instance.ClearFlag(testDataFlag.IntTemp);
        }
<span style="white-space:pre">	</span>}
}

相關推薦

C# 標識

<span style="font-family: Arial, Helvetica, sans-serif;">using UnityEngine;</span>using System.Collections; public class Fla

c# 生成條形碼標識

using System;using System.IO;using System.Drawing;using System.Web.UI;namespace WebUI.WebControl{ /// <summary> /// Class1 的摘要說明。 //

C# Array的淺復制Clone()與Copy()的差別

類型轉換 靜態方法 eof copy copies 重載 arr object c dex 1 Array.Clone方法 命名空間:System 程序集:mscorlib 語法: public Object Clone() Array的淺表副本僅復制Arra

C# Directory的操作

所有 stat director pub 文件 book 訪問 rect pat Directory類位於System.IO 命名空間。Directory類提供了在目錄和子目錄中進行創建移動和列舉操作的靜態方法。此外,你還可以訪問和操作各種各樣的目錄屬性,例如創建或

[轉]C# 將的內容寫成JSON格式的字符串

json格式 true namespace reading bject mar ole 程序代碼 img 將類的內容寫入到JSON格式的字符串中 本例中建立了Person類,賦值後將類中內容寫入到字符串中 運行本代碼需要添加引用動態庫Newtonsoft.Json 程

C# Graphics詳解

一段 特定 roc sta 指定順序 rendering 嘗試 osi intersect Brush 類.NET Framework 4定義用於填充圖形形狀(如矩形、橢圓、餅形、多邊形和封閉路徑)的內部的對象。 屬於命名空間: System.Drawing這是一個抽象基

c++ string的完整實現!!!

class sun double ref basic 更新 方便 iterator locate 本文實現了c++ STL中的basic_string模板類,當然。通過typedef也就實現了string類和wstring類。限於篇幅,實現代碼中用到了標準庫的char_

C++string用法

last emp 進行 iii str2 line rep har ddd 1.string類的輸入操作(string類重載運算符operator>>用於輸入,同樣重載運算符operator<<用於輸出操作)operator是C++的關鍵字,它和運算

C# 集合

deque remove sharp 機制 sta 使用 進行 numbers eat ARRAYLIST 集合類   Remove方法從Arraylist中移除一個元素,Arraylist重新排序,Remove(value)、RemoveAt(index)   Add(v

SQLite-C#-幫助

created class false apt 影響 scala text emp 集合 1 public static class SQLiteHelper 2 { 3 private static string connec

C++ 用封裝實現隊列

pan pub pre () turn ear als sin push 1 #include<stdlib.h> 2 #include <iostream> 3 using std::cout; 4 using std::end

C#隨機數

div fff num display region ati length 對象 隨機數 using System; namespace DotNet.Utilities { public class BaseRandom { public static int Mi

【學習筆記】C# 靜態

實例化 namespace [] line str 過程 ole test 數據 靜態修飾符 用static修飾的成員是靜態成員 靜態成員只能由類來調用 用static修飾的類是靜態類 靜態類不能實例化,只能包含靜態成員和const常量 在內存中一共有五個區域 1

C# 關於型轉換 面試題

clas con 信息 存儲 key 存在 lan pos tar 分別分析一下兩種寫法是否正確。假設不對。請說明原因 寫法一: short s=1; s = s + 1; 寫法二: short s=1; s += 1;解答: 寫法一不對,

C++自動型轉化--特殊構造函數方法和重載的運算符方法

allow pub tdi exp 阻止 stdio.h public stream esp 一、重載運算符法 #include <stdio.h> #include <iostream> class Three { int i; pub

C/C++與C#之間型的對應

border system pcs left 類名 gid tab out param 最近在研究pos打印機相關功能, 調用winapi以及跨進程通信等,都涉及到類型之間的轉換。 C/C++ C# HANDLE, LPDWOR

C++ list 學習筆記(轉載)

r++ 最後一個元素 defined 允許 img ear friend 合並兩個鏈表 find() 雙向循環鏈表list list是雙向循環鏈表,,每一個元素都知道前面一個元素和後面一個元素。在STL中,list和vector一樣,是兩個常被使用的容器

C++空

c++ tor emp 運算符 per 析構 ++ pan 有一個 class Empty { public: Empty(); // 缺省構造函數 Empty( const Empty& ); // 拷貝構造函數 ~

C++模板頭文件和實現文件分離

證明 about compile strong 驗證 title htm -c itl http://www.cnblogs.com/lvdongjie/p/4288373.html 如何實現C++模板類頭文件和實現文件分離,這個問題和編譯器有關。 引用<<

C++:中兩個易被忽略的默認函數

ont names namespace tor img c++編譯 style div 顯式 C++的自定義類中有六個默認的函數,即如果用戶沒有顯式定義這些函數時,C++編譯器會類中生成這些函數的默認形式。除了大家所熟知的構造函數、拷貝構造函數、賦值函數和析構函數外,C++